- Make HwDetect routine return a pointer to the root of a configuration tree (instead of directly referencing a global variable).

svn path=/trunk/; revision=31987
This commit is contained in:
Aleksey Bragin 2008-01-25 12:22:51 +00:00
parent 6b4b28c977
commit 6fd43506eb
9 changed files with 14 additions and 11 deletions

View file

@ -1861,7 +1861,7 @@ DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
} }
VOID PCONFIGURATION_COMPONENT_DATA
PcHwDetect(VOID) PcHwDetect(VOID)
{ {
PCONFIGURATION_COMPONENT_DATA SystemKey; PCONFIGURATION_COMPONENT_DATA SystemKey;
@ -1886,6 +1886,8 @@ PcHwDetect(VOID)
DetectAcpiBios(SystemKey, &BusNumber); DetectAcpiBios(SystemKey, &BusNumber);
DbgPrint((DPRINT_HWDETECT, "DetectHardware() Done\n")); DbgPrint((DPRINT_HWDETECT, "DetectHardware() Done\n"));
return SystemKey;
} }
/* EOF */ /* EOF */

View file

@ -349,7 +349,7 @@ DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
/* FIXME: Detect more ISA devices */ /* FIXME: Detect more ISA devices */
} }
VOID PCONFIGURATION_COMPONENT_DATA
XboxHwDetect(VOID) XboxHwDetect(VOID)
{ {
PCONFIGURATION_COMPONENT_DATA SystemKey; PCONFIGURATION_COMPONENT_DATA SystemKey;
@ -370,6 +370,7 @@ XboxHwDetect(VOID)
DetectIsaBios(SystemKey, &BusNumber); DetectIsaBios(SystemKey, &BusNumber);
DbgPrint((DPRINT_HWDETECT, "DetectHardware() Done\n")); DbgPrint((DPRINT_HWDETECT, "DetectHardware() Done\n"));
return SystemKey;
} }
/* EOF */ /* EOF */

View file

