diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/nthals/x86new/x86new.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/ntos/nthals/x86new/x86new.h')
-rw-r--r-- | private/ntos/nthals/x86new/x86new.h | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/private/ntos/nthals/x86new/x86new.h b/private/ntos/nthals/x86new/x86new.h new file mode 100644 index 000000000..3f5664cc8 --- /dev/null +++ b/private/ntos/nthals/x86new/x86new.h @@ -0,0 +1,168 @@ +/*++ BUILD Version: 0000 // Increment this if a change has global effects + +Copyright (c) 1994 Microsoft Corporation + +Module Name: + + x86new.h + +Abstract: + + This module contains the public header file that describes the + HAL interfaces to the 386/486 BIOS emulation. + +Author: + + David N. Cutler (davec) 13-Nov-1994 + +Revision History: + +--*/ + +#ifndef _X86NEW_ +#define _X86NEW_ + +// +// PCI Bios function code defintitions. +// +// AH: +// + +#define PCI_FUNCTION_ID 0xb1 + +// +// AL: +// + +#define PCI_BIOS_PRESENT 0x01 +#define PCI_FIND_DEVICE 0x02 +#define PCI_FIND_CLASS_CODE 0x03 +#define PCI_GENERATE_CYCLE 0x06 +#define PCI_READ_CONFIG_BYTE 0x08 +#define PCI_READ_CONFIG_WORD 0x09 +#define PCI_READ_CONFIG_DWORD 0x0a +#define PCI_WRITE_CONFIG_BYTE 0x0b +#define PCI_WRITE_CONFIG_WORD 0x0c +#define PCI_WRITE_CONFIG_DWORD 0x0d +#define PCI_GET_IRQ_ROUTING 0x0e +#define PCI_SET_IRQ 0x0f + +// +// PCI Bios function return code values. +// + +#define PCI_SUCCESS 0x00 +#define PCI_NOT_SUPPORTED 0x81 +#define PCI_BAD_VENDOR_ID 0x83 +#define PCI_DEVICE_NOT_FOUND 0x86 +#define PCI_BAD_REGISTER 0x87 +#define PCI_SET_FAILED 0x88 +#define PCI_BUFFER_TOO_SMALL 0x89 + +// +// Miscellaneous PCI codes. +// + +#define PCI_CONFIG_MECHANISM_2 0x02 +#define PCI_ILLEGAL_VENDOR_ID 0xffff + +// +// Define PCI get/set function type. +// + +typedef +ULONG +(*PGETSETPCIBUSDATA)( + IN ULONG BusNumber, + IN ULONG SlotNumber, + IN PVOID Buffer, + IN ULONG Offset, + IN ULONG Length + ); + +// +// Define BIOS emulation interfaces. +// + +VOID +x86BiosInitializeBios ( + IN PVOID BiosIoSpace, + IN PVOID BiosIoMemory + ); + +VOID +x86BiosInitializeBiosShadowed ( + IN PVOID BiosIoSpace, + IN PVOID BiosIoMemory, + IN PVOID BiosFrameBuffer + ); + +VOID +x86BiosInitializeBiosShadowedPci ( + IN PVOID BiosIoSpace, + IN PVOID BiosIoMemory, + IN PVOID BiosFrameBuffer, + IN UCHAR NumberPciBusses, + IN PGETSETPCIBUSDATA GetPciData, + IN PGETSETPCIBUSDATA SetPciData + ); + +XM_STATUS +x86BiosExecuteInterrupt ( + IN UCHAR Number, + IN OUT PXM86_CONTEXT Context, + IN PVOID BiosIoSpace OPTIONAL, + IN PVOID BiosIoMemory OPTIONAL + ); + +XM_STATUS +x86BiosExecuteInterruptShadowed ( + IN UCHAR Number, + IN OUT PXM86_CONTEXT Context, + IN PVOID BiosIoSpace OPTIONAL, + IN PVOID BiosIoMemory OPTIONAL, + IN PVOID BiosFrameBuffer OPTIONAL + ); + +XM_STATUS +x86BiosExecuteInterruptShadowedPci ( + IN UCHAR Number, + IN OUT PXM86_CONTEXT Context, + IN PVOID BiosIoSpace OPTIONAL, + IN PVOID BiosIoMemory OPTIONAL, + IN PVOID BiosFrameBuffer OPTIONAL, + IN UCHAR NumberPciBusses, + IN PGETSETPCIBUSDATA GetPciData, + IN PGETSETPCIBUSDATA SetPciData + ); + +XM_STATUS +x86BiosInitializeAdapter ( + IN ULONG Adapter, + IN OUT PXM86_CONTEXT Context OPTIONAL, + IN PVOID BiosIoSpace OPTIONAL, + IN PVOID BiosIoMemory OPTIONAL + ); + +XM_STATUS +x86BiosInitializeAdapterShadowed ( + IN ULONG Adapter, + IN OUT PXM86_CONTEXT Context OPTIONAL, + IN PVOID BiosIoSpace OPTIONAL, + IN PVOID BiosIoMemory OPTIONAL, + IN PVOID BiosFrameBuffer OPTIONAL + ); + +XM_STATUS +x86BiosInitializeAdapterShadowedPci( + IN ULONG Adapter, + IN OUT PXM86_CONTEXT Context OPTIONAL, + IN PVOID BiosIoSpace OPTIONAL, + IN PVOID BiosIoMemory OPTIONAL, + IN PVOID BiosFrameBuffer OPTIONAL, + IN UCHAR NumberPciBusses, + IN PGETSETPCIBUSDATA GetPciData, + IN PGETSETPCIBUSDATA SetPciData + ); + +#endif // _X86NEW_ |