Initial kernel events support
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
2023-03-17 16:46:18 +01:00
parent e0778d0a12
commit 934dba37a1
5 changed files with 117 additions and 0 deletions

View File

@@ -16,6 +16,10 @@
/* Kernel services routines forward references */
XTAPI
VOID
KeClearEvent(IN PKEVENT Event);
XTAPI
VOID
KeInitializeApc(IN PKAPC Apc,
@@ -27,6 +31,12 @@ KeInitializeApc(IN PKAPC Apc,
IN KPROCESSOR_MODE ApcMode,
IN PVOID Context);
XTAPI
VOID
KeInitializeEvent(OUT PKEVENT Event,
IN KEVENT_TYPE EventType,
IN BOOLEAN InitialState);
XTAPI
VOID
KeInitializeSemaphore(IN PKSEMAPHORE Semaphore,
@@ -57,6 +67,12 @@ KeReleaseSemaphore(IN PKSEMAPHORE Semaphore,
IN LONG Adjustment,
IN BOOLEAN Wait);
XTAPI
LONG
KeSetEvent(IN PKEVENT Event,
IN KPRIORITY Increment,
IN BOOLEAN Wait);
XTAPI
VOID
KeStartXtSystem(IN PKERNEL_INITIALIZATION_BLOCK Parameters);

View File

@@ -84,6 +84,13 @@ typedef enum _KDPC_IMPORTANCE
MediumHighImportance
} KDPC_IMPORTANCE, *PKDPC_IMPORTANCE;
/* Event types list */
typedef enum _KEVENT_TYPE
{
NotificationEvent,
SynchronizationEvent
} KEVENT_TYPE, *PKEVENT_TYPE;
/* Kernel objects */
typedef enum _KOBJECTS
{
@@ -226,6 +233,12 @@ typedef struct _KDPC_DATA
ULONG DpcCount;
} KDPC_DATA, *PKDPC_DATA;
/* Event object structure definition */
typedef struct _KEVENT
{
DISPATCHER_HEADER Header;
} KEVENT, *PKEVENT;
/* Exception registration record structure definition */
typedef struct _EXCEPTION_REGISTRATION_RECORD
{

View File

@@ -40,6 +40,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 _KAPC_ENVIRONMENT KAPC_ENVIRONMENT, *PKAPC_ENVIRONMENT;
typedef enum _KDPC_IMPORTANCE KDPC_IMPORTANCE, *PKDPC_IMPORTANCE;
typedef enum _KEVENT_TYPE KEVENT_TYPE, *PKEVENT_TYPE;
typedef enum _KOBJECTS KOBJECTS, *PKOBJECTS;
typedef enum _KPROCESS_STATE KPROCESS_STATE, *PKPROCESS_STATE;
typedef enum _KTHREAD_STATE KTHREAD_STATE, *PKTHREAD_STATE;
@@ -204,6 +205,7 @@ typedef struct _KAPC_STATE KAPC_STATE, *PKAPC_STATE;
typedef struct _KDPC KDPC, *PKDPC;
typedef struct _KDPC_DATA KDPC_DATA, *PKDPC_DATA;
typedef struct _KERNEL_INITIALIZATION_BLOCK KERNEL_INITIALIZATION_BLOCK, *PKERNEL_INITIALIZATION_BLOCK;
typedef struct _KEVENT KEVENT, *PKEVENT;
typedef struct _KGATE KGATE, *PKGATE;
typedef struct _KPROCESS KPROCESS, *PKPROCESS;
typedef struct _KQUEUE KQUEUE, *PKQUEUE;