mirror of
https://github.com/reactos/reactos.git
synced 2025-08-01 00:13:16 +00:00
[FREELDR]
Fix amd64 build. It doesn't work yet svn path=/trunk/; revision=52469
This commit is contained in:
parent
76c6c9e3e4
commit
62b74e4696
5 changed files with 44 additions and 25 deletions
|
@ -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 @@ if(ARCH MATCHES i386)
|
|||
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 @@ elseif(ARCH MATCHES amd64)
|
|||
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()
|
||||
|
|
35
reactos/boot/freeldr/freeldr/arch/amd64/entry.S
Normal file
35
reactos/boot/freeldr/freeldr/arch/amd64/entry.S
Normal file
|
@ -0,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
|
|
@ -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
|
||||
|
||||
|
|
|
@ -123,10 +123,8 @@ PCSTR DiskGetErrorCodeString(ULONG ErrorCode);
|
|||
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);
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue