Data Structures |
| union | PKTRAP_EXIT_SKIP_BITS |
| struct | PKV86_FRAME |
| struct | PKV8086_STACK_FRAME |
Defines |
| #define | DR_MASK(x) (1 << (x)) |
| #define | DR_REG_MASK 0x4F |
| #define | KD_BREAKPOINT_TYPE UCHAR |
| #define | KD_BREAKPOINT_SIZE sizeof(UCHAR) |
| #define | KD_BREAKPOINT_VALUE 0xCC |
| #define | KeGetContextPc(Context) ((Context)->Eip) |
| #define | KeSetContextPc(Context, ProgramCounter) ((Context)->Eip = (ProgramCounter)) |
| #define | KeGetTrapFramePc(TrapFrame) ((TrapFrame)->Eip) |
| #define | KiGetLinkedTrapFrame(x) (PKTRAP_FRAME)((x)->Edx) |
| #define | KeGetContextReturnRegister(Context) ((Context)->Eax) |
| #define | KeSetContextReturnRegister(Context, ReturnValue) ((Context)->Eax = (ReturnValue)) |
| #define | KeGetTrapFrame(Thread) |
| #define | KeGetExceptionFrame(Thread) NULL |
| #define | KeGetContextSwitches(Prcb) CONTAINING_RECORD(Prcb, KIPCR, PrcbData)->ContextSwitches |
| #define | KiGetSecondLevelDCacheSize() ((PKIPCR)KeGetPcr())->SecondLevelCacheSize |
| #define | KeGetTrapFrameInterruptState(TrapFrame) BooleanFlagOn((TrapFrame)->EFlags, EFLAGS_INTERRUPT_MASK) |
| #define | KTE_SKIP_PM_BIT (((KTRAP_EXIT_SKIP_BITS) { { .SkipPreviousMode = TRUE } }).Bits) |
| #define | KTE_SKIP_SEG_BIT (((KTRAP_EXIT_SKIP_BITS) { { .SkipSegments = TRUE } }).Bits) |
| #define | KTE_SKIP_VOL_BIT (((KTRAP_EXIT_SKIP_BITS) { { .SkipVolatiles = TRUE } }).Bits) |
| #define | PFX_FLAG_ES 0x00000100 |
| #define | PFX_FLAG_CS 0x00000200 |
| #define | PFX_FLAG_SS 0x00000400 |
| #define | PFX_FLAG_DS 0x00000800 |
| #define | PFX_FLAG_FS 0x00001000 |
| #define | PFX_FLAG_GS 0x00002000 |
| #define | PFX_FLAG_OPER32 0x00004000 |
| #define | PFX_FLAG_ADDR32 0x00008000 |
| #define | PFX_FLAG_LOCK 0x00010000 |
| #define | PFX_FLAG_REPNE 0x00020000 |
| #define | PFX_FLAG_REP 0x00040000 |
| #define | KiVdmSetVdmEFlags(x) InterlockedOr((PLONG)KiNtVdmState, (x)); |
| #define | KiVdmClearVdmEFlags(x) InterlockedAnd((PLONG)KiNtVdmState, ~(x)) |
| #define | KiCallVdmHandler(x) KiVdmOpcode##x(TrapFrame, Flags) |
| #define | KiCallVdmPrefixHandler(x) KiVdmOpcodePrefix(TrapFrame, Flags | x) |
| #define | KiVdmUnhandledOpcode(x) |
Functions |
| | C_ASSERT (NPX_FRAME_LENGTH==sizeof(FX_SAVE_AREA)) |
| FORCEINLINE BOOLEAN | KeDisableInterrupts (VOID) |
| FORCEINLINE VOID | KeRestoreInterrupts (BOOLEAN WereEnabled) |
| FORCEINLINE VOID | KeRegisterInterruptHandler (IN ULONG Vector, IN PVOID Handler) |
| FORCEINLINE PVOID | KeQueryInterruptHandler (IN ULONG Vector) |
| FORCEINLINE VOID | KeInvalidateTlbEntry (IN PVOID Address) |
| FORCEINLINE VOID | KeFlushProcessTb (VOID) |
| FORCEINLINE PRKTHREAD | KeGetCurrentThread (VOID) |
| FORCEINLINE VOID | KiRundownThread (IN PKTHREAD Thread) |
| VOID FASTCALL | Ki386InitializeTss (IN PKTSS Tss, IN PKIDTENTRY Idt, IN PKGDTENTRY Gdt) |
| VOID NTAPI | KiSetCR0Bits (VOID) |
| VOID NTAPI | KiGetCacheInformation (VOID) |
| BOOLEAN NTAPI | KiIsNpxPresent (VOID) |
| BOOLEAN NTAPI | KiIsNpxErrataPresent (VOID) |
| VOID NTAPI | KiSetProcessorType (VOID) |
| ULONG NTAPI | KiGetFeatureBits (VOID) |
| VOID NTAPI | KiThreadStartup (VOID) |
| NTSTATUS NTAPI | Ke386GetGdtEntryThread (IN PKTHREAD Thread, IN ULONG Offset, IN PKGDTENTRY Descriptor) |
| VOID NTAPI | KiFlushNPXState (IN FLOATING_SAVE_AREA *SaveArea) |
| VOID NTAPI | Ki386AdjustEsp0 (IN PKTRAP_FRAME TrapFrame) |
| VOID NTAPI | Ki386SetupAndExitToV86Mode (OUT PTEB VdmTeb) |
| VOID NTAPI | KeI386VdmInitialize (VOID) |
| ULONG_PTR NTAPI | Ki386EnableGlobalPage (IN volatile ULONG_PTR Context) |
| VOID NTAPI | KiI386PentiumLockErrataFixup (VOID) |
| VOID NTAPI | KiInitializePAT (VOID) |
| VOID NTAPI | KiInitializeMTRR (IN BOOLEAN FinalCpu) |
| VOID NTAPI | KiAmdK6InitializeMTRR (VOID) |
| VOID NTAPI | KiRestoreFastSyscallReturnState (VOID) |
| ULONG_PTR NTAPI | Ki386EnableDE (IN ULONG_PTR Context) |
| ULONG_PTR NTAPI | Ki386EnableFxsr (IN ULONG_PTR Context) |
| ULONG_PTR NTAPI | Ki386EnableXMMIExceptions (IN ULONG_PTR Context) |
| BOOLEAN NTAPI | VdmDispatchBop (IN PKTRAP_FRAME TrapFrame) |
| BOOLEAN FASTCALL | KiVdmOpcodePrefix (IN PKTRAP_FRAME TrapFrame, IN ULONG Flags) |
| BOOLEAN FASTCALL | Ki386HandleOpcodeV86 (IN PKTRAP_FRAME TrapFrame) |
| DECLSPEC_NORETURN VOID FASTCALL | KiEoiHelper (IN PKTRAP_FRAME TrapFrame) |
| VOID FASTCALL | Ki386BiosCallReturnAddress (IN PKTRAP_FRAME TrapFrame) |
| ULONG_PTR FASTCALL | KiExitV86Mode (IN PKTRAP_FRAME TrapFrame) |
| DECLSPEC_NORETURN VOID NTAPI | KiDispatchExceptionFromTrapFrame (IN NTSTATUS Code, IN ULONG_PTR Address, IN ULONG ParameterCount, IN ULONG_PTR Parameter1, IN ULONG_PTR Parameter2, IN ULONG_PTR Parameter3, IN PKTRAP_FRAME TrapFrame) |
| DECLSPEC_NORETURN VOID __cdecl | KiTrap02 (VOID) |
| VOID __cdecl | KiTrap08 (VOID) |
| VOID __cdecl | KiTrap13 (VOID) |
| VOID __cdecl | KiFastCallEntry (VOID) |
| VOID NTAPI | ExpInterlockedPopEntrySListFault (VOID) |
| VOID NTAPI | ExpInterlockedPopEntrySListResume (VOID) |
| VOID __cdecl | CopyParams (VOID) |
| VOID __cdecl | ReadBatch (VOID) |
| VOID __cdecl | FrRestore (VOID) |
| PFX_SAVE_AREA FORCEINLINE | KiGetThreadNpxArea (IN PKTHREAD Thread) |
| FORCEINLINE ULONG | Ke386SanitizeSeg (IN ULONG Cs, IN KPROCESSOR_MODE Mode) |
| FORCEINLINE ULONG | Ke386SanitizeFlags (IN ULONG Eflags, IN KPROCESSOR_MODE Mode) |
| FORCEINLINE PVOID | Ke386SanitizeDr (IN PVOID DrAddress, IN KPROCESSOR_MODE Mode) |
| VOID FORCEINLINE DECLSPEC_NORETURN | KiDispatchException0Args (IN NTSTATUS Code, IN ULONG_PTR Address, IN PKTRAP_FRAME TrapFrame) |
| VOID FORCEINLINE DECLSPEC_NORETURN | KiDispatchException1Args (IN NTSTATUS Code, IN ULONG_PTR Address, IN ULONG P1, IN PKTRAP_FRAME TrapFrame) |
| VOID FORCEINLINE DECLSPEC_NORETURN | KiDispatchException2Args (IN NTSTATUS Code, IN ULONG_PTR Address, IN ULONG P1, IN ULONG P2, IN PKTRAP_FRAME TrapFrame) |
| VOID FORCEINLINE | KiCheckForApcDelivery (IN PKTRAP_FRAME TrapFrame) |
| VOID FORCEINLINE | KiSwitchToBootStack (IN ULONG_PTR InitialStack) |
| DECLSPEC_NORETURN VOID FORCEINLINE | KiIret (VOID) |
| VOID FORCEINLINE | KiEndInterrupt (IN KIRQL Irql, IN PKTRAP_FRAME TrapFrame) |
| VOID FORCEINLINE | Ki386PerfEnd (VOID) |
| FORCEINLINE PULONG | KiGetUserModeStackAddress (void) |
Variables |
| PVOID | Ki386IopmSaveArea |
| ULONG | KeI386EFlagsAndMaskV86 |
| ULONG | KeI386EFlagsOrMaskV86 |
| BOOLEAN | KeI386VirtualIntExtensions |
| KIDTENTRY | KiIdt [MAXIMUM_IDTVECTOR+1] |
| KDESCRIPTOR | KiIdtDescriptor |
| BOOLEAN | KiI386PentiumLockErrataPresent |
| ULONG | KeI386NpxPresent |
| ULONG | KeI386XMMIPresent |
| ULONG | KeI386FxsrPresent |
| ULONG | KiMXCsrMask |
| ULONG | KeI386CpuType |
| ULONG | KeI386CpuStep |
| ULONG | Ke386CacheAlignment |
| ULONG | KiFastSystemCallDisable |
| UCHAR | KiDebugRegisterTrapOffsets [9] |
| UCHAR | KiDebugRegisterContextOffsets [9] |
| CHAR | KiSystemCallExitBranch [] |
| CHAR | KiSystemCallExit [] |
| CHAR | KiSystemCallExit2 [] |