mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-28 19:26:16 +00:00
[NTOSKRNL]
Add most of the missing HAL stubs for both public & private dispatch tables svn path=/trunk/; revision=51016
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
* FILE: ntoskrnl/fstub/halstub.c
|
||||
* PURPOSE: I/O Stub HAL Routines
|
||||
* PROGRAMMERS: Alex Ionescu ([email protected])
|
||||
Pierre Schweitzer ([email protected])
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
@@ -17,51 +18,51 @@
|
||||
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,
|
||||
xHalGetInterruptTranslator,
|
||||
(pHalStartMirroring)NULL,
|
||||
(pHalEndMirroring)NULL,
|
||||
(pHalMirrorPhysicalMemory)NULL,
|
||||
xHalStartMirroring,
|
||||
xHalEndMirroring,
|
||||
xHalMirrorPhysicalMemory,
|
||||
xHalEndOfBoot,
|
||||
(pHalMirrorVerify)NULL
|
||||
xHalMirrorPhysicalMemory
|
||||
};
|
||||
|
||||
HAL_PRIVATE_DISPATCH HalPrivateDispatchTable =
|
||||
{
|
||||
HAL_PRIVATE_DISPATCH_VERSION,
|
||||
(pHalHandlerForBus)NULL,
|
||||
(pHalHandlerForConfigSpace)NULL,
|
||||
(pHalLocateHiberRanges)NULL,
|
||||
(pHalRegisterBusHandler)NULL,
|
||||
xHalHandlerForBus,
|
||||
(pHalHandlerForConfigSpace)xHalHandlerForBus,
|
||||
xHalLocateHiberRanges,
|
||||
xHalRegisterBusHandler,
|
||||
xHalSetWakeEnable,
|
||||
(pHalSetWakeAlarm)NULL,
|
||||
(pHalTranslateBusAddress)NULL,
|
||||
(pHalAssignSlotResources)NULL,
|
||||
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 *****************************************************************/
|
||||
@@ -86,6 +87,8 @@ VOID
|
||||
NTAPI
|
||||
xHalEndOfBoot(VOID)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
/* Nothing */
|
||||
return;
|
||||
}
|
||||
@@ -97,3 +100,193 @@ 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;
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
* FILE: ntoskrnl/include/hal.h
|
||||
* PURPOSE: Internal header for the I/O HAL Functions (Fstub)
|
||||
* PROGRAMMERS: Alex Ionescu ([email protected])
|
||||
* Pierre Schweitzer ([email protected])
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
@@ -73,13 +74,167 @@ xHalVectorToIDTEntry(
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalGetInterruptTranslator(IN INTERFACE_TYPE ParentInterfaceType,
|
||||
IN ULONG ParentBusNumber,
|
||||
IN INTERFACE_TYPE BridgeInterfaceType,
|
||||
IN USHORT Size,
|
||||
IN USHORT Version,
|
||||
OUT PTRANSLATOR_INTERFACE Translator,
|
||||
OUT PULONG BridgeBusNumber);
|
||||
xHalGetInterruptTranslator(
|
||||
IN INTERFACE_TYPE ParentInterfaceType,
|
||||
IN ULONG ParentBusNumber,
|
||||
IN INTERFACE_TYPE BridgeInterfaceType,
|
||||
IN USHORT Size,
|
||||
IN USHORT Version,
|
||||
OUT PTRANSLATOR_INTERFACE Translator,
|
||||
OUT PULONG BridgeBusNumber
|
||||
);
|
||||
|
||||
PBUS_HANDLER
|
||||
FASTCALL
|
||||
xHalHandlerForBus(
|
||||
IN INTERFACE_TYPE InterfaceType,
|
||||
IN ULONG BusNumber
|
||||
);
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
xHalReferenceHandler(
|
||||
IN PBUS_HANDLER BusHandler
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalInitPnpDriver(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalInitPowerManagement(
|
||||
IN PPM_DISPATCH_TABLE PmDriverDispatchTable,
|
||||
OUT PPM_DISPATCH_TABLE *PmHalDispatchTable
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalStartMirroring(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalEndMirroring(
|
||||
IN ULONG PassNumber
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalMirrorPhysicalMemory(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN LARGE_INTEGER NumberOfBytes
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalQueryBusSlots(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN ULONG BufferSize,
|
||||
OUT PULONG SlotNumbers,
|
||||
OUT PULONG ReturnedLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalSetSystemInformation(
|
||||
IN HAL_SET_INFORMATION_CLASS InformationClass,
|
||||
IN ULONG BufferSize,
|
||||
IN PVOID Buffer
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalQuerySystemInformation(
|
||||
IN HAL_QUERY_INFORMATION_CLASS InformationClass,
|
||||
IN ULONG BufferSize,
|
||||
IN OUT PVOID Buffer,
|
||||
OUT PULONG ReturnedLength
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
xHalLocateHiberRanges(
|
||||
IN PVOID MemoryMap
|
||||
);
|
||||
|
||||
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
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
xHalSetWakeAlarm(
|
||||
IN ULONGLONG AlartTime,
|
||||
IN PTIME_FIELDS TimeFields
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
xHalTranslateBusAddress(
|
||||
IN INTERFACE_TYPE InterfaceType,
|
||||
IN ULONG BusNumber,
|
||||
IN PHYSICAL_ADDRESS BusAddress,
|
||||
IN OUT PULONG AddressSpace,
|
||||
OUT PPHYSICAL_ADDRESS TranslatedAddress
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xHalAllocateMapRegisters(
|
||||
IN PADAPTER_OBJECT AdapterObject,
|
||||
IN ULONG Unknown,
|
||||
IN ULONG Unknown2,
|
||||
PMAP_REGISTER_ENTRY Registers
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xKdSetupPciDeviceForDebugging(
|
||||
IN PVOID LoaderBlock OPTIONAL,
|
||||
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
xKdReleasePciDeviceForDebugging(
|
||||
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
|
||||
);
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
xKdGetAcpiTablePhase(
|
||||
IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
IN ULONG Signature
|
||||
);
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
MatchAll(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN ULONG NumberPages,
|
||||
IN BOOLEAN FlushCurrentTLB
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
xKdUnmapVirtualAddress(
|
||||
IN PVOID VirtualAddress,
|
||||
IN ULONG NumberPages,
|
||||
IN BOOLEAN FlushCurrentTLB
|
||||
);
|
||||
|
||||
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user