mirror of
https://github.com/reactos/reactos.git
synced 2024-12-27 17:44:45 +00:00
[FREELDR] Cleanup some FldrCreateComponentKey() calls and archwsup.c
This commit is contained in:
parent
0b695a6f70
commit
8061a6f6f4
10 changed files with 145 additions and 134 deletions
|
@ -11,9 +11,57 @@
|
|||
#include <freeldr.h>
|
||||
|
||||
#include <debug.h>
|
||||
DBG_DEFAULT_CHANNEL(HWDETECT);
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* Strings corresponding to CONFIGURATION_TYPE */
|
||||
const PCSTR ArcTypes[MaximumType + 1] = // CmTypeName
|
||||
{
|
||||
"System",
|
||||
"CentralProcessor",
|
||||
"FloatingPointProcessor",
|
||||
"PrimaryICache",
|
||||
"PrimaryDCache",
|
||||
"SecondaryICache",
|
||||
"SecondaryDCache",
|
||||
"SecondaryCache",
|
||||
"EisaAdapter",
|
||||
"TcAdapter",
|
||||
"ScsiAdapter",
|
||||
"DtiAdapter",
|
||||
"MultifunctionAdapter",
|
||||
"DiskController",
|
||||
"TapeController",
|
||||
"CdRomController",
|
||||
"WormController",
|
||||
"SerialController",
|
||||
"NetworkController",
|
||||
"DisplayController",
|
||||
"ParallelController",
|
||||
"PointerController",
|
||||
"KeyboardController",
|
||||
"AudioController",
|
||||
"OtherController",
|
||||
"DiskPeripheral",
|
||||
"FloppyDiskPeripheral",
|
||||
"TapePeripheral",
|
||||
"ModemPeripheral",
|
||||
"MonitorPeripheral",
|
||||
"PrinterPeripheral",
|
||||
"PointerPeripheral",
|
||||
"KeyboardPeripheral",
|
||||
"TerminalPeripheral",
|
||||
"OtherPeripheral",
|
||||
"LinePeripheral",
|
||||
"NetworkPeripheral",
|
||||
"SystemMemory",
|
||||
"DockingInformation",
|
||||
"RealModeIrqRoutingTable",
|
||||
"RealModePCIEnumeration",
|
||||
"Undefined"
|
||||
};
|
||||
|
||||
PCONFIGURATION_COMPONENT_DATA FldrArcHwTreeRoot;
|
||||
|
||||
// ARC Disk Information
|
||||
|
@ -51,12 +99,11 @@ AddReactOSArcDiskInfo(
|
|||
// ARC Component Configuration Routines
|
||||
//
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrSetIdentifier(IN PCONFIGURATION_COMPONENT_DATA ComponentData,
|
||||
IN PCHAR IdentifierString)
|
||||
static VOID
|
||||
FldrSetIdentifier(
|
||||
_In_ PCONFIGURATION_COMPONENT Component,
|
||||
_In_ PCSTR IdentifierString)
|
||||
{
|
||||
PCONFIGURATION_COMPONENT Component = &ComponentData->ComponentEntry;
|
||||
SIZE_T IdentifierLength;
|
||||
PCHAR Identifier;
|
||||
|
||||
|
@ -74,10 +121,10 @@ FldrSetIdentifier(IN PCONFIGURATION_COMPONENT_DATA ComponentData,
|
|||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrSetConfigurationData(IN PCONFIGURATION_COMPONENT_DATA ComponentData,
|
||||
IN PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
IN ULONG Size)
|
||||
FldrSetConfigurationData(
|
||||
_Inout_ PCONFIGURATION_COMPONENT_DATA ComponentData,
|
||||
_In_ PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
_In_ ULONG Size)
|
||||
{
|
||||
/* Set component information */
|
||||
ComponentData->ConfigurationData = ResourceList;
|
||||
|
@ -85,8 +132,9 @@ FldrSetConfigurationData(IN PCONFIGURATION_COMPONENT_DATA ComponentData,
|
|||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrCreateSystemKey(OUT PCONFIGURATION_COMPONENT_DATA *SystemNode)
|
||||
FldrCreateSystemKey(
|
||||
_Out_ PCONFIGURATION_COMPONENT_DATA* SystemNode,
|
||||
_In_ PCSTR IdentifierString)
|
||||
{
|
||||
PCONFIGURATION_COMPONENT Component;
|
||||
|
||||
|
@ -108,14 +156,18 @@ FldrCreateSystemKey(OUT PCONFIGURATION_COMPONENT_DATA *SystemNode)
|
|||
Component->Key = 0;
|
||||
Component->AffinityMask = 0xFFFFFFFF;
|
||||
|
||||
/* Set identifier */
|
||||
if (IdentifierString)
|
||||
FldrSetIdentifier(Component, IdentifierString);
|
||||
|
||||
/* Return the node */
|
||||
*SystemNode = FldrArcHwTreeRoot;
|
||||
}
|
||||
|
||||
static VOID
|
||||
NTAPI
|
||||
FldrLinkToParent(IN PCONFIGURATION_COMPONENT_DATA Parent,
|
||||
IN PCONFIGURATION_COMPONENT_DATA Child)
|
||||
FldrLinkToParent(
|
||||
_In_ PCONFIGURATION_COMPONENT_DATA Parent,
|
||||
_In_ PCONFIGURATION_COMPONENT_DATA Child)
|
||||
{
|
||||
PCONFIGURATION_COMPONENT_DATA Sibling;
|
||||
|
||||
|
@ -143,17 +195,17 @@ FldrLinkToParent(IN PCONFIGURATION_COMPONENT_DATA Parent,
|
|||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrCreateComponentKey(IN PCONFIGURATION_COMPONENT_DATA SystemNode,
|
||||
IN CONFIGURATION_CLASS Class,
|
||||
IN CONFIGURATION_TYPE Type,
|
||||
IN IDENTIFIER_FLAG Flags,
|
||||
IN ULONG Key,
|
||||
IN ULONG Affinity,
|
||||
IN PCHAR IdentifierString,
|
||||
IN PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
IN ULONG Size,
|
||||
OUT PCONFIGURATION_COMPONENT_DATA *ComponentKey)
|
||||
FldrCreateComponentKey(
|
||||
_In_ PCONFIGURATION_COMPONENT_DATA SystemNode,
|
||||
_In_ CONFIGURATION_CLASS Class,
|
||||
_In_ CONFIGURATION_TYPE Type,
|
||||
_In_ IDENTIFIER_FLAG Flags,
|
||||
_In_ ULONG Key,
|
||||
_In_ ULONG Affinity,
|
||||
_In_ PCSTR IdentifierString,
|
||||
_In_ PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
_In_ ULONG Size,
|
||||
_Out_ PCONFIGURATION_COMPONENT_DATA* ComponentKey)
|
||||
{
|
||||
PCONFIGURATION_COMPONENT_DATA ComponentData;
|
||||
PCONFIGURATION_COMPONENT Component;
|
||||
|
@ -180,12 +232,14 @@ FldrCreateComponentKey(IN PCONFIGURATION_COMPONENT_DATA SystemNode,
|
|||
|
||||
/* Set identifier */
|
||||
if (IdentifierString)
|
||||
FldrSetIdentifier(ComponentData, IdentifierString);
|
||||
FldrSetIdentifier(Component, IdentifierString);
|
||||
|
||||
/* Set configuration data */
|
||||
if (ResourceList)
|
||||
FldrSetConfigurationData(ComponentData, ResourceList, Size);
|
||||
|
||||
TRACE("Created key: %s\\%d\n", ArcTypes[min(Type, MaximumType)], Key);
|
||||
|
||||
/* Return the child */
|
||||
*ComponentKey = ComponentData;
|
||||
}
|
||||
|
|
|
@ -100,7 +100,7 @@ ArmHwDetect(VOID)
|
|||
|
||||
/* Create the root node */
|
||||
if (ArmHwDetectRan++) return RootNode;
|
||||
FldrCreateSystemKey(&RootNode);
|
||||
FldrCreateSystemKey(&RootNode, "");
|
||||
|
||||
/*
|
||||
* TODO:
|
||||
|
|
|
@ -116,8 +116,8 @@ DetectAcpiBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"ACPI BIOS",
|
||||
PartialResourceList,
|
||||
|
|
|
@ -73,7 +73,7 @@ DetectApmBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"APM",
|
||||
|
|
|
@ -161,8 +161,8 @@ DetectPciIrqRoutingTable(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
FldrCreateComponentKey(BusKey,
|
||||
PeripheralClass,
|
||||
RealModeIrqRoutingTable,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"PCI Real-mode IRQ Routing Table",
|
||||
PartialResourceList,
|
||||
|
@ -202,8 +202,8 @@ DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"PCI BIOS",
|
||||
PartialResourceList,
|
||||
|
@ -268,8 +268,8 @@ DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"PCI",
|
||||
PartialResourceList,
|
||||
|
|
|
@ -357,8 +357,8 @@ DetectPnpBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"PNP BIOS",
|
||||
PartialResourceList,
|
||||
|
@ -687,14 +687,12 @@ DetectSerialPointerPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey,
|
|||
PeripheralClass,
|
||||
PointerPeripheral,
|
||||
Input,
|
||||
0x0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
Identifier,
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&PeripheralKey);
|
||||
|
||||
TRACE("Created key: PointerPeripheral\\0\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -723,7 +721,7 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey, GET_SERIAL_PORT MachGetS
|
|||
PCM_SERIAL_DEVICE_DATA SerialDeviceData;
|
||||
ULONG Irq;
|
||||
ULONG Base;
|
||||
CHAR Buffer[80];
|
||||
CHAR Identifier[80];
|
||||
ULONG ControllerNumber = 0;
|
||||
PCONFIGURATION_COMPONENT_DATA ControllerKey;
|
||||
ULONG i;
|
||||
|
@ -740,7 +738,7 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey, GET_SERIAL_PORT MachGetS
|
|||
TRACE("Found COM%u port at 0x%x\n", i + 1, Base);
|
||||
|
||||
/* Set 'Identifier' value */
|
||||
sprintf(Buffer, "COM%ld", i + 1);
|
||||
RtlStringCbPrintfA(Identifier, sizeof(Identifier), "COM%ld", i + 1);
|
||||
|
||||
/* Build full device descriptor */
|
||||
Size = sizeof(CM_PARTIAL_RESOURCE_LIST) +
|
||||
|
@ -796,7 +794,7 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey, GET_SERIAL_PORT MachGetS
|
|||
Output | Input | ConsoleIn | ConsoleOut,
|
||||
ControllerNumber,
|
||||
0xFFFFFFFF,
|
||||
Buffer,
|
||||
Identifier,
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
|
@ -817,7 +815,7 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PCM_PARTIAL_RESOURCE_LIST PartialResourceList;
|
||||
PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptor;
|
||||
ULONG Irq[MAX_LPT_PORTS] = {7, 5, (ULONG) - 1};
|
||||
CHAR Buffer[80];
|
||||
CHAR Identifier[80];
|
||||
PCONFIGURATION_COMPONENT_DATA ControllerKey;
|
||||
PUSHORT BasePtr;
|
||||
ULONG Base;
|
||||
|
@ -843,7 +841,7 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
TRACE("Parallel port %u: %x\n", ControllerNumber, Base);
|
||||
|
||||
/* Set 'Identifier' value */
|
||||
sprintf(Buffer, "PARALLEL%ld", i + 1);
|
||||
RtlStringCbPrintfA(Identifier, sizeof(Identifier), "PARALLEL%ld", i + 1);
|
||||
|
||||
/* Build full device descriptor */
|
||||
Size = sizeof(CM_PARTIAL_RESOURCE_LIST);
|
||||
|
@ -891,7 +889,7 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
Output,
|
||||
ControllerNumber,
|
||||
0xFFFFFFFF,
|
||||
Buffer,
|
||||
Identifier,
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
|
@ -1027,13 +1025,12 @@ DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
PeripheralClass,
|
||||
KeyboardPeripheral,
|
||||
Input | ConsoleIn,
|
||||
0x0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"PCAT_ENHANCED",
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&PeripheralKey);
|
||||
TRACE("Created key: KeyboardPeripheral\\0\n");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1094,13 +1091,12 @@ DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
ControllerClass,
|
||||
KeyboardController,
|
||||
Input | ConsoleIn,
|
||||
0x0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
NULL,
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: KeyboardController\\0\n");
|
||||
|
||||
DetectKeyboardPeripheral(ControllerKey);
|
||||
}
|
||||
|
@ -1254,13 +1250,12 @@ DetectPS2Mouse(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
ControllerClass,
|
||||
PointerController,
|
||||
Input,
|
||||
0x0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
NULL,
|
||||
PartialResourceList,
|
||||
sizeof(CM_PARTIAL_RESOURCE_LIST),
|
||||
&ControllerKey);
|
||||
TRACE("Created key: PointerController\\0\n");
|
||||
|
||||
if (DetectPS2AuxDevice())
|
||||
{
|
||||
|
@ -1286,13 +1281,12 @@ DetectPS2Mouse(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
ControllerClass,
|
||||
PointerPeripheral,
|
||||
Input,
|
||||
0x0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"MICROSOFT PS2 MOUSE",
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&PeripheralKey);
|
||||
TRACE("Created key: PointerPeripheral\\0\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1306,7 +1300,7 @@ BOOLEAN BiosVesaReadEdid(VOID);
|
|||
static VOID
|
||||
DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
||||
{
|
||||
CHAR Buffer[80];
|
||||
PCSTR Identifier;
|
||||
PCONFIGURATION_COMPONENT_DATA ControllerKey;
|
||||
USHORT VesaVersion;
|
||||
|
||||
|
@ -1325,25 +1319,20 @@ DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
}
|
||||
|
||||
if (VesaVersion >= 0x0200)
|
||||
{
|
||||
strcpy(Buffer, "VBE Display");
|
||||
}
|
||||
Identifier = "VBE Display";
|
||||
else
|
||||
{
|
||||
strcpy(Buffer, "VGA Display");
|
||||
}
|
||||
Identifier = "VGA Display";
|
||||
|
||||
FldrCreateComponentKey(BusKey,
|
||||
ControllerClass,
|
||||
DisplayController,
|
||||
0x0,
|
||||
0x0,
|
||||
Output | ConsoleOut,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
Buffer,
|
||||
Identifier,
|
||||
NULL,
|
||||
0,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: DisplayController\\0\n");
|
||||
|
||||
/* FIXME: Add display peripheral (monitor) data */
|
||||
if (VesaVersion != 0)
|
||||
|
@ -1354,7 +1343,6 @@ DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
if (BiosVesaReadEdid())
|
||||
{
|
||||
TRACE("EDID data read successfully!\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1388,8 +1376,8 @@ DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"ISA",
|
||||
PartialResourceList,
|
||||
|
@ -1434,9 +1422,8 @@ PcHwDetect(VOID)
|
|||
TRACE("DetectHardware()\n");
|
||||
|
||||
/* Create the 'System' key */
|
||||
FldrCreateSystemKey(&SystemKey);
|
||||
// TODO: Discover and set the other machine types
|
||||
FldrSetIdentifier(SystemKey, "AT/AT COMPATIBLE");
|
||||
FldrCreateSystemKey(&SystemKey, "AT/AT COMPATIBLE");
|
||||
|
||||
GetHarddiskConfigurationData = PcGetHarddiskConfigurationData;
|
||||
FindPciBios = PcFindPciBios;
|
||||
|
|
|
@ -223,7 +223,7 @@ DetectBiosFloppyPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
Ptr = GetInt1eTable();
|
||||
|
||||
/* Set 'Identifier' value */
|
||||
sprintf(Identifier, "FLOPPY%d", FloppyNumber + 1);
|
||||
RtlStringCbPrintfA(Identifier, sizeof(Identifier), "FLOPPY%d", FloppyNumber + 1);
|
||||
|
||||
Size = sizeof(CM_PARTIAL_RESOURCE_LIST) +
|
||||
sizeof(CM_FLOPPY_DEVICE_DATA);
|
||||
|
@ -333,7 +333,6 @@ DetectBiosFloppyController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: DiskController\\0\n");
|
||||
|
||||
if (FloppyCount)
|
||||
DetectBiosFloppyPeripheral(ControllerKey);
|
||||
|
@ -414,7 +413,7 @@ DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey,
|
|||
/* Create and fill subkey for each harddisk */
|
||||
for (i = 0; i < DiskCount; i++)
|
||||
{
|
||||
PCHAR Identifier;
|
||||
PCSTR Identifier;
|
||||
|
||||
DriveNumber = 0x80 + i;
|
||||
|
||||
|
|
|
@ -220,7 +220,6 @@ DetectBiosFloppyPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&PeripheralKey);
|
||||
TRACE("Created key: FloppyDiskPeripheral\\%d\n", FloppyNumber);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -306,7 +305,6 @@ DetectBiosFloppyController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: DiskController\\0\n");
|
||||
|
||||
if (FloppyCount)
|
||||
DetectBiosFloppyPeripheral(ControllerKey);
|
||||
|
@ -444,7 +442,7 @@ DetectBiosDisks(
|
|||
/* Create and fill subkey for each harddisk */
|
||||
for (i = 0; i < DiskCount; i++)
|
||||
{
|
||||
PCHAR Identifier;
|
||||
PCSTR Identifier;
|
||||
|
||||
DriveNumber = 0x80 + i;
|
||||
|
||||
|
@ -463,7 +461,6 @@ DetectBiosDisks(
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&DiskKey);
|
||||
TRACE("Created key: DiskPeripheral\\%d\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -501,7 +498,6 @@ DetectPointerPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&PeripheralKey);
|
||||
TRACE("Created key: PointerPeripheral\\0\n");
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
@ -577,7 +573,6 @@ DetectPointerController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: PointerController\\0\n");
|
||||
|
||||
DetectPointerPeripheral(ControllerKey);
|
||||
}
|
||||
|
@ -589,7 +584,7 @@ DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptor;
|
||||
PCM_KEYBOARD_DEVICE_DATA KeyboardData;
|
||||
PCONFIGURATION_COMPONENT_DATA PeripheralKey;
|
||||
CHAR Identifier[80];
|
||||
PCSTR Identifier;
|
||||
ULONG Size;
|
||||
REGS Regs;
|
||||
UCHAR KeyboardType = ((*(PUCHAR)MEM_KEYB_TYPE & 0x40) >> 5) |
|
||||
|
@ -636,11 +631,11 @@ DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
((Regs.b.al & 0x01) << 1);
|
||||
|
||||
if (KeyboardType == 0)
|
||||
RtlStringCbPrintfA(Identifier, sizeof(Identifier), "PC98_NmodeKEY");
|
||||
Identifier = "PC98_NmodeKEY";
|
||||
else if (KeyboardType == 2)
|
||||
RtlStringCbPrintfA(Identifier, sizeof(Identifier), "PC98_106KEY");
|
||||
Identifier = "PC98_106KEY";
|
||||
else
|
||||
RtlStringCbPrintfA(Identifier, sizeof(Identifier), "PC98_LaptopKEY");
|
||||
Identifier = "PC98_LaptopKEY";
|
||||
|
||||
/* Create controller key */
|
||||
FldrCreateComponentKey(ControllerKey,
|
||||
|
@ -653,7 +648,6 @@ DetectKeyboardPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&PeripheralKey);
|
||||
TRACE("Created key: KeyboardPeripheral\\0\n");
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
@ -714,7 +708,6 @@ DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: KeyboardController\\0\n");
|
||||
|
||||
DetectKeyboardPeripheral(ControllerKey);
|
||||
}
|
||||
|
@ -801,7 +794,6 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: ParallelController\\0\n");
|
||||
}
|
||||
|
||||
static VOID
|
||||
|
@ -898,7 +890,6 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: SerialController\\%d\n", ControllerNumber);
|
||||
|
||||
++ControllerNumber;
|
||||
}
|
||||
|
@ -963,7 +954,6 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
TRACE("Created key: SerialController\\%d\n", ControllerNumber);
|
||||
|
||||
++ControllerNumber;
|
||||
}
|
||||
|
@ -994,7 +984,7 @@ DetectCBusBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"ISA",
|
||||
|
@ -1043,7 +1033,7 @@ DetectNesaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"EISA",
|
||||
|
@ -1178,8 +1168,8 @@ DetectPnpBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"PNP BIOS",
|
||||
PartialResourceList,
|
||||
|
@ -1198,8 +1188,7 @@ Pc98HwDetect(VOID)
|
|||
TRACE("DetectHardware()\n");
|
||||
|
||||
/* Create the 'System' key */
|
||||
FldrCreateSystemKey(&SystemKey);
|
||||
FldrSetIdentifier(SystemKey, "NEC PC-98");
|
||||
FldrCreateSystemKey(&SystemKey, "NEC PC-98");
|
||||
|
||||
GetHarddiskConfigurationData = Pc98GetHarddiskConfigurationData;
|
||||
FindPciBios = PcFindPciBios;
|
||||
|
|
|
@ -157,7 +157,6 @@ XboxGetHarddiskConfigurationData(UCHAR DriveNumber, ULONG* pSize)
|
|||
static VOID
|
||||
DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
||||
{
|
||||
CHAR Buffer[80];
|
||||
PCONFIGURATION_COMPONENT_DATA ControllerKey;
|
||||
PCM_PARTIAL_RESOURCE_LIST PartialResourceList;
|
||||
PCM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptor;
|
||||
|
@ -166,8 +165,6 @@ DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
if (FrameBufferSize == 0)
|
||||
return;
|
||||
|
||||
strcpy(Buffer, "NV2A Framebuffer");
|
||||
|
||||
Size = sizeof(CM_PARTIAL_RESOURCE_LIST);
|
||||
PartialResourceList = FrLdrHeapAlloc(Size, TAG_HW_RESOURCE_LIST);
|
||||
if (PartialResourceList == NULL)
|
||||
|
@ -193,15 +190,13 @@ DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
FldrCreateComponentKey(BusKey,
|
||||
ControllerClass,
|
||||
DisplayController,
|
||||
0x0,
|
||||
0x0,
|
||||
Output | ConsoleOut,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
Buffer,
|
||||
"NV2A Framebuffer",
|
||||
PartialResourceList,
|
||||
Size,
|
||||
&ControllerKey);
|
||||
|
||||
TRACE("Created key: DisplayController\\0\n");
|
||||
}
|
||||
|
||||
static
|
||||
|
@ -232,8 +227,8 @@ DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
|
|||
FldrCreateComponentKey(SystemKey,
|
||||
AdapterClass,
|
||||
MultiFunctionAdapter,
|
||||
0x0,
|
||||
0x0,
|
||||
0,
|
||||
0,
|
||||
0xFFFFFFFF,
|
||||
"ISA",
|
||||
PartialResourceList,
|
||||
|
@ -276,8 +271,7 @@ XboxHwDetect(VOID)
|
|||
TRACE("DetectHardware()\n");
|
||||
|
||||
/* Create the 'System' key */
|
||||
FldrCreateSystemKey(&SystemKey);
|
||||
FldrSetIdentifier(SystemKey, "Original Xbox (PC/AT like)");
|
||||
FldrCreateSystemKey(&SystemKey, "Original Xbox (PC/AT like)");
|
||||
|
||||
GetHarddiskConfigurationData = XboxGetHarddiskConfigurationData;
|
||||
FindPciBios = XboxFindPciBios;
|
||||
|
|
|
@ -33,39 +33,27 @@ AddReactOSArcDiskInfo(
|
|||
// ARC Component Configuration Routines
|
||||
//
|
||||
VOID
|
||||
NTAPI
|
||||
FldrSetIdentifier(
|
||||
IN PCONFIGURATION_COMPONENT_DATA ComponentData,
|
||||
IN PCHAR IdentifierString
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrSetConfigurationData(
|
||||
IN PCONFIGURATION_COMPONENT_DATA ComponentData,
|
||||
IN PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
IN ULONG Size
|
||||
);
|
||||
_Inout_ PCONFIGURATION_COMPONENT_DATA ComponentData,
|
||||
_In_ PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
_In_ ULONG Size);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrCreateSystemKey(
|
||||
OUT PCONFIGURATION_COMPONENT_DATA *SystemKey
|
||||
);
|
||||
_Out_ PCONFIGURATION_COMPONENT_DATA* SystemNode,
|
||||
_In_ PCSTR IdentifierString);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
FldrCreateComponentKey(
|
||||
IN PCONFIGURATION_COMPONENT_DATA SystemKey,
|
||||
IN CONFIGURATION_CLASS Class,
|
||||
IN CONFIGURATION_TYPE Type,
|
||||
IN IDENTIFIER_FLAG Flags,
|
||||
IN ULONG Key,
|
||||
IN ULONG Affinity,
|
||||
IN PCHAR IdentifierString,
|
||||
IN PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
IN ULONG Size,
|
||||
OUT PCONFIGURATION_COMPONENT_DATA *ComponentKey
|
||||
);
|
||||
_In_ PCONFIGURATION_COMPONENT_DATA SystemNode,
|
||||
_In_ CONFIGURATION_CLASS Class,
|
||||
_In_ CONFIGURATION_TYPE Type,
|
||||
_In_ IDENTIFIER_FLAG Flags,
|
||||
_In_ ULONG Key,
|
||||
_In_ ULONG Affinity,
|
||||
_In_ PCSTR IdentifierString,
|
||||
_In_ PCM_PARTIAL_RESOURCE_LIST ResourceList,
|
||||
_In_ ULONG Size,
|
||||
_Out_ PCONFIGURATION_COMPONENT_DATA* ComponentKey);
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Reference in a new issue