[NTOSKRNL]
[reactos.git] / reactos / ntoskrnl / fstub / halstub.c
index 1226298..a89ce80 100644 (file)
-/*\r
-* PROJECT:         ReactOS Kernel\r
-* LICENSE:         GPL - See COPYING in the top level directory\r
-* FILE:            ntoskrnl/fstub/halstub.c\r
-* PURPOSE:         I/O Stub HAL Routines\r
-* PROGRAMMERS:     Alex Ionescu (alex.ionescu@reactos.org)\r
-*/\r
-\r
-/* INCLUDES ******************************************************************/\r
-\r
-#include <ntoskrnl.h>\r
-#define NDEBUG\r
-#include <internal/debug.h>\r
-\r
-/* GLOBALS *******************************************************************/\r
-\r
-HAL_DISPATCH HalDispatchTable =\r
-{\r
-    HAL_DISPATCH_VERSION,\r
-    (pHalQuerySystemInformation)NULL,\r
-    (pHalSetSystemInformation)NULL,\r
-    (pHalQueryBusSlots)NULL,\r
-    0,\r
-    (pHalExamineMBR)HalExamineMBR,\r
-    (pHalIoAssignDriveLetters)IoAssignDriveLetters,\r
-    (pHalIoReadPartitionTable)IoReadPartitionTable,\r
-    (pHalIoSetPartitionInformation)IoSetPartitionInformation,\r
-    (pHalIoWritePartitionTable)IoWritePartitionTable,\r
-    (pHalHandlerForBus)NULL,\r
-    (pHalReferenceBusHandler)NULL,\r
-    (pHalReferenceBusHandler)NULL,\r
-    (pHalInitPnpDriver)NULL,\r
-    (pHalInitPowerManagement)NULL,\r
-    (pHalGetDmaAdapter) NULL,\r
-    (pHalGetInterruptTranslator)NULL,\r
-    (pHalStartMirroring)NULL,\r
-    (pHalEndMirroring)NULL,\r
-    (pHalMirrorPhysicalMemory)NULL,\r
-    (pHalEndOfBoot)NULL,\r
-    (pHalMirrorVerify)NULL\r
-};\r
-\r
-HAL_PRIVATE_DISPATCH HalPrivateDispatchTable =\r
-{\r
-    HAL_PRIVATE_DISPATCH_VERSION,\r
-    (pHalHandlerForBus)NULL,\r
-    (pHalHandlerForConfigSpace)NULL,\r
-    (pHalLocateHiberRanges)NULL,\r
-    (pHalRegisterBusHandler)NULL,\r
-    (pHalSetWakeEnable)NULL,\r
-    (pHalSetWakeAlarm)NULL,\r
-    (pHalTranslateBusAddress)NULL,\r
-    (pHalAssignSlotResources)NULL,\r
-    (pHalHaltSystem)NULL,\r
-    (pHalFindBusAddressTranslation)NULL,\r
-    (pHalResetDisplay)NULL,\r
-    (pHalAllocateMapRegisters)NULL,\r
-    (pKdSetupPciDeviceForDebugging)NULL,\r
-    (pKdReleasePciDeviceForDebugging)NULL,\r
-    (pKdGetAcpiTablePhase0)NULL,\r
-    (pKdCheckPowerButton)NULL,\r
-    (pHalVectorToIDTEntry)NULL,\r
-    (pKdMapPhysicalMemory64)NULL,\r
-    (pKdUnmapVirtualAddress)NULL\r
-};\r
-\r
-/* FUNCTIONS *****************************************************************/\r
-\r
-\r
-/* EOF */\r
+/*
+* PROJECT:         ReactOS Kernel
+* LICENSE:         GPL - See COPYING in the top level directory
+* 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 ******************************************************************/
+
+#include <ntoskrnl.h>
+#define NDEBUG
+#include <debug.h>
+
+/* GLOBALS *******************************************************************/
+
+HAL_DISPATCH HalDispatchTable =
+{
+    HAL_DISPATCH_VERSION,
+    xHalQuerySystemInformation,
+    xHalSetSystemInformation,
+    xHalQueryBusSlots,
+    0,
+    xHalExamineMBR,
+    xHalIoAssignDriveLetters,
+    xHalIoReadPartitionTable,
+    xHalIoSetPartitionInformation,
+    xHalIoWritePartitionTable,
+    xHalHandlerForBus,
+    xHalReferenceHandler,
+    xHalReferenceHandler,
+    xHalInitPnpDriver,
+    xHalInitPowerManagement,
+    (pHalGetDmaAdapter) NULL,
+    xHalGetInterruptTranslator,
+    xHalStartMirroring,
+    xHalEndMirroring,
+    xHalMirrorPhysicalMemory,
+    xHalEndOfBoot,
+    xHalMirrorPhysicalMemory
+};
+
+HAL_PRIVATE_DISPATCH HalPrivateDispatchTable =
+{
+    HAL_PRIVATE_DISPATCH_VERSION,
+    xHalHandlerForBus,
+    (pHalHandlerForConfigSpace)xHalHandlerForBus,
+    xHalLocateHiberRanges,
+    xHalRegisterBusHandler,
+    xHalSetWakeEnable,
+    xHalSetWakeAlarm,
+    xHalTranslateBusAddress,
+    (pHalAssignSlotResources)xHalTranslateBusAddress,
+    xHalHaltSystem,
+    (pHalFindBusAddressTranslation)NULL,
+    (pHalResetDisplay)NULL,
+    xHalAllocateMapRegisters,
+    xKdSetupPciDeviceForDebugging,
+    xKdReleasePciDeviceForDebugging,
+    xKdGetAcpiTablePhase,
+    (pKdCheckPowerButton)xHalReferenceHandler,
+    xHalVectorToIDTEntry,
+    (pKdMapPhysicalMemory64)MatchAll,
+    (pKdUnmapVirtualAddress)xKdUnmapVirtualAddress
+};
+
+/* FUNCTIONS *****************************************************************/
+
+UCHAR
+NTAPI
+xHalVectorToIDTEntry(IN ULONG Vector)
+{
+    /* Return the vector */
+    return Vector;
+}
+
+VOID
+NTAPI
+xHalHaltSystem(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;
+}