[ros-diffs] [tkreuzer] 52469: [FREELDR] Fix amd64 build. It doesn't work yet

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Sun Jun 26 10:49:23 UTC 2011


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/CMakeLists.txt?rev=52469&r1=52468&r2=52469&view=diff
==============================================================================
--- 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/amd64/entry.S?rev=52469&view=auto
==============================================================================
--- 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/include/arch/amd64/amd64.h?rev=52469&r1=52468&r2=52469&view=diff
==============================================================================
--- 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/include/disk.h?rev=52469&r1=52468&r2=52469&view=diff
==============================================================================
--- 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/include/freeldr.h?rev=52469&r1=52468&r2=52469&view=diff
==============================================================================
--- 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>




More information about the Ros-diffs mailing list