summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/x86new/x86new.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/nthals/x86new/x86new.h
downloadNT4.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.h168
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_