Author: arty Date: Mon Sep 3 10:29:13 2007 New Revision: 28803
URL: http://svn.reactos.org/svn/reactos?rev=28803&view=rev Log: Fix building of libcntpr on ppc. We now get a proper bootcd image.
Modified: branches/powerpc/reactos/lib/mmu/mmuobject.c branches/powerpc/reactos/lib/mmu/mmutest.c branches/powerpc/reactos/lib/mmu/ppcmmu.mak trunk/reactos/ReactOS-ppc.rbuild trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild trunk/reactos/tools/ppc.lost+found/link-freeldr trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
Modified: branches/powerpc/reactos/lib/mmu/mmuobject.c URL: http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/mmuobjec... ============================================================================== --- branches/powerpc/reactos/lib/mmu/mmuobject.c (original) +++ branches/powerpc/reactos/lib/mmu/mmuobject.c Mon Sep 3 10:29:13 2007 @@ -1,6 +1,6 @@ #include <stdarg.h> -#include "mmu.h" -#include "mmuutil.h" +#include "ppcmmu/mmu.h" +#include "ppcmmu/mmuutil.h" #include "mmuobject.h" #include "helper.h"
Modified: branches/powerpc/reactos/lib/mmu/mmutest.c URL: http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/mmutest.... ============================================================================== --- branches/powerpc/reactos/lib/mmu/mmutest.c (original) +++ branches/powerpc/reactos/lib/mmu/mmutest.c Mon Sep 3 10:29:13 2007 @@ -1,5 +1,5 @@ -#include "mmu.h" -#include "mmuutil.h" +#include "ppcmmu/mmu.h" +#include "ppcmmu/mmuutil.h" #include "mmuobject.h"
int mmunitest()
Modified: branches/powerpc/reactos/lib/mmu/ppcmmu.mak URL: http://svn.reactos.org/svn/reactos/branches/powerpc/reactos/lib/mmu/ppcmmu.m... ============================================================================== --- branches/powerpc/reactos/lib/mmu/ppcmmu.mak (original) +++ branches/powerpc/reactos/lib/mmu/ppcmmu.mak Mon Sep 3 10:29:13 2007 @@ -12,20 +12,20 @@ $(AR) cr $@ $O/mmuutil.o
$O/mmuutil.o: $S/mmuutil.c - $(CC) -g -c $S/mmuutil.c + $(CC) -Iinclude/reactos/libs -g -c -o $@ $S/mmuutil.c
$O/libppcmmu_code.a: $O/mmuobject.o $O/mmuutil.o $O/mmutest.o - $(CC) -g -nostartfiles -nostdlib -o $O/mmuobject -Ttext=0x10000 $(LDSCRIPT) -Wl,-u,mmumain -Wl,-u,data_miss_start -Wl,-u,data_miss_end $O/mmuobject.o $O/mmuutil.o $O/mmutest.o - $(OBJCOPY) -O binary $O/mmuobject $O/mmucode - $(OBJCOPY) -I binary -O elf32-powerpc -B powerpc:common $O/mmucode $O/mmucode.o + $(CC) -nostartfiles -nostdlib -o $O/mmuobject -Ttext=0x10000 $(LDSCRIPT) -Wl,-u,mmumain -Wl,-u,data_miss_start -Wl,-u,data_miss_end $O/mmuobject.o $O/mmuutil.o $O/mmutest.o + $(OBJCOPY) -O binary $O/mmuobject mmucode + $(OBJCOPY) -I binary -O elf32-powerpc -B powerpc:common mmucode $O/mmucode.o mkdir -p `dirname $@` $(AR) cr $@ $O/mmucode.o
$O/mmuobject.o: $S/mmuobject.c $S/mmuobject.h - $(CC) -Iinclude/reactos -g -c $S/mmuobject.c + $(CC) -Iinclude/reactos -Iinclude/reactos/libs -g -c -o $@ $S/mmuobject.c
$O/mmutest.o: $S/mmutest.c $S/mmuobject.h - $(CC) -g -c $S/mmutest.c + $(CC) -Iinclude/reactos/libs -g -c -o $@ $S/mmutest.c
-clean: - rm -f $O/*.o $O/*.a $O/mmucode $O/mmuobject +ppcmmu_clean: + rm -f $O/*.o $O/*.a mmucode $O/mmuobject
Modified: trunk/reactos/ReactOS-ppc.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ReactOS-ppc.rbuild?rev=2880... ============================================================================== --- trunk/reactos/ReactOS-ppc.rbuild (original) +++ trunk/reactos/ReactOS-ppc.rbuild Mon Sep 3 10:29:13 2007 @@ -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_" />
Modified: trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/p... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c (original) +++ trunk/reactos/boot/freeldr/freeldr/arch/powerpc/mboot.c Mon Sep 3 10:29:13 2007 @@ -61,7 +61,6 @@
#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 @@ 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 @@ 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 @@ }
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 @@ 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)
Modified: trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/p... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c (original) +++ trunk/reactos/boot/freeldr/freeldr/arch/powerpc/prep.c Mon Sep 3 10:29:13 2007 @@ -61,7 +61,7 @@ *Depth = 16; }
-void PpcPrepVideoPrepareForReactOS() +void PpcPrepVideoPrepareForReactOS(BOOLEAN setup) { pci_setup(&pci1_desc); }
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freeld... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild (original) +++ trunk/reactos/boot/freeldr/freeldr/freeldr.rbuild Mon Sep 3 10:29:13 2007 @@ -22,5 +22,6 @@ <library>rossym</library> <library>cmlib</library> <library>rtl</library> + <library>libcntpr</library> </module> </if>
Modified: trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/freeld... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild (original) +++ trunk/reactos/boot/freeldr/freeldr/freeldr_arch.rbuild Mon Sep 3 10:29:13 2007 @@ -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>
Modified: trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/libcntpr/libcntpr.r... ============================================================================== --- trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild (original) +++ trunk/reactos/lib/sdk/libcntpr/libcntpr.rbuild Mon Sep 3 10:29:13 2007 @@ -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">
Modified: trunk/reactos/tools/ppc.lost+found/link-freeldr URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/ppc.lost%2Bfound/link... ============================================================================== --- trunk/reactos/tools/ppc.lost+found/link-freeldr (original) +++ trunk/reactos/tools/ppc.lost+found/link-freeldr Mon Sep 3 10:29:13 2007 @@ -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
Modified: trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/mingw/... ============================================================================== --- trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp (original) +++ trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp Mon Sep 3 10:29:13 2007 @@ -146,7 +146,7 @@ MingwModuleHandler::GetTargetDirectoryTree ( const Module& module ) { - if ( module.type == StaticLibrary || module.type == BootProgram ) + if ( module.type == StaticLibrary ) return backend->intermediateDirectory; return backend->outputDirectory; }