mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Add machineType to arch specific info.
Fixup module locations that are not PE coff. svn path=/trunk/; revision=30106
This commit is contained in:
@@ -476,6 +476,8 @@ VOID PpcRTCGetCurrentDateTime( PULONG Hear, PULONG Month, PULONG Day,
|
||||
|
||||
VOID PpcHwDetect() {
|
||||
printf("PpcHwDetect\n");
|
||||
/* Almost all PowerPC boxen use PCI */
|
||||
BootInfo.machineType = PCIBus;
|
||||
}
|
||||
|
||||
BOOLEAN PpcDiskNormalizeSystemPath(char *SystemPath, unsigned Size) {
|
||||
|
||||
@@ -184,6 +184,11 @@ FrLdrStartup(ULONG Magic)
|
||||
LdrPEFixupImports
|
||||
((PVOID)reactos_modules[i].ModStart,
|
||||
(PCHAR)reactos_modules[i].String);
|
||||
else /* Make RVA */
|
||||
{
|
||||
reactos_modules[i].ModStart -= (ULONG_PTR)KernelMemory;
|
||||
reactos_modules[i].ModEnd -= (ULONG_PTR)KernelMemory;
|
||||
}
|
||||
}
|
||||
|
||||
/* We don't use long longs, but longs for the addresses in the
|
||||
@@ -680,6 +685,7 @@ FrLdrLoadModule(FILE *ModuleImage,
|
||||
|
||||
} while(TempName);
|
||||
NameBuffer = reactos_module_strings[LoaderBlock.ModsCount];
|
||||
|
||||
|
||||
/* Get Module Size */
|
||||
LocalModuleSize = FsGetFileSize(ModuleImage);
|
||||
@@ -723,8 +729,9 @@ FrLdrMapImage(IN FILE *Image, IN PCHAR ShortName, IN ULONG ImageType)
|
||||
else
|
||||
{
|
||||
PVOID ModuleBase = (PVOID)NextModuleBase;
|
||||
|
||||
if(FrLdrMapModule(Image, ShortName, 0, 0))
|
||||
Result = ModuleBase;
|
||||
Result = ModuleBase;
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
#include "freeldr.h"
|
||||
#include "machine.h"
|
||||
#include "ppcboot.h"
|
||||
#include "ppcmmu/mmu.h"
|
||||
#include "prep.h"
|
||||
|
||||
extern boot_infos_t BootInfo;
|
||||
int prep_serial = 0x800003f8;
|
||||
|
||||
void sync() { __asm__("eieio\n\tsync"); }
|
||||
@@ -63,6 +65,8 @@ void PpcPrepVideoGetDisplaySize( PULONG Width, PULONG Height, PULONG Depth )
|
||||
|
||||
void PpcPrepVideoPrepareForReactOS(BOOLEAN setup)
|
||||
{
|
||||
/* Prep boxen are PCI */
|
||||
BootInfo.machineType = PCIBus;
|
||||
pci_setup(&pci1_desc);
|
||||
}
|
||||
|
||||
|
||||
@@ -342,6 +342,7 @@ typedef struct _I386_LOADER_BLOCK
|
||||
typedef struct _PPC_LOADER_BLOCK
|
||||
{
|
||||
PVOID BootInfo;
|
||||
ULONG MachineType;
|
||||
} PPC_LOADER_BLOCK, *PPPC_LOADER_BLOCK;
|
||||
|
||||
//
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
typedef char font_char[57];
|
||||
typedef struct _boot_infos_t {
|
||||
void *loaderBlock;
|
||||
int machineType;
|
||||
int dispDeviceRect[4];
|
||||
int dispDeviceRowBytes;
|
||||
int dispDeviceDepth;
|
||||
|
||||
Reference in New Issue
Block a user