mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 08:05:43 +00:00
Add definitions for the x86bios emulator.
http://www.geoffchappell.com/viewer.htm?doc=studies/windows/km/hal/api/x86bios/index.htm svn path=/branches/ros-amd64-bringup/; revision=44807
This commit is contained in:
parent
1a46e2dfde
commit
8403dd605f
8 changed files with 215 additions and 8 deletions
|
@ -172,6 +172,13 @@ HalAllocateCrashDumpRegisters(
|
|||
return NULL;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalBugCheckSystem (PVOID ErrorRecord)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
|
@ -248,7 +255,7 @@ VOID
|
|||
NTAPI
|
||||
HalEndSystemInterrupt(
|
||||
KIRQL Irql,
|
||||
ULONG Unknown2)
|
||||
ULONG Vector)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
@ -1106,4 +1113,61 @@ HalGetInterruptSource(VOID)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef _X86BIOS_
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosAllocateBuffer (
|
||||
ULONG *Size,
|
||||
USHORT *Segment,
|
||||
USHORT *Offset)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
x86BiosCall (
|
||||
ULONG InterruptNumber,
|
||||
X86_BIOS_REGISTERS *Registers)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosFreeBuffer (
|
||||
USHORT Segment,
|
||||
USHORT Offset)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
x86BiosReadMemory (
|
||||
USHORT Segment,
|
||||
USHORT Offset,
|
||||
PVOID Buffer,
|
||||
ULONG Size)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosWriteMemory (
|
||||
USHORT Segment,
|
||||
USHORT Offset,
|
||||
PVOID Buffer,
|
||||
ULONG Size)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
<include base="ntoskrnl">include</include>
|
||||
<library>ntoskrnl</library>
|
||||
<define name="_NTHAL_" />
|
||||
<define name="_X86BIOS_" />
|
||||
<file>hal.c</file>
|
||||
<file>hal.rc</file>
|
||||
</module>
|
||||
|
|
|
@ -9,8 +9,9 @@ HalAllProcessorsStarted
|
|||
HalAllocateAdapterChannel
|
||||
HalAllocateCommonBuffer
|
||||
HalAllocateCrashDumpRegisters
|
||||
;HalAllocateHardwareCounters
|
||||
HalAssignSlotResources
|
||||
;HalBugCheckSystem
|
||||
HalBugCheckSystem
|
||||
HalCalibratePerformanceCounter
|
||||
HalClearSoftwareInterrupt
|
||||
;HalConvertDeviceIdtToIrql
|
||||
|
@ -21,6 +22,7 @@ HalDisplayString
|
|||
;HalEnumerateProcessors
|
||||
HalFlushCommonBuffer
|
||||
HalFreeCommonBuffer
|
||||
;HalFreeHardwareCounters
|
||||
HalGetAdapter
|
||||
HalGetBusData
|
||||
HalGetBusDataByOffset
|
||||
|
@ -28,6 +30,7 @@ HalGetEnvironmentVariable
|
|||
;HalGetEnvironmentVariableEx
|
||||
;HalGetInterruptTargetInformation
|
||||
HalGetInterruptVector
|
||||
;HalGetMemoryCachingRequirements
|
||||
;HalGetMessageRoutingInfo
|
||||
;HalGetProcessorIdByNtNumber
|
||||
;HalGetVectorInput
|
||||
|
@ -39,6 +42,8 @@ HalInitSystem
|
|||
HalInitializeProcessor
|
||||
;HalIsHyperThreadingEnabled
|
||||
HalMakeBeep
|
||||
;HalMcUpdateReadPCIConfig
|
||||
;HalPerformEndOfInterrupt
|
||||
HalProcessorIdle
|
||||
HalQueryDisplayParameters
|
||||
;HalQueryEnvironmentVariableInfoEx
|
||||
|
@ -48,6 +53,8 @@ HalReadDmaCounter
|
|||
;HalRegisterDynamicProcessor
|
||||
;HalRegisterErrataCallbacks
|
||||
HalReportResourceUsage
|
||||
;HalRequestClockInterrupt
|
||||
;HalRequestDeferredRecoveryServiceInterrupt
|
||||
HalRequestIpi
|
||||
HalRequestSoftwareInterrupt
|
||||
HalReturnToFirmware
|
||||
|
@ -67,7 +74,7 @@ HalStartProfileInterrupt
|
|||
HalStopProfileInterrupt
|
||||
HalSystemVectorDispatchEntry
|
||||
HalTranslateBusAddress
|
||||
IoAssignDriveLetters
|
||||
IoAssignDriveLetters ;not present in win7
|
||||
IoFlushAdapterBuffers
|
||||
IoFreeAdapterChannel
|
||||
IoFreeMapRegisters
|
||||
|
@ -79,8 +86,8 @@ KdComPortInUse DATA
|
|||
KeFlushWriteBuffer
|
||||
KeQueryPerformanceCounter
|
||||
KeStallExecutionProcessor
|
||||
;x86BiosAllocateBuffer
|
||||
;x86BiosCall
|
||||
;x86BiosFreeBuffer
|
||||
;x86BiosReadMemory
|
||||
;x86BiosWriteMemory
|
||||
x86BiosAllocateBuffer
|
||||
x86BiosCall
|
||||
x86BiosFreeBuffer
|
||||
x86BiosReadMemory
|
||||
x86BiosWriteMemory
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<include base="ntoskrnl">include</include>
|
||||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="_NTHAL_" />
|
||||
<define name="_X86BIOS_" />
|
||||
<file>halinit.c</file>
|
||||
<file>irq.S</file>
|
||||
<file>misc.c</file>
|
||||
|
@ -13,6 +14,7 @@
|
|||
<file>systimer.S</file>
|
||||
<file>usage.c</file>
|
||||
<file>pic.c</file>
|
||||
<file>x86bios.c</file>
|
||||
<pch>../include/hal.h</pch>
|
||||
</module>
|
||||
</group>
|
||||
|
|
|
@ -96,6 +96,14 @@ HalSystemVectorDispatchEntry(IN ULONG Vector,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalBugCheckSystem (PVOID ErrorRecord)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
|
@ -126,3 +134,4 @@ KeQueryPerformanceCounter(
|
|||
Result.QuadPart = __rdtsc();
|
||||
return Result;
|
||||
}
|
||||
|
||||
|
|
69
reactos/hal/halamd64/generic/x86bios.c
Normal file
69
reactos/hal/halamd64/generic/x86bios.c
Normal file
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: See COPYING in the top level directory
|
||||
* FILE: hal/halamd64/generic/x86bios.c
|
||||
* PURPOSE:
|
||||
* PROGRAMMERS:
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
//#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosAllocateBuffer (
|
||||
ULONG *Size,
|
||||
USHORT *Segment,
|
||||
USHORT *Offset)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
x86BiosCall (
|
||||
ULONG InterruptNumber,
|
||||
X86_BIOS_REGISTERS *Registers)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosFreeBuffer (
|
||||
USHORT Segment,
|
||||
USHORT Offset)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
x86BiosReadMemory (
|
||||
USHORT Segment,
|
||||
USHORT Offset,
|
||||
PVOID Buffer,
|
||||
ULONG Size)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosWriteMemory (
|
||||
USHORT Segment,
|
||||
USHORT Offset,
|
||||
PVOID Buffer,
|
||||
ULONG Size)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_UNSUCCESSFUL;;
|
||||
}
|
||||
|
|
@ -274,5 +274,47 @@ HalSetRealTimeClock(
|
|||
IN PTIME_FIELDS RtcTime
|
||||
);
|
||||
|
||||
// x86 BIOS emulator
|
||||
#ifdef _X86BIOS_
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosAllocateBuffer (
|
||||
ULONG *Size,
|
||||
USHORT *Segment,
|
||||
USHORT *Offset
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
x86BiosCall (
|
||||
ULONG InterruptNumber,
|
||||
X86_BIOS_REGISTERS *Registers
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosFreeBuffer (
|
||||
USHORT Segment,
|
||||
USHORT Offset
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
x86BiosReadMemory (
|
||||
USHORT Segment,
|
||||
USHORT Offset,
|
||||
PVOID Buffer,
|
||||
ULONG Size
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
x86BiosWriteMemory (
|
||||
USHORT Segment,
|
||||
USHORT Offset,
|
||||
PVOID Buffer,
|
||||
ULONG Size
|
||||
);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -246,6 +246,19 @@ typedef struct _BUS_HANDLER
|
|||
PVOID Spare8;
|
||||
} BUS_HANDLER;
|
||||
|
||||
#ifdef _X86BIOS_
|
||||
typedef struct _X86_BIOS_REGISTERS {
|
||||
ULONG Eax;
|
||||
ULONG Ecx;
|
||||
ULONG Edx;
|
||||
ULONG Ebx;
|
||||
ULONG Ebp;
|
||||
ULONG Esi;
|
||||
ULONG Edi;
|
||||
USHORT SegDs;
|
||||
USHORT SegEs;
|
||||
} X86_BIOS_REGISTERS, *PX86_BIOS_REGISTERS;
|
||||
#endif
|
||||
//
|
||||
// HAL Chip Hacks
|
||||
//
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue