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/CMake…
==============================================================================
--- 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/…
==============================================================================
--- 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/inclu…
==============================================================================
--- 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/inclu…
==============================================================================
--- 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/inclu…
==============================================================================
--- 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>