HalpAcpiCopyBiosTable
_LARGE_INTEGER *__stdcall HalpAcpiCopyBiosTable(
_LOADER_PARAMETER_BLOCK *LoaderBlock,
_DESCRIPTION_HEADER *Header,
_LARGE_INTEGER PhysicalAddress){
size_t v4;
UINT8 *Memory;
_LARGE_INTEGER *v7;
_LARGE_INTEGER *v8;
v4 = Header->Length + 24;
Memory = HalpAcpiAllocateMemory(LoaderBlock, v4);
v7 = (_LARGE_INTEGER *)Memory;
if( !Memory )
return 0i64;
memset(Memory, 0i64, v4);
v7[2] = PhysicalAddress;
v8 = v7 + 3;
memmove(&v7[3], Header, Header->Length);
if( HalpAcpiValidateAcpiTable((INT64)Header) < 0 )
KeBugCheckEx(0xA5u, (PVOID)0x1000B, (PVOID)Header->Signature, Header, 0i64);
return v8;
}Referenced by:
HalpAcpiGetAllTablesWork
HalpAcpiGetRsdt
HalpAcpiGetTableWork
HalpAcpiTableCacheInit