Author: tkreuzer Date: Sun Jun 26 10:49:22 2011 New Revision: 52469
URL: http://svn.reactos.org/svn/reactos?rev=52469&view=rev Log: [FREELDR] Fix amd64 build. It doesn't work yet
Added: trunk/reactos/boot/freeldr/freeldr/arch/amd64/entry.S (with props) Modified: trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt trunk/reactos/boot/freeldr/freeldr/include/arch/amd64/amd64.h trunk/reactos/boot/freeldr/freeldr/include/disk.h trunk/reactos/boot/freeldr/freeldr/include/freeldr.h
Modified: trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/CMakeL... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/CMakeLists.txt [iso-8859-1] Sun Jun 26 10:49:22 2011 @@ -1,5 +1,5 @@
-if(ARCH MATCHES i386) +if(ARCH MATCHES i386 OR ARCH MATCHES amd64) CreateBootSectorTarget2(frldr16 ${CMAKE_CURRENT_SOURCE_DIR}/arch/realmode/i386.S ${CMAKE_CURRENT_BINARY_DIR}/frldr16.bin @@ -120,6 +120,7 @@ endif() elseif(ARCH MATCHES amd64) list(APPEND FREELDR_COMMON_SOURCE + arch/amd64/entry.S arch/amd64/loader.c arch/i386/hardware.c arch/i386/hwacpi.c @@ -137,15 +138,6 @@ arch/i386/pcvideo.c windows/amd64/ntsetup.c windows/amd64/wlmemory.c) - if(NOT MSVC) - list(APPEND FREELDR_COMMON_SOURCE - arch/i386/drvmap.S - arch/i386/i386trap.S - arch/amd64/mb.S) - else() - list(APPEND FREELDR_COMMON_SOURCE - arch/amd64/stubs.S) - endif() else() #TBD endif()
Added: trunk/reactos/boot/freeldr/freeldr/arch/amd64/entry.S URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/arch/a... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/arch/amd64/entry.S (added) +++ trunk/reactos/boot/freeldr/freeldr/arch/amd64/entry.S [iso-8859-1] Sun Jun 26 10:49:22 2011 @@ -1,0 +1,35 @@ + + +#include <asm.inc> +#include <arch/pc/x86common.h> + +.code64 + +PUBLIC RealEntryPoint +RealEntryPoint: + +PUBLIC FrldrBootDrive +FrldrBootDrive: + +PUBLIC FrldrBootPartition +FrldrBootPartition: + +PUBLIC PageDirectoryEnd +PageDirectoryEnd: +PUBLIC PageDirectoryStart +PageDirectoryStart: +PUBLIC PnpBiosGetDeviceNode +PnpBiosGetDeviceNode: +PUBLIC PnpBiosGetDeviceNodeCount +PnpBiosGetDeviceNodeCount: +PUBLIC PnpBiosSupported +PnpBiosSupported: +PUBLIC Int386 +Int386: +PUBLIC PxeCallApi +PxeCallApi: + +nop + + +END
Propchange: trunk/reactos/boot/freeldr/freeldr/arch/amd64/entry.S ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/boot/freeldr/freeldr/include/arch/amd64/amd64.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/includ... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/include/arch/amd64/amd64.h [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/include/arch/amd64/amd64.h [iso-8859-1] Sun Jun 26 10:49:22 2011 @@ -31,9 +31,6 @@ /* Long mode selectors */ #define LMODE_CS 0x10 #define LMODE_DS 0x18 -#define RMODE_CS 0x20 /* RMode code selector, base 0 limit 64k */ -#define RMODE_DS 0x28 /* RMode data selector, base 0 limit 64k */ -#define CMODE_CS 0x30
#define VA_MASK 0x0000FFFFFFFFFFFFUL
Modified: trunk/reactos/boot/freeldr/freeldr/include/disk.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/includ... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/include/disk.h [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/include/disk.h [iso-8859-1] Sun Jun 26 10:49:22 2011 @@ -123,10 +123,8 @@ BOOLEAN DiskReadLogicalSectors(ULONG DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer); // Implemented in i386disk.c BOOLEAN DiskIsDriveRemovable(ULONG DriveNumber); VOID DiskStopFloppyMotor(VOID); // Implemented in i386disk.c -#ifndef _M_AMD64 extern ULONG FrldrBootDrive; extern ULONG FrldrBootPartition; -#endif
BOOLEAN DiskGetBootPath(char *BootPath, unsigned Size);
Modified: trunk/reactos/boot/freeldr/freeldr/include/freeldr.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/includ... ============================================================================== --- trunk/reactos/boot/freeldr/freeldr/include/freeldr.h [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/freeldr/include/freeldr.h [iso-8859-1] Sun Jun 26 10:49:22 2011 @@ -93,25 +93,22 @@ #include <ui/tui.h>
/* arch specific includes */ +#if defined(_M_IX86) || defined(_M_AMD64) +#include <arch/pc/hardware.h> +#include <arch/pc/machpc.h> +#include <arch/pc/x86common.h> +#include <arch/pc/pcbios.h> +#include <arch/pc/pxe.h> +#endif #if defined(_M_IX86) #include <arch/i386/custom.h> #include <arch/i386/drivemap.h> #include <arch/i386/i386.h> #include <arch/i386/machxbox.h> #include <arch/i386/miscboot.h> -#include <arch/pc/hardware.h> -#include <arch/pc/machpc.h> -#include <arch/pc/x86common.h> -#include <arch/pc/pcbios.h> -#include <arch/pc/pxe.h> #include <internal/i386/intrin_i.h> #elif defined(_M_AMD64) #include <arch/amd64/amd64.h> -#include <arch/pc/hardware.h> -#include <arch/pc/machpc.h> -#include <arch/pc/x86common.h> -#include <arch/pc/pcbios.h> -#include <arch/pc/pxe.h> #include <internal/amd64/intrin_i.h> #elif defined(_M_PPC) #include <arch/powerpc/hardware.h>