Basic context, frames and exceptions definitions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
f74ba62f24
commit
ca1d7ddfe8
@ -9,12 +9,19 @@
|
||||
#ifndef __XTDK_AMD64_KETYPES_H
|
||||
#define __XTDK_AMD64_KETYPES_H
|
||||
|
||||
#include <xtbase.h>
|
||||
#include <xttypes.h>
|
||||
|
||||
|
||||
/* Size of the exception area */
|
||||
#define EXCEPTION_AREA_SIZE 64
|
||||
|
||||
/* IOPM Definitions */
|
||||
#define IO_ACCESS_MAP_NONE 0
|
||||
|
||||
/* Size of the FNSAVE/FRSTOR save area */
|
||||
#define FLOATING_SAVE_AREA_SIZE ((sizeof(FLOATING_SAVE_AREA) + 15) & ~15)
|
||||
|
||||
/* Static Kernel-Mode address start */
|
||||
#define KSEG0_BASE 0xFFFFF80000000000
|
||||
|
||||
@ -24,6 +31,104 @@
|
||||
/* XTOS Kernel stack size */
|
||||
#define KERNEL_STACK_SIZE 0x8000
|
||||
|
||||
/* Kernel frames */
|
||||
#define KEXCEPTION_FRAME_SIZE sizeof(KEXCEPTION_FRAME)
|
||||
#define KSWITCH_FRAME_SIZE sizeof(KSWITCH_FRAME)
|
||||
#define KTRAP_FRAME_ALIGN 0x10
|
||||
#define KTRAP_FRAME_SIZE sizeof(KTRAP_FRAME)
|
||||
|
||||
/* Size of legacy 387 registers */
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
|
||||
/* Floating point state storing structure */
|
||||
typedef struct _FLOATING_SAVE_AREA
|
||||
{
|
||||
USHORT ControlWord;
|
||||
USHORT StatusWord;
|
||||
USHORT TagWord;
|
||||
ULONG ErrorOffset;
|
||||
USHORT ErrorSelector;
|
||||
USHORT ErrorOpcode;
|
||||
ULONG DataOffset;
|
||||
USHORT DataSelector;
|
||||
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS];
|
||||
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
|
||||
/* Context frame structure definition */
|
||||
typedef struct ALIGN(16) _CONTEXT
|
||||
{
|
||||
ULONG64 P1Home;
|
||||
ULONG64 P2Home;
|
||||
ULONG64 P3Home;
|
||||
ULONG64 P4Home;
|
||||
ULONG64 P5Home;
|
||||
ULONG64 P6Home;
|
||||
ULONG ContextFlags;
|
||||
ULONG MxCsr;
|
||||
USHORT SegCs;
|
||||
USHORT SegDs;
|
||||
USHORT SegEs;
|
||||
USHORT SegFs;
|
||||
USHORT SegGs;
|
||||
USHORT SegSs;
|
||||
ULONG EFlags;
|
||||
ULONG64 Dr0;
|
||||
ULONG64 Dr1;
|
||||
ULONG64 Dr2;
|
||||
ULONG64 Dr3;
|
||||
ULONG64 Dr6;
|
||||
ULONG64 Dr7;
|
||||
ULONG64 Rax;
|
||||
ULONG64 Rcx;
|
||||
ULONG64 Rdx;
|
||||
ULONG64 Rbx;
|
||||
ULONG64 Rsp;
|
||||
ULONG64 Rbp;
|
||||
ULONG64 Rsi;
|
||||
ULONG64 Rdi;
|
||||
ULONG64 R8;
|
||||
ULONG64 R9;
|
||||
ULONG64 R10;
|
||||
ULONG64 R11;
|
||||
ULONG64 R12;
|
||||
ULONG64 R13;
|
||||
ULONG64 R14;
|
||||
ULONG64 R15;
|
||||
ULONG64 Rip;
|
||||
union
|
||||
{
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
struct
|
||||
{
|
||||
M128 Header[2];
|
||||
M128 Legacy[8];
|
||||
M128 Xmm0;
|
||||
M128 Xmm1;
|
||||
M128 Xmm2;
|
||||
M128 Xmm3;
|
||||
M128 Xmm4;
|
||||
M128 Xmm5;
|
||||
M128 Xmm6;
|
||||
M128 Xmm7;
|
||||
M128 Xmm8;
|
||||
M128 Xmm9;
|
||||
M128 Xmm10;
|
||||
M128 Xmm11;
|
||||
M128 Xmm12;
|
||||
M128 Xmm13;
|
||||
M128 Xmm14;
|
||||
M128 Xmm15;
|
||||
};
|
||||
};
|
||||
M128 VectorRegister[26];
|
||||
ULONG64 VectorControl;
|
||||
ULONG64 DebugControl;
|
||||
ULONG64 LastBranchToRip;
|
||||
ULONG64 LastBranchFromRip;
|
||||
ULONG64 LastExceptionToRip;
|
||||
ULONG64 LastExceptionFromRip;
|
||||
} CONTEXT, *PCONTEXT;
|
||||
|
||||
/* Global Descriptor Table (GDT) entry union definition */
|
||||
typedef union _KGDTENTRY
|
||||
{
|
||||
@ -91,4 +196,142 @@ typedef struct _KTSS
|
||||
USHORT IoMapBase;
|
||||
} KTSS, *PKTSS;
|
||||
|
||||
/* Exception frame definition */
|
||||
typedef struct _KEXCEPTION_FRAME
|
||||
{
|
||||
ULONG64 P1Home;
|
||||
ULONG64 P2Home;
|
||||
ULONG64 P3Home;
|
||||
ULONG64 P4Home;
|
||||
ULONG64 P5;
|
||||
ULONG64 InitialStack;
|
||||
M128 Xmm6;
|
||||
M128 Xmm7;
|
||||
M128 Xmm8;
|
||||
M128 Xmm9;
|
||||
M128 Xmm10;
|
||||
M128 Xmm11;
|
||||
M128 Xmm12;
|
||||
M128 Xmm13;
|
||||
M128 Xmm14;
|
||||
M128 Xmm15;
|
||||
ULONG64 TrapFrame;
|
||||
ULONG64 CallbackStack;
|
||||
ULONG64 OutputBuffer;
|
||||
ULONG64 OutputLength;
|
||||
UCHAR ExceptionRecord[EXCEPTION_AREA_SIZE];
|
||||
ULONG64 MxCsr;
|
||||
ULONG64 Rbp;
|
||||
ULONG64 Rbx;
|
||||
ULONG64 Rdi;
|
||||
ULONG64 Rsi;
|
||||
ULONG64 R12;
|
||||
ULONG64 R13;
|
||||
ULONG64 R14;
|
||||
ULONG64 R15;
|
||||
ULONG64 Return;
|
||||
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
|
||||
/* Switch frame definition */
|
||||
typedef struct _KSWITCH_FRAME
|
||||
{
|
||||
ULONG64 P1Home;
|
||||
ULONG64 P2Home;
|
||||
ULONG64 P3Home;
|
||||
ULONG64 P4Home;
|
||||
ULONG64 P5Home;
|
||||
ULONG MxCsr;
|
||||
KIRQL ApcBypass;
|
||||
UCHAR Fill1[3];
|
||||
ULONG64 Rbp;
|
||||
ULONG64 Return;
|
||||
} KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||
|
||||
/* Trap frame definition */
|
||||
typedef struct _KTRAP_FRAME
|
||||
{
|
||||
ULONG64 P1Home;
|
||||
ULONG64 P2Home;
|
||||
ULONG64 P3Home;
|
||||
ULONG64 P4Home;
|
||||
ULONG64 P5;
|
||||
KPROCESSOR_MODE PreviousMode;
|
||||
KIRQL PreviousIrql;
|
||||
UCHAR FaultIndicator;
|
||||
UCHAR ExceptionActive;
|
||||
ULONG MxCsr;
|
||||
ULONG64 Rax;
|
||||
ULONG64 Rcx;
|
||||
ULONG64 Rdx;
|
||||
ULONG64 R8;
|
||||
ULONG64 R9;
|
||||
ULONG64 R10;
|
||||
ULONG64 R11;
|
||||
union
|
||||
{
|
||||
ULONG64 GsBase;
|
||||
ULONG64 GsSwap;
|
||||
};
|
||||
M128 Xmm0;
|
||||
M128 Xmm1;
|
||||
M128 Xmm2;
|
||||
M128 Xmm3;
|
||||
M128 Xmm4;
|
||||
M128 Xmm5;
|
||||
union
|
||||
{
|
||||
ULONG64 FaultAddress;
|
||||
ULONG64 ContextRecord;
|
||||
ULONG64 TimeStampCKCL;
|
||||
};
|
||||
ULONG64 Dr0;
|
||||
ULONG64 Dr1;
|
||||
ULONG64 Dr2;
|
||||
ULONG64 Dr3;
|
||||
ULONG64 Dr6;
|
||||
ULONG64 Dr7;
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
ULONG64 DebugControl;
|
||||
ULONG64 LastBranchToRip;
|
||||
ULONG64 LastBranchFromRip;
|
||||
ULONG64 LastExceptionToRip;
|
||||
ULONG64 LastExceptionFromRip;
|
||||
};
|
||||
struct
|
||||
{
|
||||
ULONG64 LastBranchControl;
|
||||
ULONG LastBranchMSR;
|
||||
};
|
||||
};
|
||||
USHORT SegDs;
|
||||
USHORT SegEs;
|
||||
USHORT SegFs;
|
||||
USHORT SegGs;
|
||||
ULONG64 TrapFrame;
|
||||
ULONG64 Rbx;
|
||||
ULONG64 Rdi;
|
||||
ULONG64 Rsi;
|
||||
ULONG64 Rbp;
|
||||
union
|
||||
{
|
||||
ULONG64 ErrorCode;
|
||||
ULONG64 ExceptionFrame;
|
||||
ULONG64 TimeStampKlog;
|
||||
};
|
||||
ULONG64 Rip;
|
||||
USHORT SegCs;
|
||||
UCHAR Fill0;
|
||||
UCHAR Logging;
|
||||
USHORT Fill1[2];
|
||||
ULONG EFlags;
|
||||
ULONG Fill2;
|
||||
ULONG64 Rsp;
|
||||
USHORT SegSs;
|
||||
USHORT Fill3;
|
||||
ULONG CodePatchCycle;
|
||||
} KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
|
||||
#endif /* __XTDK_AMD64_KETYPES_H */
|
||||
|
@ -9,10 +9,21 @@
|
||||
#ifndef __XTDK_AMD64_XTSTRUCT_H
|
||||
#define __XTDK_AMD64_XTSTRUCT_H
|
||||
|
||||
#include <xtdefs.h>
|
||||
|
||||
|
||||
/* Architecture-related enumeration lists forward references */
|
||||
typedef enum _CPUID_FEATURES CPUID_FEATURES, *PCPUID_FEATURES;
|
||||
typedef enum _CPUID_REQUESTS CPUID_REQUESTS, *PCPUID_REQUESTS;
|
||||
|
||||
/* Architecture-related structures forward references */
|
||||
typedef struct ALIGN(16) _CONTEXT CONTEXT, *PCONTEXT;
|
||||
typedef struct _CPUID_REGISTERS CPUID_REGISTERS, *PCPUID_REGISTERS;
|
||||
typedef struct _FLOATING_SAVE_AREA FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
typedef struct _HARDWARE_PTE HARDWARE_PTE, *PHARDWARE_PTE;
|
||||
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
typedef struct _KSWITCH_FRAME KSWITCH_FRAME, *PKSWITCH_FRAME;
|
||||
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
typedef struct _KTSS KTSS, *PKTSS;
|
||||
|
||||
/* Architecture-related unions forward references */
|
||||
|
@ -9,6 +9,7 @@
|
||||
#ifndef __XTDK_I686_KETYPES_H
|
||||
#define __XTDK_I686_KETYPES_H
|
||||
|
||||
#include <xtstruct.h>
|
||||
#include <xttypes.h>
|
||||
|
||||
|
||||
@ -28,6 +29,61 @@
|
||||
/* XTOS Kernel stack size */
|
||||
#define KERNEL_STACK_SIZE 0x4000
|
||||
|
||||
/* Kernel frames */
|
||||
#define KTRAP_FRAME_ALIGN 0x08
|
||||
#define KTRAP_FRAME_SIZE sizeof(KTRAP_FRAME)
|
||||
#define NPX_FRAME_SIZE 0x210
|
||||
|
||||
/* Number of supported extensions */
|
||||
#define MAXIMUM_SUPPORTED_EXTENSION 512
|
||||
|
||||
/* Size of 387 registers */
|
||||
#define SIZE_OF_80387_REGISTERS 80
|
||||
|
||||
/* Floating point state storing structure */
|
||||
typedef struct _FLOATING_SAVE_AREA
|
||||
{
|
||||
ULONG ControlWord;
|
||||
ULONG StatusWord;
|
||||
ULONG TagWord;
|
||||
ULONG ErrorOffset;
|
||||
ULONG ErrorSelector;
|
||||
ULONG DataOffset;
|
||||
ULONG DataSelector;
|
||||
UCHAR RegisterArea[SIZE_OF_80387_REGISTERS];
|
||||
ULONG Cr0NpxState;
|
||||
} FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
|
||||
/* Context frame structure definition */
|
||||
typedef struct _CONTEXT
|
||||
{
|
||||
ULONG ContextFlags;
|
||||
ULONG Dr0;
|
||||
ULONG Dr1;
|
||||
ULONG Dr2;
|
||||
ULONG Dr3;
|
||||
ULONG Dr6;
|
||||
ULONG Dr7;
|
||||
FLOATING_SAVE_AREA FloatSave;
|
||||
ULONG SegGs;
|
||||
ULONG SegFs;
|
||||
ULONG SegEs;
|
||||
ULONG SegDs;
|
||||
ULONG Edi;
|
||||
ULONG Esi;
|
||||
ULONG Ebx;
|
||||
ULONG Edx;
|
||||
ULONG Ecx;
|
||||
ULONG Eax;
|
||||
ULONG Ebp;
|
||||
ULONG Eip;
|
||||
ULONG SegCs;
|
||||
ULONG EFlags;
|
||||
ULONG Esp;
|
||||
ULONG SegSs;
|
||||
UCHAR ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION];
|
||||
} CONTEXT, *PCONTEXT;
|
||||
|
||||
/* Global Descriptor Table (GDT) entry structure definition */
|
||||
typedef struct _KGDTENTRY
|
||||
{
|
||||
@ -59,7 +115,8 @@ typedef struct _KGDTENTRY
|
||||
} KGDTENTRY, *PKGDTENTRY;
|
||||
|
||||
/* Interrupt Descriptor Table (IDT) entry structure definition */
|
||||
typedef struct _KIDTENTRY {
|
||||
typedef struct _KIDTENTRY
|
||||
{
|
||||
USHORT Offset;
|
||||
USHORT Selector;
|
||||
USHORT Access;
|
||||
@ -67,13 +124,15 @@ typedef struct _KIDTENTRY {
|
||||
} KIDTENTRY, *PKIDTENTRY;
|
||||
|
||||
/* Interrupt direction access map structure definition */
|
||||
typedef struct _KIIO_ACCESS_MAP {
|
||||
typedef struct _KIIO_ACCESS_MAP
|
||||
{
|
||||
UCHAR DirectionMap[IOPM_DIRECTION_MAP_SIZE];
|
||||
UCHAR IoMap[IOPM_FULL_SIZE];
|
||||
} KIIO_ACCESS_MAP, *PKIIO_ACCESS_MAP;
|
||||
|
||||
/* Task State Segment (TSS) structure definition */
|
||||
typedef struct _KTSS {
|
||||
typedef struct _KTSS
|
||||
{
|
||||
USHORT Backlink;
|
||||
USHORT Reserved0;
|
||||
ULONG Esp0;
|
||||
@ -111,4 +170,50 @@ typedef struct _KTSS {
|
||||
UCHAR IntDirectionMap[IOPM_DIRECTION_MAP_SIZE];
|
||||
} KTSS, *PKTSS;
|
||||
|
||||
/* Exception frame definition (not available on ia32) */
|
||||
typedef struct _KEXCEPTION_FRAME
|
||||
{
|
||||
ULONG PlaceHolder;
|
||||
} KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
|
||||
/* Trap frame definition */
|
||||
typedef struct _KTRAP_FRAME
|
||||
{
|
||||
ULONG DbgEbp;
|
||||
ULONG DbgEip;
|
||||
ULONG DbgArgMark;
|
||||
ULONG DbgArgPointer;
|
||||
ULONG TempSegCs;
|
||||
ULONG TempEsp;
|
||||
ULONG Dr0;
|
||||
ULONG Dr1;
|
||||
ULONG Dr2;
|
||||
ULONG Dr3;
|
||||
ULONG Dr6;
|
||||
ULONG Dr7;
|
||||
ULONG SegGs;
|
||||
ULONG SegEs;
|
||||
ULONG SegDs;
|
||||
ULONG Edx;
|
||||
ULONG Ecx;
|
||||
ULONG Eax;
|
||||
ULONG PreviousPreviousMode;
|
||||
PEXCEPTION_REGISTRATION_RECORD ExceptionList;
|
||||
ULONG SegFs;
|
||||
ULONG Edi;
|
||||
ULONG Esi;
|
||||
ULONG Ebx;
|
||||
ULONG Ebp;
|
||||
ULONG ErrCode;
|
||||
ULONG Eip;
|
||||
ULONG SegCs;
|
||||
ULONG EFlags;
|
||||
ULONG HardwareEsp;
|
||||
ULONG HardwareSegSs;
|
||||
ULONG V86Es;
|
||||
ULONG V86Ds;
|
||||
ULONG V86Fs;
|
||||
ULONG V86Gs;
|
||||
} KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
|
||||
#endif /* __XTDK_I686_KETYPES_H */
|
||||
|
@ -9,14 +9,24 @@
|
||||
#ifndef __XTDK_I686_XTSTRUCT_H
|
||||
#define __XTDK_I686_XTSTRUCT_H
|
||||
|
||||
#include <xtdefs.h>
|
||||
|
||||
|
||||
/* Architecture-related enumeration lists forward references */
|
||||
typedef enum _CPUID_FEATURES CPUID_FEATURES, *PCPUID_FEATURES;
|
||||
typedef enum _CPUID_REQUESTS CPUID_REQUESTS, *PCPUID_REQUESTS;
|
||||
|
||||
/* Architecture-related structures forward references */
|
||||
typedef struct _CONTEXT CONTEXT, *PCONTEXT;
|
||||
typedef struct _CPUID_REGISTERS CPUID_REGISTERS, *PCPUID_REGISTERS;
|
||||
typedef struct _FLOATING_SAVE_AREA FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA;
|
||||
typedef struct _HARDWARE_PTE HARDWARE_PTE, *PHARDWARE_PTE;
|
||||
typedef struct _HARDWARE_PTE_PAE HARDWARE_PTE_PAE, *PHARDWARE_PTE_PAE;
|
||||
typedef struct _KEXCEPTION_FRAME KEXCEPTION_FRAME, *PKEXCEPTION_FRAME;
|
||||
typedef struct _KGDTENTRY KGDTENTRY, *PKGDTENTRY;
|
||||
typedef struct _KIDTENTRY KIDTENTRY, *PKIDTENTRY;
|
||||
typedef struct _KIIO_ACCESS_MAP KIIO_ACCESS_MAP, *PKIIO_ACCESS_MAP;
|
||||
typedef struct _KTRAP_FRAME KTRAP_FRAME, *PKTRAP_FRAME;
|
||||
typedef struct _KTSS KTSS, *PKTSS;
|
||||
|
||||
#endif /* __XTDK_I686_XTSTRUCT_H */
|
||||
|
21
sdk/xtdk/kertptr.h
Normal file
21
sdk/xtdk/kertptr.h
Normal file
@ -0,0 +1,21 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: sdk/xtdk/kertptr.h
|
||||
* DESCRIPTION: XT kernel core handlers and routine pointers
|
||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_KERTPTR_H
|
||||
#define __XTDK_KERTPTR_H
|
||||
|
||||
#include <xtstruct.h>
|
||||
#include <xttarget.h>
|
||||
#include <xttypes.h>
|
||||
#include ARCH_HEADER(ketypes.h)
|
||||
|
||||
|
||||
/* Kernel routine callbacks */
|
||||
typedef EXCEPTION_DISPOSITION (*PEXCEPTION_ROUTINE)(IN PEXCEPTION_RECORD ExceptionRecord, IN PVOID EstablisherFrame, IN OUT PCONTEXT ContextRecord, IN OUT PVOID DispatcherContext);
|
||||
|
||||
#endif /* __XTDK_KERTPTR_H */
|
48
sdk/xtdk/ketypes.h
Normal file
48
sdk/xtdk/ketypes.h
Normal file
@ -0,0 +1,48 @@
|
||||
/**
|
||||
* PROJECT: ExectOS
|
||||
* COPYRIGHT: See COPYING.md in the top level directory
|
||||
* FILE: sdk/xtdk/ketypes.h
|
||||
* DESCRIPTION: XT kernel core structures definitions
|
||||
* DEVELOPERS: Rafal Kupiec <belliash@codingworkshop.eu.org>
|
||||
*/
|
||||
|
||||
#ifndef __XTDK_KETYPES_H
|
||||
#define __XTDK_KETYPES_H
|
||||
|
||||
#include <kertptr.h>
|
||||
#include <xtstruct.h>
|
||||
#include <xttarget.h>
|
||||
#include <xttypes.h>
|
||||
|
||||
|
||||
/* Maximum number of exception parameters */
|
||||
#define EXCEPTION_MAXIMUM_PARAMETERS 15
|
||||
|
||||
/* Exception disposition return values */
|
||||
typedef enum _EXCEPTION_DISPOSITION
|
||||
{
|
||||
ExceptionContinueExecution,
|
||||
ExceptionContinueSearch,
|
||||
ExceptionNestedException,
|
||||
ExceptionCollidedUnwind,
|
||||
} EXCEPTION_DISPOSITION, *PEXCEPTION_DISPOSITION;
|
||||
|
||||
/* Exception record structure definition */
|
||||
typedef struct _EXCEPTION_RECORD
|
||||
{
|
||||
XTSTATUS ExceptionCode;
|
||||
ULONG ExceptionFlags;
|
||||
PEXCEPTION_RECORD ExceptionRecord;
|
||||
PVOID ExceptionAddress;
|
||||
ULONG NumberParameters;
|
||||
ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS];
|
||||
} EXCEPTION_RECORD, *PEXCEPTION_RECORD;
|
||||
|
||||
/* Exception registration record structure definition */
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD
|
||||
{
|
||||
PEXCEPTION_REGISTRATION_RECORD Next;
|
||||
PEXCEPTION_ROUTINE Handler;
|
||||
} EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
|
||||
|
||||
#endif /* __XTDK_KEFUNCS_H */
|
@ -17,6 +17,9 @@
|
||||
/* Interrupt Request Level (IRQL) */
|
||||
typedef UCHAR KIRQL, *PKIRQL;
|
||||
|
||||
/* Processor modes */
|
||||
typedef CHAR KPROCESSOR_MODE, *PKPROCESSOR_MODE;
|
||||
|
||||
/* 128-bit buffer containing a unique identifier value */
|
||||
typedef struct _GUID
|
||||
{
|
||||
|
@ -7,10 +7,10 @@
|
||||
*/
|
||||
|
||||
/* Base XT headers */
|
||||
#include <xttarget.h>
|
||||
#include <xttypes.h>
|
||||
#include <xtdefs.h>
|
||||
#include <xtstatus.h>
|
||||
#include <xttarget.h>
|
||||
#include <xttypes.h>
|
||||
|
||||
/* XT forward references */
|
||||
#include <xtstruct.h>
|
||||
@ -21,15 +21,16 @@
|
||||
/* Architecture-independent XT API */
|
||||
#include <xtbase.h>
|
||||
#include <xtdebug.h>
|
||||
#include <xtfw.h>
|
||||
#include <xtimage.h>
|
||||
#include <xtuefi.h>
|
||||
#include <xtfw.h>
|
||||
|
||||
/* Low level data types headers */
|
||||
#include <rtltypes.h>
|
||||
#include <ldrtypes.h>
|
||||
#include <hltypes.h>
|
||||
#include <iotypes.h>
|
||||
#include <ketypes.h>
|
||||
#include <ldrtypes.h>
|
||||
#include <rtltypes.h>
|
||||
|
||||
/* Architecture-specific low level data types headers */
|
||||
#include ARCH_HEADER(hltypes.h)
|
||||
@ -43,3 +44,6 @@
|
||||
|
||||
/* Architecture specific XT routines*/
|
||||
#include ARCH_HEADER(hlfuncs.h)
|
||||
|
||||
/* Callbacks */
|
||||
#include <kertptr.h>
|
||||
|
@ -12,6 +12,9 @@
|
||||
#include <xtdefs.h>
|
||||
|
||||
|
||||
/* Enumeration lists forward references */
|
||||
typedef enum _EXCEPTION_DISPOSITION EXCEPTION_DISPOSITION, *PEXCEPTION_DISPOSITION;
|
||||
|
||||
/* Structures forward references */
|
||||
typedef struct _CPPORT CPPORT, *PCPPORT;
|
||||
typedef struct _EFI_1394_DEVICE_PATH EFI_1394_DEVICE_PATH, *PEFI_1394_DEVICE_PATH;
|
||||
@ -148,6 +151,8 @@ typedef struct _EFI_USB_DEVICE_PATH EFI_USB_DEVICE_PATH, *PEFI_USB_DEVICE_PATH;
|
||||
typedef struct _EFI_USB_WWID_DEVICE_PATH EFI_USB_WWID_DEVICE_PATH, *PEFI_USB_WWID_DEVICE_PATH;
|
||||
typedef struct _EFI_VENDOR_DEVICE_PATH EFI_VENDOR_DEVICE_PATH, *PEFI_VENDOR_DEVICE_PATH;
|
||||
typedef struct _EFI_VLAN_DEVICE_PATH EFI_VLAN_DEVICE_PATH, *PEFI_VLAN_DEVICE_PATH;
|
||||
typedef struct _EXCEPTION_RECORD EXCEPTION_RECORD, *PEXCEPTION_RECORD;
|
||||
typedef struct _EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION_RECORD, *PEXCEPTION_REGISTRATION_RECORD;
|
||||
typedef struct _FIRMWARE_INFORMATION_BLOCK FIRMWARE_INFORMATION_BLOCK, *PFIRMWARE_INFORMATION_BLOCK;
|
||||
typedef struct _GUID GUID, *PGUID;
|
||||
typedef struct _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
|
||||
|
@ -493,7 +493,7 @@ typedef enum _EFI_PXE_BASE_CODE_CALLBACK_STATUS
|
||||
EFI_PXE_BASE_CODE_CALLBACK_STATUS_LAST
|
||||
} EFI_PXE_BASE_CODE_CALLBACK_STATUS, *PEFI_PXE_BASE_CODE_CALLBACK_STATUS;
|
||||
|
||||
/* EFI routines forward references */
|
||||
/* EFI routine callbacks */
|
||||
typedef EFI_STATUS (*PEFI_CONVERT_POINTER)(IN UINT_PTR DebugDisposition, IN OUT PVOID *Address);
|
||||
typedef EFI_STATUS (*PEFI_ALLOCATE_PAGES)(IN EFI_ALLOCATE_TYPE Type, IN EFI_MEMORY_TYPE MemoryType, IN UINT_PTR NoPages, OUT PEFI_PHYSICAL_ADDRESS Memory);
|
||||
typedef EFI_STATUS (*PEFI_ALLOCATE_POOL)(IN EFI_MEMORY_TYPE PoolType, IN UINT_PTR Size, OUT PVOID *Buffer);
|
||||
|
Loading…
Reference in New Issue
Block a user