mirror of
https://github.com/reactos/reactos.git
synced 2024-06-22 22:11:39 +00:00
[FREELDR]
- Move the NTOS loader files that were scattered in many places into their own directory (now all that stuff is inside freeldr/windows). - Split arch/arm/winldr.c into the real winldr code (going into freeldr/windows) and entry point code (going into arch/arm/entry.c). svn path=/trunk/; revision=70683
This commit is contained in:
parent
9f8022a2b3
commit
076441f3ce
|
@ -91,7 +91,6 @@ if(ARCH STREQUAL "i386")
|
|||
fs/pxe.c
|
||||
arch/i386/archmach.c
|
||||
arch/i386/drivemap.c
|
||||
arch/i386/halstub.c
|
||||
arch/i386/hardware.c
|
||||
arch/i386/hwacpi.c
|
||||
arch/i386/hwapm.c
|
||||
|
@ -103,7 +102,6 @@ if(ARCH STREQUAL "i386")
|
|||
arch/i386/i386rtl.c
|
||||
arch/i386/i386vid.c
|
||||
arch/i386/machpc.c
|
||||
arch/i386/ntoskrnl.c
|
||||
arch/i386/pccons.c
|
||||
arch/i386/pcdisk.c
|
||||
arch/i386/pcmem.c
|
||||
|
@ -118,7 +116,9 @@ if(ARCH STREQUAL "i386")
|
|||
arch/i386/xboxmem.c
|
||||
arch/i386/xboxrtc.c
|
||||
arch/i386/xboxvideo.c
|
||||
arch/i386/winldr.c
|
||||
windows/arch/i386/halstub.c
|
||||
windows/arch/i386/ntoskrnl.c
|
||||
windows/arch/i386/winldr.c
|
||||
windows/headless.c
|
||||
disk/scsiport.c)
|
||||
if(NOT MSVC)
|
||||
|
@ -142,19 +142,20 @@ elseif(ARCH STREQUAL "amd64")
|
|||
arch/i386/i386disk.c
|
||||
arch/i386/i386vid.c
|
||||
arch/i386/machpc.c
|
||||
arch/i386/ntoskrnl.c
|
||||
arch/i386/pccons.c
|
||||
arch/i386/pcdisk.c
|
||||
arch/i386/pcmem.c
|
||||
arch/i386/pcrtc.c
|
||||
arch/i386/pcvideo.c
|
||||
arch/amd64/winldr.c)
|
||||
windows/arch/i386/ntoskrnl.c
|
||||
windows/arch/amd64/winldr.c)
|
||||
elseif(ARCH STREQUAL "arm")
|
||||
list(APPEND FREELDR_COMMON_ASM_SOURCE
|
||||
arch/arm/boot.S)
|
||||
list(APPEND FREELDR_COMMON_SOURCE
|
||||
arch/arm/entry.c
|
||||
arch/arm/macharm.c
|
||||
arch/arm/winldr.c)
|
||||
windows/arch/arm/winldr.c)
|
||||
else()
|
||||
#TBD
|
||||
endif()
|
||||
|
@ -193,7 +194,7 @@ if(MSVC)
|
|||
add_target_link_flags(freeldr_pe "/ignore:4078 /ignore:4254 /DRIVER")
|
||||
add_target_link_flags(freeldr_pe_dbg "/ignore:4078 /ignore:4254 /DRIVER")
|
||||
else()
|
||||
add_target_link_flags(freeldr_pe "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text ")
|
||||
add_target_link_flags(freeldr_pe "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text")
|
||||
add_target_link_flags(freeldr_pe_dbg "/ignore:4078 /ignore:4254 /DRIVER /FIXED /ALIGN:0x400 /SECTION:.text,ERW /SECTION:.data,RW /MERGE:.text16=.text /MERGE:.data=.text /MERGE:.rdata=.text /MERGE:.bss=.text")
|
||||
endif()
|
||||
else()
|
||||
|
|
31
reactos/boot/freeldr/freeldr/arch/arm/entry.c
Normal file
31
reactos/boot/freeldr/freeldr/arch/arm/entry.c
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/freeldr/freeldr/arch/arm/entry.c
|
||||
* PURPOSE: Implements the entry point for ARM machines (see also boot.S)
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES ***************************************************************/
|
||||
|
||||
#include <freeldr.h>
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS **************************************************************/
|
||||
|
||||
VOID
|
||||
RealEntryPoint(VOID)
|
||||
{
|
||||
BootMain("");
|
||||
}
|
||||
|
||||
VOID
|
||||
FrLdrBugCheckWithMessage(
|
||||
ULONG BugCode,
|
||||
PCHAR File,
|
||||
ULONG Line,
|
||||
PSTR Format,
|
||||
...)
|
||||
{
|
||||
|
||||
}
|
|
@ -61,6 +61,10 @@ ULONG LenBits[] =
|
|||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID DiskStopFloppyMotor(VOID)
|
||||
{
|
||||
}
|
||||
|
||||
VOID
|
||||
FrLdrCheckCpuCompatiblity(VOID)
|
||||
{
|
||||
|
|
|
@ -79,6 +79,8 @@
|
|||
#include <ui.h>
|
||||
#include <ver.h>
|
||||
#include <video.h>
|
||||
|
||||
/* NTOS loader */
|
||||
#include <winldr.h>
|
||||
|
||||
/* File system headers */
|
||||
|
|
|
@ -160,9 +160,6 @@ WinLdrpDumpBootDriver(PLOADER_PARAMETER_BLOCK LoaderBlock);
|
|||
VOID
|
||||
WinLdrpDumpArcDisks(PLOADER_PARAMETER_BLOCK LoaderBlock);
|
||||
|
||||
BOOLEAN
|
||||
MempAllocatePageTables();
|
||||
|
||||
BOOLEAN
|
||||
MempSetupPaging(IN PFN_NUMBER StartPage,
|
||||
IN PFN_NUMBER NumberOfPages,
|
||||
|
|
|
@ -28,6 +28,7 @@ ULONG_PTR TssBasePage;
|
|||
|
||||
/* FUNCTIONS **************************************************************/
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
MempAllocatePageTables(VOID)
|
||||
{
|
||||
|
@ -60,6 +61,7 @@ MempAllocatePageTables(VOID)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static
|
||||
PHARDWARE_PTE
|
||||
MempGetOrCreatePageDir(PHARDWARE_PTE PdeBase, ULONG Index)
|
||||
{
|
||||
|
@ -85,6 +87,7 @@ MempGetOrCreatePageDir(PHARDWARE_PTE PdeBase, ULONG Index)
|
|||
return SubDir;
|
||||
}
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
MempMapSinglePage(ULONG64 VirtualAddress, ULONG64 PhysicalAddress)
|
||||
{
|
||||
|
@ -143,6 +146,7 @@ MempIsPageMapped(PVOID VirtualAddress)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static
|
||||
PFN_NUMBER
|
||||
MempMapRangeOfPages(ULONG64 VirtualAddress, ULONG64 PhysicalAddress, PFN_NUMBER cPages)
|
||||
{
|
||||
|
@ -202,6 +206,7 @@ MempUnmapPage(PFN_NUMBER Page)
|
|||
// TRACE(">>> MempUnmapPage\n");
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
WinLdrpMapApic(VOID)
|
||||
{
|
||||
|
@ -234,6 +239,7 @@ WinLdrpMapApic(VOID)
|
|||
MempMapSinglePage(APIC_BASE, APICAddress);
|
||||
}
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
WinLdrMapSpecialPages(VOID)
|
||||
{
|
||||
|
@ -265,6 +271,7 @@ WinLdrMapSpecialPages(VOID)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
Amd64SetupGdt(PVOID GdtBase, ULONG64 TssBase)
|
||||
{
|
||||
|
@ -313,6 +320,7 @@ Amd64SetupGdt(PVOID GdtBase, ULONG64 TssBase)
|
|||
TRACE("Leave Amd64SetupGdt()\n");
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
Amd64SetupIdt(PVOID IdtBase)
|
||||
{
|
||||
|
@ -421,4 +429,3 @@ VOID
|
|||
MempDump(VOID)
|
||||
{
|
||||
}
|
||||
|
|
@ -99,6 +99,7 @@ MempDump(VOID)
|
|||
return;
|
||||
}
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
WinLdrMapSpecialPages(ULONG PcrBasePage)
|
||||
{
|
||||
|
@ -191,6 +192,7 @@ WinLdrSetupForNt(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
|||
LoaderBlock->Thread = (ULONG_PTR)PdrPage->InitialThread;
|
||||
}
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
MempAllocatePageTables(VOID)
|
||||
{
|
||||
|
@ -277,24 +279,3 @@ WinLdrSetupMachineDependent(
|
|||
PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||
{
|
||||
}
|
||||
|
||||
VOID DiskStopFloppyMotor(VOID)
|
||||
{
|
||||
}
|
||||
|
||||
VOID
|
||||
RealEntryPoint(VOID)
|
||||
{
|
||||
BootMain("");
|
||||
}
|
||||
|
||||
VOID
|
||||
FrLdrBugCheckWithMessage(
|
||||
ULONG BugCode,
|
||||
PCHAR File,
|
||||
ULONG Line,
|
||||
PSTR Format,
|
||||
...)
|
||||
{
|
||||
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#include "ntoskrnl.h"
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ntoskrnl.h>
|
||||
#include "ntoskrnl.h"
|
||||
|
||||
/* For KeStallExecutionProcessor */
|
||||
#if defined(_M_IX86) || defined(_M_AMD64)
|
|
@ -46,6 +46,7 @@ PVOID GdtIdt;
|
|||
|
||||
/* FUNCTIONS **************************************************************/
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
MempAllocatePageTables(VOID)
|
||||
{
|
||||
|
@ -115,6 +116,7 @@ MempAllocatePageTables(VOID)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
MempAllocatePTE(ULONG Entry, PHARDWARE_PTE *PhysicalPT, PHARDWARE_PTE *KernelPT)
|
||||
{
|
||||
|
@ -144,8 +146,8 @@ MempAllocatePTE(ULONG Entry, PHARDWARE_PTE *PhysicalPT, PHARDWARE_PTE *KernelPT)
|
|||
|
||||
BOOLEAN
|
||||
MempSetupPaging(IN PFN_NUMBER StartPage,
|
||||
IN PFN_COUNT NumberOfPages,
|
||||
IN BOOLEAN KernelMapping)
|
||||
IN PFN_COUNT NumberOfPages,
|
||||
IN BOOLEAN KernelMapping)
|
||||
{
|
||||
PHARDWARE_PTE PhysicalPT;
|
||||
PHARDWARE_PTE KernelPT;
|
||||
|
@ -221,6 +223,7 @@ MempUnmapPage(PFN_NUMBER Page)
|
|||
}
|
||||
}
|
||||
|
||||
static
|
||||
VOID
|
||||
WinLdrpMapApic(VOID)
|
||||
{
|
||||
|
@ -252,6 +255,7 @@ WinLdrpMapApic(VOID)
|
|||
HalPageTable[(APIC_BASE - 0xFFC00000) >> MM_PAGE_SHIFT].CacheDisable = 1;
|
||||
}
|
||||
|
||||
static
|
||||
BOOLEAN
|
||||
WinLdrMapSpecialPages(void)
|
||||
{
|
||||
|
@ -297,6 +301,7 @@ enum
|
|||
UltraVision_8x10Font = 0x12,
|
||||
};
|
||||
|
||||
static
|
||||
void WinLdrSetupSpecialDataPointers(VOID)
|
||||
{
|
||||
REGS BiosRegs;
|
||||
|
@ -690,4 +695,3 @@ MempDump(VOID)
|
|||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in a new issue