5 #ifndef __INTERNAL_HAL_HAL_H
6 #define __INTERNAL_HAL_HAL_H
9 * FUNCTION: Probes for a BIOS32 extension
11 VOID
Hal_bios32_probe(VOID
);
14 * FUNCTION: Determines if a a bios32 service is present
16 BOOLEAN
Hal_bios32_is_service_present(ULONG service
);
19 VOID FASTCALL
HalInitializeDisplay (PLOADER_PARAMETER_BLOCK LoaderBlock
);
20 VOID FASTCALL
HalClearDisplay (UCHAR CharAttribute
);
22 VOID
HalpInitBusHandlers (VOID
);
25 VOID
HalpInitPICs(VOID
);
28 VOID
HalpCalibrateStallExecution(VOID
);
31 VOID
HalpInitPciBus (VOID
);
34 VOID
HalpStartEnumerator (VOID
);
37 * ADAPTER_OBJECT - Track a busmaster DMA adapter and its associated resources
40 * - I have not found any documentation on this; if you have any, please
41 * fix this struct definition
42 * - Some of this is right and some of this is wrong; many of these fields
43 * are unused at this point because X86 doesn't have map registers and
44 * currently that's all ROS supports
46 struct _ADAPTER_OBJECT
{
47 INTERFACE_TYPE InterfaceType
;
56 ULONG AvailableMapRegisters
;
57 PVOID MapRegisterBase
;
58 ULONG AllocatedMapRegisters
;
59 PWAIT_CONTEXT_BLOCK WaitContextBlock
;
60 PKDEVICE_QUEUE DeviceQueue
;
61 BOOLEAN UsesPhysicalMapRegisters
;
66 HalpQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass
,
69 OUT PULONG ReturnedLength
);
72 /* Non-standard functions */
74 HalReleaseDisplayOwnership();
77 HalQueryDisplayOwnership();
80 #endif /* __INTERNAL_HAL_HAL_H */