* FILE: ntoskrnl/fstub/halstub.c
* PURPOSE: I/O Stub HAL Routines
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
+ Pierre Schweitzer (pierre.schweitzer@reactos.org)
*/
/* INCLUDES ******************************************************************/
HAL_DISPATCH HalDispatchTable =
{
HAL_DISPATCH_VERSION,
- (pHalQuerySystemInformation)NULL,
- (pHalSetSystemInformation)NULL,
- (pHalQueryBusSlots)NULL,
+ xHalQuerySystemInformation,
+ xHalSetSystemInformation,
+ xHalQueryBusSlots,
0,
xHalExamineMBR,
xHalIoAssignDriveLetters,
xHalIoReadPartitionTable,
xHalIoSetPartitionInformation,
xHalIoWritePartitionTable,
- (pHalHandlerForBus)NULL,
- (pHalReferenceBusHandler)NULL,
- (pHalReferenceBusHandler)NULL,
- (pHalInitPnpDriver)NULL,
- (pHalInitPowerManagement)NULL,
+ xHalHandlerForBus,
+ xHalReferenceHandler,
+ xHalReferenceHandler,
+ xHalInitPnpDriver,
+ xHalInitPowerManagement,
(pHalGetDmaAdapter) NULL,
- (pHalGetInterruptTranslator)NULL,
- (pHalStartMirroring)NULL,
- (pHalEndMirroring)NULL,
- (pHalMirrorPhysicalMemory)NULL,
- (pHalEndOfBoot)NULL,
- (pHalMirrorVerify)NULL
+ xHalGetInterruptTranslator,
+ xHalStartMirroring,
+ xHalEndMirroring,
+ xHalMirrorPhysicalMemory,
+ xHalEndOfBoot,
+ xHalMirrorPhysicalMemory
};
HAL_PRIVATE_DISPATCH HalPrivateDispatchTable =
{
HAL_PRIVATE_DISPATCH_VERSION,
- (pHalHandlerForBus)NULL,
- (pHalHandlerForConfigSpace)NULL,
- (pHalLocateHiberRanges)NULL,
- (pHalRegisterBusHandler)NULL,
- (pHalSetWakeEnable)NULL,
- (pHalSetWakeAlarm)NULL,
- (pHalTranslateBusAddress)NULL,
- (pHalAssignSlotResources)NULL,
+ xHalHandlerForBus,
+ (pHalHandlerForConfigSpace)xHalHandlerForBus,
+ xHalLocateHiberRanges,
+ xHalRegisterBusHandler,
+ xHalSetWakeEnable,
+ xHalSetWakeAlarm,
+ xHalTranslateBusAddress,
+ (pHalAssignSlotResources)xHalTranslateBusAddress,
xHalHaltSystem,
(pHalFindBusAddressTranslation)NULL,
(pHalResetDisplay)NULL,
- (pHalAllocateMapRegisters)NULL,
- (pKdSetupPciDeviceForDebugging)NULL,
- (pKdReleasePciDeviceForDebugging)NULL,
- (pKdGetAcpiTablePhase0)NULL,
- (pKdCheckPowerButton)NULL,
- (pHalVectorToIDTEntry)xHalVectorToIDTEntry,
- (pKdMapPhysicalMemory64)NULL,
- (pKdUnmapVirtualAddress)NULL
+ xHalAllocateMapRegisters,
+ xKdSetupPciDeviceForDebugging,
+ xKdReleasePciDeviceForDebugging,
+ xKdGetAcpiTablePhase,
+ (pKdCheckPowerButton)xHalReferenceHandler,
+ xHalVectorToIDTEntry,
+ (pKdMapPhysicalMemory64)MatchAll,
+ (pKdUnmapVirtualAddress)xKdUnmapVirtualAddress
};
/* FUNCTIONS *****************************************************************/
xHalVectorToIDTEntry(IN ULONG Vector)
{
/* Return the vector */
- return Vector;
+ return (UCHAR)Vector;
}
VOID
/* Halt execution */
while (TRUE);
}
+
+VOID
+NTAPI
+xHalEndOfBoot(VOID)
+{
+ PAGED_CODE();
+
+ /* Nothing */
+ return;
+}
+
+VOID
+NTAPI
+xHalSetWakeEnable(IN BOOLEAN Enable)
+{
+ /* Nothing */
+ return;
+}
+
+PBUS_HANDLER
+FASTCALL
+xHalHandlerForBus(IN INTERFACE_TYPE InterfaceType,
+ IN ULONG BusNumber)
+{
+ return NULL;
+}
+
+VOID
+FASTCALL
+xHalReferenceHandler(IN PBUS_HANDLER BusHandler)
+{
+ /* Nothing */
+ return;
+}
+
+NTSTATUS
+NTAPI
+xHalInitPnpDriver(VOID)
+{
+ return STATUS_NOT_SUPPORTED;
+}
+
+NTSTATUS
+NTAPI
+xHalInitPowerManagement(IN PPM_DISPATCH_TABLE PmDriverDispatchTable,
+ OUT PPM_DISPATCH_TABLE *PmHalDispatchTable)
+{
+ return STATUS_NOT_SUPPORTED;
+}
+
+NTSTATUS
+NTAPI
+xHalStartMirroring(VOID)
+{
+ PAGED_CODE();
+
+ return STATUS_NOT_SUPPORTED;
+}
+
+NTSTATUS
+NTAPI
+xHalEndMirroring(IN ULONG PassNumber)
+{
+ return STATUS_NOT_SUPPORTED;
+}
+
+NTSTATUS
+NTAPI
+xHalMirrorPhysicalMemory(IN PHYSICAL_ADDRESS PhysicalAddress,
+ IN LARGE_INTEGER NumberOfBytes)
+{
+ return STATUS_NOT_SUPPORTED;
+}
+
+NTSTATUS
+NTAPI
+xHalQueryBusSlots(IN PBUS_HANDLER BusHandler,
+ IN ULONG BufferSize,
+ OUT PULONG SlotNumbers,
+ OUT PULONG ReturnedLength)
+{
+ PAGED_CODE();
+
+ return STATUS_NOT_SUPPORTED;
+}
+
+NTSTATUS
+NTAPI
+xHalSetSystemInformation(IN HAL_SET_INFORMATION_CLASS InformationClass,
+ IN ULONG BufferSize,
+ IN PVOID Buffer)
+{
+ PAGED_CODE();
+
+ return STATUS_INVALID_LEVEL;
+}
+
+NTSTATUS
+NTAPI
+xHalQuerySystemInformation(IN HAL_QUERY_INFORMATION_CLASS InformationClass,
+ IN ULONG BufferSize,
+ IN OUT PVOID Buffer,
+ OUT PULONG ReturnedLength)
+{
+ PAGED_CODE();
+
+ return STATUS_INVALID_LEVEL;
+}
+
+VOID
+NTAPI
+xHalLocateHiberRanges(IN PVOID MemoryMap)
+{
+ /* Nothing */
+ return;
+}
+
+NTSTATUS
+NTAPI
+xHalRegisterBusHandler(IN INTERFACE_TYPE InterfaceType,
+ IN BUS_DATA_TYPE ConfigSpace,
+ IN ULONG BusNumber,
+ IN INTERFACE_TYPE ParentInterfaceType,
+ IN ULONG ParentBusNumber,
+ IN ULONG ContextSize,
+ IN PINSTALL_BUS_HANDLER InstallCallback,
+ OUT PBUS_HANDLER *BusHandler)
+{
+ PAGED_CODE();
+
+ return STATUS_NOT_SUPPORTED;
+}
+
+VOID
+NTAPI
+xHalSetWakeAlarm(IN ULONGLONG AlartTime,
+ IN PTIME_FIELDS TimeFields)
+{
+ /* Nothing */
+ return;
+}
+
+BOOLEAN
+NTAPI
+xHalTranslateBusAddress(IN INTERFACE_TYPE InterfaceType,
+ IN ULONG BusNumber,
+ IN PHYSICAL_ADDRESS BusAddress,
+ IN OUT PULONG AddressSpace,
+ OUT PPHYSICAL_ADDRESS TranslatedAddress)
+{
+ KeBugCheckEx(HAL_INITIALIZATION_FAILED, 0, 0, 0, 0);
+
+ return FALSE;
+}
+
+NTSTATUS
+NTAPI
+xHalAllocateMapRegisters(IN PADAPTER_OBJECT AdapterObject,
+ IN ULONG Unknown,
+ IN ULONG Unknown2,
+ PMAP_REGISTER_ENTRY Registers)
+{
+ PAGED_CODE();
+
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+xKdSetupPciDeviceForDebugging(IN PVOID LoaderBlock OPTIONAL,
+ IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
+{
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+xKdReleasePciDeviceForDebugging(IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice)
+{
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+PVOID
+NTAPI
+xKdGetAcpiTablePhase(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
+ IN ULONG Signature)
+{
+ return NULL;
+}
+
+PVOID
+NTAPI
+MatchAll(IN PHYSICAL_ADDRESS PhysicalAddress,
+ IN ULONG NumberPages,
+ IN BOOLEAN FlushCurrentTLB)
+{
+ return NULL;
+}
+
+VOID
+NTAPI
+xKdUnmapVirtualAddress(IN PVOID VirtualAddress,
+ IN ULONG NumberPages,
+ IN BOOLEAN FlushCurrentTLB)
+{
+ /* Nothing */
+ return;
+}