Add handle table architecture definitions
This commit is contained in:
@@ -17,6 +17,24 @@
|
||||
/* Rundown protection flags */
|
||||
#define EX_RUNDOWN_ACTIVE 0x1
|
||||
|
||||
/* Defines maximum number of handles */
|
||||
#define MAX_HANDLES (1<<24)
|
||||
|
||||
/* Handle Table Architecture Dimensions */
|
||||
#define HANDLE_HILEVEL_COUNT MAX_HANDLES / (LOWLEVEL_COUNT * MIDLEVEL_COUNT)
|
||||
#define HANDLE_MIDLEVEL_COUNT (MM_PAGE_SIZE / sizeof(PHANDLE_TABLE_ENTRY))
|
||||
#define HANDLE_LOWLEVEL_COUNT (MM_PAGE_SIZE / sizeof(HANDLE_TABLE_ENTRY))
|
||||
|
||||
/* Handle Value and Table Routing Constants */
|
||||
#define HANDLE_LEVEL_CODE_MASK 3
|
||||
#define HANDLE_VALUE_INCREMENT 4
|
||||
|
||||
/* Handle table entry lock bit */
|
||||
#define EXHANDLE_TABLE_ENTRY_LOCK_BIT 1
|
||||
|
||||
/* Handle additional information signature */
|
||||
#define HANDLE_ADDITIONAL_INFO_SIGNATURE (-2)
|
||||
|
||||
/* Number of lookaside lists */
|
||||
#define POOL_LOOKASIDE_LISTS 32
|
||||
|
||||
@@ -81,6 +99,18 @@ typedef struct _ERESOURCE
|
||||
KSPIN_LOCK SpinLock;
|
||||
} ERESOURCE, *PERESOURCE;
|
||||
|
||||
/* Handle table interface union definition */
|
||||
typedef union _EXHANDLE
|
||||
{
|
||||
struct
|
||||
{
|
||||
ULONG TagBits:2;
|
||||
ULONG Index:30;
|
||||
};
|
||||
HANDLE GenericHandleOverlay;
|
||||
ULONG_PTR Value;
|
||||
} EXHANDLE, *PEXHANDLE;
|
||||
|
||||
/* Executive rundown protection structure definition */
|
||||
typedef union _EX_RUNDOWN_REFERENCE
|
||||
{
|
||||
|
||||
@@ -492,6 +492,7 @@ typedef union _EFI_HASH_OUTPUT EFI_HASH_OUTPUT, *PEFI_HASH_OUTPUT;
|
||||
typedef union _EFI_IA32_REGISTER_SET EFI_IA32_REGISTER_SET, *PEFI_IA32_REGISTER_SET;
|
||||
typedef union _EFI_IP_ADDRESS EFI_IP_ADDRESS, *PEFI_IP_ADDRESS;
|
||||
typedef union _EFI_PXE_BASE_CODE_PACKET EFI_PXE_BASE_CODE_PACKET, *PEFI_PXE_BASE_CODE_PACKET;
|
||||
typedef union _EXHANDLE EXHANDLE, *PEXHANDLE;
|
||||
typedef union _EX_RUNDOWN_REFERENCE EX_RUNDOWN_REFERENCE, *PEX_RUNDOWN_REFERENCE;
|
||||
typedef union _KPUSH_LOCK KPUSH_LOCK, *PKPUSH_LOCK;
|
||||
typedef union _LARGE_INTEGER LARGE_INTEGER, *PLARGE_INTEGER;
|
||||
|
||||
Reference in New Issue
Block a user