mirror of
https://github.com/reactos/reactos.git
synced 2024-06-30 01:42:30 +00:00
Fix building of libcntpr on ppc.
We now get a proper bootcd image. svn path=/trunk/; revision=28803
This commit is contained in:
parent
4149385d00
commit
2123b0666e
|
@ -9,7 +9,7 @@
|
|||
|
||||
<xi:include href="ReactOS-generic.rbuild" />
|
||||
|
||||
<property name="OFWLDR_LINKFORMAT" value="-L$(INTERMEDIATE)/lib/ppcmmu -lppcmmu_code"/>
|
||||
<property name="OFWLDR_LINKFORMAT" value="-L$(INTERMEDIATE)/lib/ppcmmu -lppcmmu_code -lppcmmu -nostdlib -nostartfiles"/>
|
||||
|
||||
<define name="_M_PPC" />
|
||||
<define name="_PPC_" />
|
||||
|
|
|
@ -61,7 +61,6 @@ extern boot_infos_t BootInfo;
|
|||
|
||||
#define BAT_GRANULARITY (64 * 1024)
|
||||
#define KernelMemorySize (8 * 1024 * 1024)
|
||||
#define KernelEntryPoint (KernelEntry - KERNEL_BASE_PHYS) + KernelBase
|
||||
#define XROUNDUP(x,n) ((((ULONG)x) + ((n) - 1)) & (~((n) - 1)))
|
||||
|
||||
/* Load Address of Next Module */
|
||||
|
@ -77,7 +76,7 @@ ULONG_PTR KernelBase;
|
|||
BOOLEAN PaeModeEnabled;
|
||||
|
||||
/* Kernel Entrypoint in Physical Memory */
|
||||
ULONG_PTR KernelEntry;
|
||||
ULONG_PTR KernelEntryPoint;
|
||||
|
||||
/* Dummy to bring in memmove */
|
||||
PVOID memmove_dummy = memmove;
|
||||
|
@ -127,7 +126,7 @@ NTAPI
|
|||
FrLdrStartup(ULONG Magic)
|
||||
{
|
||||
KernelEntryFn KernelEntryAddress =
|
||||
(KernelEntryFn)(KernelEntry + KernelBase);
|
||||
(KernelEntryFn)(KernelEntryPoint + KernelBase);
|
||||
ULONG_PTR i, j, page, count;
|
||||
PCHAR ModHeader;
|
||||
boot_infos_t *LocalBootInfo = &BootInfo;
|
||||
|
@ -459,7 +458,7 @@ FrLdrMapModule(FILE *KernelImage, PCHAR ImageName, PCHAR MemLoadAddr, ULONG Kern
|
|||
}
|
||||
|
||||
ImageSize = SWAPD(NtHeader->OptionalHeader.SizeOfImage);
|
||||
KernelEntry = SWAPD(NtHeader->OptionalHeader.AddressOfEntryPoint);
|
||||
KernelEntryPoint = SWAPD(NtHeader->OptionalHeader.AddressOfEntryPoint);
|
||||
printf("Total image size is %x\n", ImageSize);
|
||||
|
||||
/* Handle relocation sections */
|
||||
|
@ -677,6 +676,24 @@ FrLdrLoadModule(FILE *ModuleImage,
|
|||
return(ModuleData->ModStart);
|
||||
}
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
FrLdrMapImage(IN FILE *Image, IN PCHAR ShortName, IN ULONG ImageType)
|
||||
{
|
||||
PVOID Result;
|
||||
|
||||
if (ImageType == 1)
|
||||
{
|
||||
if(FrLdrMapKernel(Image))
|
||||
return (PVOID)KernelBase;
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
else
|
||||
Result = (PVOID)FrLdrLoadModule(Image, ShortName, NULL);
|
||||
return Result;
|
||||
}
|
||||
|
||||
ULONG_PTR
|
||||
NTAPI
|
||||
FrLdrCreateModule(LPCSTR ModuleName)
|
||||
|
|
|
@ -61,7 +61,7 @@ void PpcPrepVideoGetDisplaySize( PULONG Width, PULONG Height, PULONG Depth )
|
|||
*Depth = 16;
|
||||
}
|
||||
|
||||
void PpcPrepVideoPrepareForReactOS()
|
||||
void PpcPrepVideoPrepareForReactOS(BOOLEAN setup)
|
||||
{
|
||||
pci_setup(&pci1_desc);
|
||||
}
|
||||
|
|
|
@ -22,5 +22,6 @@
|
|||
<library>rossym</library>
|
||||
<library>cmlib</library>
|
||||
<library>rtl</library>
|
||||
<library>libcntpr</library>
|
||||
</module>
|
||||
</if>
|
||||
|
|
|
@ -57,8 +57,16 @@
|
|||
<compilerflag>-fno-zero-initialized-in-bss</compilerflag>
|
||||
<compilerflag>-Os</compilerflag>
|
||||
<file>boot.s</file>
|
||||
<file>loader.c</file>
|
||||
<file>mach.c</file>
|
||||
<file>mboot.c</file>
|
||||
<file>ofw.c</file>
|
||||
<file>ofw_util.s</file>
|
||||
<file>ofw_calls.s</file>
|
||||
<file>prep.c</file>
|
||||
<file>prep_ide.c</file>
|
||||
<file>prep_pci.c</file>
|
||||
<file>prep_vga.c</file>
|
||||
</module>
|
||||
</if>
|
||||
</directory>
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
<define name="_NTSYSTEM_" />
|
||||
<define name="_NTDLLBUILD_" />
|
||||
<define name="_SEH_NO_NATIVE_NLG" />
|
||||
<define name="__MINGW_IMPORT">"extern __attribute__ ((dllexport))"</define>
|
||||
<if property="ARCH" value="i386">
|
||||
<define name="__MINGW_IMPORT">"extern __attribute__ ((dllexport))"</define>
|
||||
</if>
|
||||
<include base="libcntpr">.</include>
|
||||
|
||||
<directory name="except">
|
||||
|
|
|
@ -1,74 +1,7 @@
|
|||
#!/bin/sh -v
|
||||
|
||||
export PATH=$PATH:/usr/local/pkg/reactos-powerpc/bin
|
||||
make -C lib/mmu
|
||||
powerpc-unknown-linux-gnu-ld \
|
||||
-g -nostartfiles -nostdlib -N -Ttext=0xe00000 \
|
||||
-o freeldr.elf \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/boot.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/ofw_util.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/ofw_calls.o \
|
||||
obj-ppc/boot/freeldr/freeldr/cache/blocklist.o \
|
||||
obj-ppc/boot/freeldr/freeldr/cache/cache.o \
|
||||
obj-ppc/boot/freeldr/freeldr/comm/rs232.o \
|
||||
obj-ppc/boot/freeldr/freeldr/disk/disk.o \
|
||||
obj-ppc/boot/freeldr/freeldr/disk/partition.o \
|
||||
obj-ppc/boot/freeldr/freeldr/fs/ext2.o \
|
||||
obj-ppc/boot/freeldr/freeldr/fs/fat.o \
|
||||
obj-ppc/boot/freeldr/freeldr/fs/fs.o \
|
||||
obj-ppc/boot/freeldr/freeldr/fs/fsrec.o \
|
||||
obj-ppc/boot/freeldr/freeldr/fs/iso.o \
|
||||
obj-ppc/boot/freeldr/freeldr/fs/ntfs.o \
|
||||
obj-ppc/boot/freeldr/freeldr/inifile/ini_init.o \
|
||||
obj-ppc/boot/freeldr/freeldr/inifile/inifile.o \
|
||||
obj-ppc/boot/freeldr/freeldr/inifile/parse.o \
|
||||
obj-ppc/boot/freeldr/freeldr/math/libgcc2.o \
|
||||
obj-ppc/boot/freeldr/freeldr/mm/meminit.o \
|
||||
obj-ppc/boot/freeldr/freeldr/mm/mm.o \
|
||||
obj-ppc/boot/freeldr/freeldr/reactos/registry.o \
|
||||
obj-ppc/boot/freeldr/freeldr/reactos/binhive.o \
|
||||
obj-ppc/boot/freeldr/freeldr/reactos/arcname.o \
|
||||
obj-ppc/boot/freeldr/freeldr/reactos/reactos.o \
|
||||
obj-ppc/boot/freeldr/freeldr/rtl/list.o \
|
||||
obj-ppc/boot/freeldr/freeldr/rtl/libsupp.o \
|
||||
obj-ppc/boot/freeldr/freeldr/ui/gui.o \
|
||||
obj-ppc/boot/freeldr/freeldr/ui/tui.o \
|
||||
obj-ppc/boot/freeldr/freeldr/ui/tuimenu.o \
|
||||
obj-ppc/boot/freeldr/freeldr/ui/ui.o \
|
||||
obj-ppc/boot/freeldr/freeldr/video/bank.o \
|
||||
obj-ppc/boot/freeldr/freeldr/video/fade.o \
|
||||
obj-ppc/boot/freeldr/freeldr/video/palette.o \
|
||||
obj-ppc/boot/freeldr/freeldr/video/pixel.o \
|
||||
obj-ppc/boot/freeldr/freeldr/video/video.o \
|
||||
obj-ppc/boot/freeldr/freeldr/freeldr.o \
|
||||
obj-ppc/boot/freeldr/freeldr/debug.o \
|
||||
obj-ppc/boot/freeldr/freeldr/version.o \
|
||||
obj-ppc/boot/freeldr/freeldr/cmdline.o \
|
||||
obj-ppc/boot/freeldr/freeldr/machine.o \
|
||||
obj-ppc/boot/freeldr/freeldr/windows/conversion.o \
|
||||
obj-ppc/boot/freeldr/freeldr/windows/peloader.o \
|
||||
obj-ppc/boot/freeldr/freeldr/windows/winldr.o \
|
||||
obj-ppc/boot/freeldr/freeldr/windows/wlmemory.o \
|
||||
obj-ppc/boot/freeldr/freeldr/windows/wlregistry.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/mach.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/ofw.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/mboot.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/loader.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep_ide.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep_pci.o \
|
||||
obj-ppc/boot/freeldr/freeldr/arch/powerpc/prep_vga.o \
|
||||
obj-ppc/boot/freeldr/freeldr/bootmgr.o \
|
||||
obj-ppc/boot/freeldr/freeldr/drivemap.o \
|
||||
obj-ppc/boot/freeldr/freeldr/miscboot.o \
|
||||
obj-ppc/boot/freeldr/freeldr/options.o \
|
||||
obj-ppc/boot/freeldr/freeldr/linuxboot.o \
|
||||
obj-ppc/boot/freeldr/freeldr/oslist.o \
|
||||
obj-ppc/boot/freeldr/freeldr/custom.o \
|
||||
obj-ppc/lib/rossym/rossym.a \
|
||||
obj-ppc/lib/cmlib/cmlib.a \
|
||||
obj-ppc/lib/string/string.a \
|
||||
obj-ppc/lib/rtl/rtl.a \
|
||||
obj-ppc/lib/mmu/libmmu.a \
|
||||
obj-ppc/lib/mmu/libmmu_code.a \
|
||||
/usr/local/pkg/reactos-powerpc/lib/libgcc.a
|
||||
-o freeldr.elf output-ppc/boot/freeldr/freeldr/ofwldr \
|
||||
-Lobj-ppc/lib/ppcmmu -lppcmmu_code -lppcmmu
|
||||
|
|
|
@ -146,7 +146,7 @@ MingwModuleHandler::PassThruCacheDirectory (const FileLocation* fileLocation )
|
|||
MingwModuleHandler::GetTargetDirectoryTree (
|
||||
const Module& module )
|
||||
{
|
||||
if ( module.type == StaticLibrary || module.type == BootProgram )
|
||||
if ( module.type == StaticLibrary )
|
||||
return backend->intermediateDirectory;
|
||||
return backend->outputDirectory;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue