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:
Samuel Serapion 2009-12-30 07:53:02 +00:00
parent 1a46e2dfde
commit 8403dd605f
8 changed files with 215 additions and 8 deletions

View file

@ -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 */

View file

@ -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>

View file

@ -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

View file

@ -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>

View file

@ -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;
}

View 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;;
}

View file

@ -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

View file

@ -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
//