55{
62
64
65 if (Rsdp)
66 {
67
69
70
73
74
75 PartialResourceList =
78 if (PartialResourceList ==
NULL)
79 {
80 ERR(
"Failed to allocate resource descriptor\n");
81 return;
82 }
83
85 PartialResourceList->
Version = 0;
87 PartialResourceList->
Count = 1;
88
93
94
96
98 {
99 TRACE(
"ACPI >1.0, using XSDT address\n");
101 }
102 else
103 {
104 TRACE(
"ACPI 1.0, using RSDT address\n");
106 }
107
111
114
115
119 0,
120 0,
121 0xFFFFFFFF,
122 "ACPI BIOS",
123 PartialResourceList,
125 &BiosKey);
126
127
128 (*BusNumber)++;
129 }
130}
VOID 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)
static PRSDP_DESCRIPTOR FindAcpiBios(VOID)
FORCEINLINE PVOID FrLdrHeapAlloc(SIZE_T MemorySize, ULONG Tag)
#define CmResourceTypeDeviceSpecific
#define memcpy(s1, s2, n)
struct _ACPI_BIOS_DATA * PACPI_BIOS_DATA
BIOS_MEMORY_MAP PcBiosMemoryMap[MAX_BIOS_DESCRIPTORS]
ULONG rsdt_physical_address
ULONGLONG xsdt_physical_address
PHYSICAL_ADDRESS RSDTAddress
BIOS_MEMORY_MAP MemoryMap[1]
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@391::@400 DeviceSpecificData
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@391 u
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
#define RtlZeroMemory(Destination, Length)
#define TAG_HW_RESOURCE_LIST
@ CmResourceShareUndetermined
_Must_inspect_result_ typedef _Out_ PULONG TableSize