60{
67
69
70 if (Rsdp)
71 {
72
74
75
78
79
80 PartialResourceList =
83 if (PartialResourceList ==
NULL)
84 {
85 ERR(
"Failed to allocate resource descriptor\n");
86 return;
87 }
88
90 PartialResourceList->
Version = 0;
92 PartialResourceList->
Count = 1;
93
98
99
101
103 {
104 TRACE(
"ACPI >1.0, using XSDT address\n");
106 }
107 else
108 {
109 TRACE(
"ACPI 1.0, using RSDT address\n");
111 }
112
116
119
120
124 0,
125 0,
126 0xFFFFFFFF,
127 "ACPI BIOS",
128 PartialResourceList,
130 &BiosKey);
131
132
133 (*BusNumber)++;
134 }
135}
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)
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]
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@424 u
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@424::@433 DeviceSpecificData
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
#define RtlZeroMemory(Destination, Length)
#define TAG_HW_RESOURCE_LIST
@ CmResourceShareUndetermined
_Must_inspect_result_ typedef _Out_ PULONG TableSize