From a33b63842a6b331337af47652e85f84fa2db05db Mon Sep 17 00:00:00 2001 From: Aiken Harris Date: Sun, 7 Jun 2026 12:13:55 +0200 Subject: [PATCH] Add IPI definitions and frozen states, change KAFFINITY_MAP to flexible array --- sdk/xtdk/ketypes.h | 26 +++++++++++++++++++++++++- sdk/xtdk/xtstruct.h | 1 + 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/sdk/xtdk/ketypes.h b/sdk/xtdk/ketypes.h index 0947c4b..f34a097 100644 --- a/sdk/xtdk/ketypes.h +++ b/sdk/xtdk/ketypes.h @@ -24,6 +24,21 @@ /* Maximum number of exception parameters */ #define EXCEPTION_MAXIMUM_PARAMETERS 15 +/* IPI types */ +#define IPI_APC 1 +#define IPI_DPC 2 +#define IPI_FREEZE 4 +#define IPI_PACKET_READY 8 +#define IPI_SYNC_REQUEST 16 + +/* IPI frozen states */ +#define IPI_FROZEN_STATE_RUNNING 0x00 +#define IPI_FROZEN_STATE_FROZEN 0x02 +#define IPI_FROZEN_STATE_THAW 0x03 +#define IPI_FROZEN_STATE_OWNER 0x04 +#define IPI_FROZEN_STATE_FREEZE 0x05 +#define IPI_FROZEN_STATE_ACTIVE 0x20 + /* APC pending state length */ #define KAPC_STATE_LENGTH (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN)) @@ -80,6 +95,15 @@ typedef enum _KAPC_ENVIRONMENT InsertApcEnvironment } KAPC_ENVIRONMENT, *PKAPC_ENVIRONMENT; +/* Continue status enumeration list */ +typedef enum _KCONTINUE_STATUS +{ + ContinueError, + ContinueSuccess, + ContinueProcessorReselected, + ContinueNextProcessor +} KCONTINUE_STATUS, *PKCONTINUE_STATUS; + /* DPC importance enumeration list */ typedef enum _KDPC_IMPORTANCE { @@ -319,7 +343,7 @@ typedef struct _KAFFINITY_MAP USHORT Count; USHORT Size; ULONG Reserved; - KAFFINITY Bitmap[1]; + KAFFINITY Bitmap[]; } KAFFINITY_MAP, *PKAFFINITY_MAP; /* Asynchronous Procedure Call (APC) object structure definition */ diff --git a/sdk/xtdk/xtstruct.h b/sdk/xtdk/xtstruct.h index 76df5a8..4264e21 100644 --- a/sdk/xtdk/xtstruct.h +++ b/sdk/xtdk/xtstruct.h @@ -43,6 +43,7 @@ typedef enum _EFI_UART_STOP_BITS_TYPE EFI_UART_STOP_BITS_TYPE, *PEFI_UART_STOP_B typedef enum _EFI_UNIVERSA_GRAPHICS_BLT_OPERATION EFI_UNIVERSA_GRAPHICS_BLT_OPERATION, *PEFI_UNIVERSA_GRAPHICS_BLT_OPERATION; typedef enum _HAL_APIC_MODE HAL_APIC_MODE, *PHAL_APIC_MODE; typedef enum _KAPC_ENVIRONMENT KAPC_ENVIRONMENT, *PKAPC_ENVIRONMENT; +typedef enum _KCONTINUE_STATUS KCONTINUE_STATUS, *PKCONTINUE_STATUS; typedef enum _KDPC_IMPORTANCE KDPC_IMPORTANCE, *PKDPC_IMPORTANCE; typedef enum _KEVENT_TYPE KEVENT_TYPE, *PKEVENT_TYPE; typedef enum _KOBJECTS KOBJECTS, *PKOBJECTS;