HalpDmaInit
VOID __fastcall HalpDmaInit(){
PINTERRUPT_INITIALIZE_IO_UNIT *v0;
HalpCoreDmaAlignment = KeLargestCacheLine;
if( HalpDmaInitializeMasterAdapter(
&MasterAdapter,
MasterAdapter.MapBufferPhysicalAddress,
(_LARGE_INTEGER)MasterAdapter.MapBufferSize,
0) >= 0 )
{
MasterAdapter.AdapterObject.MaximumPhysicalAddress.QuadPart = 0xFFFFFFi64;
MasterAdapter.AdapterObject.LibraryVersion = 2;
if( HalpDmaInitializeMasterAdapter(
&stru_140C4BA20,
stru_140C4BA20.MapBufferPhysicalAddress,
(_LARGE_INTEGER)stru_140C4BA20.MapBufferSize,
0) >= 0 )
{
stru_140C4BA20.AdapterObject.MaximumPhysicalAddress.QuadPart = 0xFFFFFFi64;
stru_140C4BA20.AdapterObject.LibraryVersion = 3;
if( HalpDmaInitializeMasterAdapter(
&stru_140C4B940,
stru_140C4B940.MapBufferPhysicalAddress,
(_LARGE_INTEGER)stru_140C4B940.MapBufferSize,
0) >= 0 )
{
stru_140C4B940.AdapterObject.LibraryVersion = 2;
if( HalpDmaInitializeMasterAdapter(
&stru_140C4BB00,
stru_140C4BB00.MapBufferPhysicalAddress,
(_LARGE_INTEGER)stru_140C4BB00.MapBufferSize,
0) >= 0 )
{
stru_140C4BB00.AdapterObject.LibraryVersion = 3;
if( HalpDmaAllocateEmergencyResources(v0) >= 0
&& HalpDmaAllocateMappingResources() >= 0
&& HalpDmaInitializeControllers() >= 0
&& HalpDmaInitializeDomain() >= 0
&& HalpLaAddReservation(0i64, 1i64) >= 0 )
{
HalpLaAddReservation(4276092928i64, 0x100000i64);
}
}
}
}
}
}Referenced by:
HalpDmaInitSystem