@ -446,7 +446,7 @@ VOID OfwCopyDeviceTree
} }
} }
VOID PpcHwDetect() { PCONFIGURATION_COMPONENT_DATA PpcHwDetect() {
PCONFIGURATION_COMPONENT_DATA RootKey; PCONFIGURATION_COMPONENT_DATA RootKey;
ULONG BusNumber = 0, DiskController = 0, DiskNumber = 0; ULONG BusNumber = 0, DiskController = 0, DiskNumber = 0;
int node = ofw_finddevice("/"); int node = ofw_finddevice("/");
@ -456,6 +456,7 @@ VOID PpcHwDetect() {
FldrSetComponentInformation(RootKey, 0, 0, (ULONG)-1); FldrSetComponentInformation(RootKey, 0, 0, (ULONG)-1);
OfwCopyDeviceTree(RootKey,"/",node,&BusNumber,&DiskController,&DiskNumber); OfwCopyDeviceTree(RootKey,"/",node,&BusNumber,&DiskController,&DiskNumber);
return RootKey;
} }
BOOLEAN PpcDiskNormalizeSystemPath(char *SystemPath, unsigned Size) { BOOLEAN PpcDiskNormalizeSystemPath(char *SystemPath, unsigned Size) {

View file

@ -108,7 +108,7 @@ ULONG PpcPrepGetMemoryMap( PBIOS_MEMORY_MAP BiosMemoryMap,
/* Most PReP hardware is in standard locations, based on the corresponding /* Most PReP hardware is in standard locations, based on the corresponding
* hardware on PCs. */ * hardware on PCs. */
VOID PpcPrepHwDetect() { PCONFIGURATION_COMPONENT_DATA PpcPrepHwDetect() {
PCONFIGURATION_COMPONENT_DATA SystemKey; PCONFIGURATION_COMPONENT_DATA SystemKey;
/* Create the 'System' key */ /* Create the 'System' key */
@ -121,6 +121,7 @@ VOID PpcPrepHwDetect() {
0xFFFFFFFF); 0xFFFFFFFF);
printf("DetectHardware() Done\n"); printf("DetectHardware() Done\n");
return SystemKey;
} }
void PpcPrepInit() void PpcPrepInit()

View file

@ -55,7 +55,7 @@ ULONG PcDiskGetCacheableBlockCount(ULONG DriveNumber);
VOID PcRTCGetCurrentDateTime(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second); VOID PcRTCGetCurrentDateTime(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second);
VOID PcHwDetect(VOID); PCONFIGURATION_COMPONENT_DATA PcHwDetect(VOID);
#endif /* __I386_MACHPC_H_ */ #endif /* __I386_MACHPC_H_ */

View file

@ -58,7 +58,7 @@ ULONG XboxDiskGetCacheableBlockCount(ULONG DriveNumber);
VOID XboxRTCGetCurrentDateTime(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second); VOID XboxRTCGetCurrentDateTime(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second);
VOID XboxHwDetect(VOID); PCONFIGURATION_COMPONENT_DATA XboxHwDetect(VOID);
VOID XboxSetLED(PCSTR Pattern); VOID XboxSetLED(PCSTR Pattern);

View file

@ -69,7 +69,7 @@ typedef struct tagMACHVTBL
VOID (*RTCGetCurrentDateTime)(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second); VOID (*RTCGetCurrentDateTime)(PULONG Year, PULONG Month, PULONG Day, PULONG Hour, PULONG Minute, PULONG Second);
VOID (*HwDetect)(VOID); PCONFIGURATION_COMPONENT_DATA (*HwDetect)(VOID);
} MACHVTBL, *PMACHVTBL; } MACHVTBL, *PMACHVTBL;
VOID MachInit(const char *CmdLine); VOID MachInit(const char *CmdLine);

View file

@ -604,7 +604,6 @@ LoadAndBootReactOS(PCSTR OperatingSystemName)
LoaderBlock.ModsCount = 0; LoaderBlock.ModsCount = 0;
LoaderBlock.ModsAddr = reactos_modules; LoaderBlock.ModsAddr = reactos_modules;
LoaderBlock.DrivesAddr = reactos_arc_disk_info; LoaderBlock.DrivesAddr = reactos_arc_disk_info;
LoaderBlock.ArchExtra = (ULONG)reactos_arc_hardware_data;
LoaderBlock.MmapLength = (unsigned long)MachGetMemoryMap((PBIOS_MEMORY_MAP)reactos_memory_map, 32) * sizeof(memory_map_t); LoaderBlock.MmapLength = (unsigned long)MachGetMemoryMap((PBIOS_MEMORY_MAP)reactos_memory_map, 32) * sizeof(memory_map_t);
if (LoaderBlock.MmapLength) if (LoaderBlock.MmapLength)
{ {
@ -700,7 +699,7 @@ LoadAndBootReactOS(PCSTR OperatingSystemName)
/* /*
* Detect hardware * Detect hardware
*/ */
MachHwDetect(); LoaderBlock.ArchExtra = (ULONG)MachHwDetect();
UiDrawProgressBarCenter(5, 100, szLoadingMsg); UiDrawProgressBarCenter(5, 100, szLoadingMsg);
if (AcpiPresent) LoaderBlock.Flags |= MB_FLAGS_ACPI_TABLE; if (AcpiPresent) LoaderBlock.Flags |= MB_FLAGS_ACPI_TABLE;

View file

@ -187,7 +187,6 @@ VOID RunLoader(VOID)
LoaderBlock.PageDirectoryEnd = (ULONG)&PageDirectoryEnd; LoaderBlock.PageDirectoryEnd = (ULONG)&PageDirectoryEnd;
LoaderBlock.ModsCount = 0; LoaderBlock.ModsCount = 0;
LoaderBlock.ModsAddr = reactos_modules; LoaderBlock.ModsAddr = reactos_modules;
LoaderBlock.ArchExtra = (ULONG)reactos_arc_hardware_data;
LoaderBlock.MmapLength = (unsigned long)MachGetMemoryMap((PBIOS_MEMORY_MAP)reactos_memory_map, 32) * sizeof(memory_map_t); LoaderBlock.MmapLength = (unsigned long)MachGetMemoryMap((PBIOS_MEMORY_MAP)reactos_memory_map, 32) * sizeof(memory_map_t);
if (LoaderBlock.MmapLength) if (LoaderBlock.MmapLength)
{ {
@ -232,7 +231,7 @@ VOID RunLoader(VOID)
/* Detect hardware */ /* Detect hardware */
UiDrawStatusText("Detecting hardware..."); UiDrawStatusText("Detecting hardware...");
MachHwDetect(); LoaderBlock.ArchExtra = (ULONG)MachHwDetect();
UiDrawStatusText(""); UiDrawStatusText("");
/* set boot device */ /* set boot device */