ReactOS 0.4.16-dev-21-g2af6fd4
|
Go to the source code of this file.
Classes | |
union | _KTRAP_EXIT_SKIP_BITS |
struct | _KV86_FRAME |
struct | _KV8086_STACK_FRAME |
struct | _LARGE_IDENTITY_MAP |
struct | _FLOATING_SAVE_CONTEXT |
Typedefs | |
typedef union _KTRAP_EXIT_SKIP_BITS | KTRAP_EXIT_SKIP_BITS |
typedef union _KTRAP_EXIT_SKIP_BITS * | PKTRAP_EXIT_SKIP_BITS |
typedef struct _KV86_FRAME | KV86_FRAME |
typedef struct _KV86_FRAME * | PKV86_FRAME |
typedef struct _KV8086_STACK_FRAME | KV8086_STACK_FRAME |
typedef struct _KV8086_STACK_FRAME * | PKV8086_STACK_FRAME |
typedef struct _LARGE_IDENTITY_MAP | LARGE_IDENTITY_MAP |
typedef struct _LARGE_IDENTITY_MAP * | PLARGE_IDENTITY_MAP |
typedef struct _FLOATING_SAVE_CONTEXT | FLOATING_SAVE_CONTEXT |
typedef struct _FLOATING_SAVE_CONTEXT * | PFLOATING_SAVE_CONTEXT |
#define KeGetContextSwitches | ( | Prcb | ) | CONTAINING_RECORD(Prcb, KIPCR, PrcbData)->ContextSwitches |
#define KeGetTrapFrameInterruptState | ( | TrapFrame | ) | BooleanFlagOn((TrapFrame)->EFlags, EFLAGS_INTERRUPT_MASK) |
#define KiCallVdmPrefixHandler | ( | x | ) | KiVdmOpcodePrefix(TrapFrame, Flags | x) |
#define KiVdmClearVdmEFlags | ( | x | ) | InterlockedAnd((PLONG)KiNtVdmState, ~(x)) |
#define KiVdmSetVdmEFlags | ( | x | ) | InterlockedOr((PLONG)KiNtVdmState, (x)); |
#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 X86_FEATURE_CMOV 0x00008000 /* "Conditional move" instruction supported */ |
#define X86_FEATURE_CX8 0x00000100 /* CMPXCHG8B instruction present */ |
#define X86_FEATURE_DBG 0x00000004 /* Debugging extensions are present */ |
#define X86_FEATURE_FXSR 0x01000000 /* FXSAVE/FXRSTOR instructions present */ |
#define X86_FEATURE_SSE2 0x04000000 /* SSE2 extension present */ |
#define X86_FEATURE_VME 0x00000002 /* Virtual 8086 Extensions are present */ |
typedef union _KTRAP_EXIT_SKIP_BITS KTRAP_EXIT_SKIP_BITS |
typedef struct _KV86_FRAME KV86_FRAME |
typedef union _KTRAP_EXIT_SKIP_BITS * PKTRAP_EXIT_SKIP_BITS |
typedef struct _KV8086_STACK_FRAME * PKV8086_STACK_FRAME |
typedef struct _KV86_FRAME * PKV86_FRAME |
typedef struct _LARGE_IDENTITY_MAP * PLARGE_IDENTITY_MAP |
C_ASSERT | ( | NPX_FRAME_LENGTH | = =sizeof(FX_SAVE_AREA) | ) |
Referenced by KiTrap0EHandler().
Referenced by KeInvalidAccessAllowed(), and KiCheckForSListFault().
Referenced by KiCheckForSListFault().
NTSTATUS NTAPI Ke386GetGdtEntryThread | ( | IN PKTHREAD | Thread, |
IN ULONG | Offset, | ||
IN PKGDTENTRY | Descriptor | ||
) |
Definition at line 26 of file ldt.c.
Referenced by PspQueryDescriptorThread().
FORCEINLINE PVOID Ke386SanitizeDr | ( | IN PVOID | DrAddress, |
IN KPROCESSOR_MODE | Mode | ||
) |
Definition at line 778 of file ke.h.
FORCEINLINE ULONG Ke386SanitizeFlags | ( | IN ULONG | Eflags, |
IN KPROCESSOR_MODE | Mode | ||
) |
Definition at line 761 of file ke.h.
Referenced by KeContextToTrapFrame(), and KiInitializeUserApc().
FORCEINLINE ULONG Ke386SanitizeSeg | ( | IN ULONG | Cs, |
IN KPROCESSOR_MODE | Mode | ||
) |
Definition at line 744 of file ke.h.
Referenced by KeContextToTrapFrame(), KiDispatchException(), and KiInitializeUserApc().
FORCEINLINE VOID Ke386SetGdtEntryBase | ( | PKGDTENTRY | GdtEntry, |
PVOID | BaseAddress | ||
) |
Definition at line 411 of file ke.h.
Referenced by KiSetTebBase().
FORCEINLINE BOOLEAN KeDisableInterrupts | ( | VOID | ) |
FORCEINLINE VOID KeFlushProcessTb | ( | VOID | ) |
FORCEINLINE ULONG_PTR KeGetContextFrameRegister | ( | PCONTEXT | Context | ) |
FORCEINLINE ULONG_PTR KeGetContextPc | ( | PCONTEXT | Context | ) |
FORCEINLINE ULONG_PTR KeGetContextReturnRegister | ( | PCONTEXT | Context | ) |
FORCEINLINE PRKTHREAD KeGetCurrentThread | ( | VOID | ) |
FORCEINLINE ULONG_PTR KeGetTrapFrameFrameRegister | ( | PKTRAP_FRAME | TrapFrame | ) |
FORCEINLINE ULONG_PTR KeGetTrapFramePc | ( | PKTRAP_FRAME | TrapFrame | ) |
FORCEINLINE ULONG_PTR KeGetTrapFrameStackRegister | ( | PKTRAP_FRAME | TrapFrame | ) |
Definition at line 42 of file vdmmain.c.
Referenced by Phase1InitializationDiscard().
FORCEINLINE VOID KeInvalidateTlbEntry | ( | IN PVOID | Address | ) |
FORCEINLINE PVOID KeQueryInterruptHandler | ( | IN ULONG | Vector | ) |
Definition at line 328 of file ke.h.
Definition at line 303 of file ke.h.
FORCEINLINE VOID KeRestoreInterrupts | ( | BOOLEAN | WereEnabled | ) |
FORCEINLINE VOID KeSetContextFrameRegister | ( | PCONTEXT | Context, |
ULONG_PTR | Frame | ||
) |
FORCEINLINE VOID KeSetContextPc | ( | PCONTEXT | Context, |
ULONG_PTR | ProgramCounter | ||
) |
FORCEINLINE VOID KeSetContextReturnRegister | ( | PCONTEXT | Context, |
ULONG_PTR | ReturnValue | ||
) |
Definition at line 366 of file ke.h.
VOID NTAPI Ki386AdjustEsp0 | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 280 of file exp.c.
Referenced by KeContextToTrapFrame(), KiVdmOpcodeIRET(), KiVdmOpcodePOPF(), and VdmSwapContext().
VOID FASTCALL Ki386BiosCallReturnAddress | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Referenced by KiEnterV86Mode(), and KiTrap0DHandler().
BOOLEAN NTAPI Ki386CreateIdentityMap | ( | IN PLARGE_IDENTITY_MAP | IdentityMap, |
IN PVOID | StartPtr, | ||
IN ULONG | Length | ||
) |
Referenced by KiInitMachineDependent().
Referenced by Ki386EnableTargetLargePage(), and KiInitMachineDependent().
Definition at line 1065 of file cpu.c.
Referenced by KiInitMachineDependent().
Definition at line 1075 of file cpu.c.
Referenced by KiInitMachineDependent().
Definition at line 23 of file patpge.c.
Referenced by KiInitMachineDependent().
Definition at line 70 of file patpge.c.
Referenced by KiInitMachineDependent().
Definition at line 1085 of file cpu.c.
Referenced by KiInitMachineDependent().
VOID NTAPI Ki386FreeIdentityMap | ( | IN PLARGE_IDENTITY_MAP | IdentityMap | ) |
Referenced by KiInitMachineDependent().
BOOLEAN FASTCALL Ki386HandleOpcodeV86 | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 456 of file v86vdm.c.
Referenced by KiTrap0DHandler().
VOID FASTCALL Ki386InitializeTss | ( | IN PKTSS | Tss, |
IN PKIDTENTRY | Idt, | ||
IN PKGDTENTRY | Gdt | ||
) |
Definition at line 819 of file cpu.c.
Referenced by KiSystemStartup().
FORCEINLINE VOID Ki386PerfEnd | ( | VOID | ) |
Referenced by Ke386CallBios().
Definition at line 31 of file mtrr.c.
Referenced by KiInitMachineDependent().
FORCEINLINE VOID KiCheckForApcDelivery | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 850 of file ke.h.
Referenced by KiCommonExit().
Referenced by KiSystemServiceHandler().
FORCEINLINE DECLSPEC_NORETURN VOID KiDispatchException0Args | ( | IN NTSTATUS | Code, |
IN ULONG_PTR | Address, | ||
IN PKTRAP_FRAME | TrapFrame | ||
) |
Definition at line 796 of file ke.h.
Referenced by KiRaiseAssertionHandler(), KiTrap00Handler(), KiTrap01Handler(), KiTrap04Handler(), KiTrap05Handler(), KiTrap06Handler(), and KiTrap0DHandler().
FORCEINLINE DECLSPEC_NORETURN VOID KiDispatchException1Args | ( | IN NTSTATUS | Code, |
IN ULONG_PTR | Address, | ||
IN ULONG | P1, | ||
IN PKTRAP_FRAME | TrapFrame | ||
) |
Definition at line 810 of file ke.h.
Referenced by KiNpxHandler(), and KiTrap13Handler().
FORCEINLINE DECLSPEC_NORETURN VOID KiDispatchException2Args | ( | IN NTSTATUS | Code, |
IN ULONG_PTR | Address, | ||
IN ULONG | P1, | ||
IN ULONG | P2, | ||
IN PKTRAP_FRAME | TrapFrame | ||
) |
Definition at line 825 of file ke.h.
Referenced by KiNpxHandler(), KiTrap0DHandler(), and KiTrap0EHandler().
DECLSPEC_NORETURN VOID NTAPI KiDispatchExceptionFromTrapFrame | ( | IN NTSTATUS | Code, |
IN ULONG | Flags, | ||
IN ULONG_PTR | Address, | ||
IN ULONG | ParameterCount, | ||
IN ULONG_PTR | Parameter1, | ||
IN ULONG_PTR | Parameter2, | ||
IN ULONG_PTR | Parameter3, | ||
IN PKTRAP_FRAME | TrapFrame | ||
) |
Definition at line 1055 of file exp.c.
Referenced by KiDebugHandler(), KiDispatchException0Args(), KiDispatchException1Args(), KiDispatchException2Args(), KiRaiseSecurityCheckFailureHandler(), and KiTrap0EHandler().
FORCEINLINE VOID KiEndInterrupt | ( | IN KIRQL | Irql, |
IN PKTRAP_FRAME | TrapFrame | ||
) |
Definition at line 953 of file ke.h.
DECLSPEC_NORETURN VOID FASTCALL KiEoiHelper | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 126 of file traphdlr.c.
Referenced by _HalpApcInterruptHandler(), HalpApcInterruptHandler(), HalpClockInterruptHandler(), HalpClockIpiHandler(), HalpDispatchInterrupt2ndEntry(), HalpDispatchInterruptHandler(), HalpTrap0DHandler(), KiDispatchExceptionFromTrapFrame(), KiEndInterrupt(), KiEnterV86Mode(), KiExitInterrupt(), KiExitV86Trap(), KiGetTickCountHandler(), KiNpxHandler(), KiTrap01Handler(), KiTrap07Handler(), KiTrap0EHandler(), and KiTrap10Handler().
FORCEINLINE DECLSPEC_NORETURN VOID KiExceptionExit | ( | _In_ PKTRAP_FRAME | TrapFrame, |
_In_ PKEXCEPTION_FRAME | ExceptionFrame | ||
) |
Definition at line 685 of file ke.h.
Referenced by NtContinue(), and NtRaiseException().
ULONG_PTR FASTCALL KiExitV86Mode | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 468 of file v86vdm.c.
Referenced by KiLoadFastSyscallMachineSpecificRegisters().
VOID NTAPI KiFlushNPXState | ( | IN FLOATING_SAVE_AREA * | SaveArea | ) |
Referenced by KeContextToTrapFrame(), and KeTrapFrameToContext().
Definition at line 418 of file cpu.c.
Evaluates the KeFeatureFlag bits for the current CPU.
Definition at line 165 of file cpu.c.
FORCEINLINE PKTRAP_FRAME KiGetLinkedTrapFrame | ( | PKTRAP_FRAME | TrapFrame | ) |
FORCEINLINE PFX_SAVE_AREA KiGetThreadNpxArea | ( | IN PKTHREAD | Thread | ) |
Definition at line 733 of file ke.h.
Referenced by KeSaveFloatingPointState(), KiCoprocessorError(), KiEnterV86Mode(), KiExitV86Mode(), KiFlushNPXState(), KiInitMachineDependent(), KiSwapContextEntry(), KiTrap07Handler(), KiTrap10Handler(), and KiTrap13Handler().
FORCEINLINE PULONG KiGetUserModeStackAddress | ( | void | ) |
Definition at line 1108 of file cpu.c.
Referenced by KiInitMachineDependent().
Definition at line 22 of file mtrr.c.
Referenced by KiInitMachineDependent().
Definition at line 61 of file patpge.c.
Referenced by KiInitMachineDependent().
VOID NTAPI KiInitializePcr | ( | IN ULONG | ProcessorNumber, |
IN PKIPCR | Pcr, | ||
IN PKIDTENTRY | Idt, | ||
IN PKGDTENTRY | Gdt, | ||
IN PKTSS | Tss, | ||
IN PKTHREAD | IdleThread, | ||
IN PVOID | DpcStack | ||
) |
Definition at line 284 of file kiinit.c.
Referenced by KeStartAllProcessors().
FORCEINLINE DECLSPEC_NORETURN VOID KiIret | ( | VOID | ) |
Definition at line 929 of file ke.h.
Definition at line 1179 of file cpu.c.
Referenced by KiVerifyCpuFeatures().
Definition at line 1031 of file cpu.c.
Referenced by KiInitMachineDependent().
FORCEINLINE VOID KiRundownThread | ( | IN PKTHREAD | Thread | ) |
DECLSPEC_NORETURN VOID FASTCALL KiServiceExit | ( | IN PKTRAP_FRAME | TrapFrame, |
IN NTSTATUS | Status | ||
) |
Definition at line 150 of file traphdlr.c.
Referenced by KiCallbackReturnHandler(), KiSystemServiceHandler(), and KiUserModeCallout().
DECLSPEC_NORETURN VOID FASTCALL KiServiceExit2 | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 189 of file traphdlr.c.
Definition at line 748 of file cpu.c.
Referenced by KiInitMachineDependent().
Definition at line 99 of file cpu.c.
FORCEINLINE VOID KiSetTebBase | ( | PKPCR | Pcr, |
PNT_TIB | TebAddress | ||
) |
Definition at line 420 of file ke.h.
Referenced by KiEnterV86Mode(), KiExitV86Mode(), and KiSwapContextExit().
FORCEINLINE DECLSPEC_NORETURN VOID KiSwitchToBootStack | ( | IN ULONG_PTR | InitialStack | ) |
Definition at line 889 of file ke.h.
Referenced by KiSystemStartup().
NTSTATUS NTAPI KiSystemCallTrampoline | ( | _In_ PVOID | Handler, |
_In_ PVOID | Arguments, | ||
_In_ ULONG | StackBytes | ||
) |
Referenced by KiSystemServiceHandler().
Definition at line 63 of file thrdini.c.
Referenced by KiInitializeContextThread().
Referenced by Ki386InitializeTss().
Referenced by Ki386InitializeTss().
Referenced by Ki386EnableXMMIExceptions().
Referenced by KiTrap0EHandler().
BOOLEAN NTAPI VdmDispatchBop | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 313 of file vdmexec.c.
Referenced by KiTrap06Handler(), and KiVdmOpcodeIRET().
BOOLEAN NTAPI VdmDispatchPageFault | ( | _In_ PKTRAP_FRAME | TrapFrame | ) |
Definition at line 367 of file vdmexec.c.
Referenced by KiTrap0EHandler().
|
extern |
Definition at line 24 of file cpu.c.
Referenced by KeInvalidateAllCaches().
|
extern |
Definition at line 21 of file v86vdm.c.
Referenced by VdmSwapContext().
|
extern |
Definition at line 22 of file v86vdm.c.
Referenced by VdmSwapContext().
|
extern |
Definition at line 33 of file cpu.c.
Referenced by KiFlushNPXState().
|
extern |
Definition at line 27 of file cpu.c.
Referenced by KeRestoreFloatingPointState(), and KeSaveFloatingPointState().
|
extern |
Definition at line 24 of file v86vdm.c.
Referenced by KeI386VdmInitialize(), KiVdmOpcodeCLI(), KiVdmOpcodeINTnn(), KiVdmOpcodeIRET(), KiVdmOpcodePOPF(), KiVdmOpcodePUSHF(), KiVdmOpcodeSTI(), VdmEndExecution(), and VdmpStartExecution().
|
extern |
Definition at line 23 of file v86vdm.c.
Referenced by Ke386CallBios(), and KiInitializeKernel().
|
extern |
|
extern |
|
extern |
Definition at line 28 of file cpu.c.
Referenced by KiRestoreFastSyscallReturnState().
|
extern |
Definition at line 42 of file cpu.c.
Referenced by KiGetFeatureBits(), KiInitMachineDependent(), and MiInitMachineDependent().
|
extern |
Definition at line 50 of file except.c.
Referenced by KeInitExceptions().
|
extern |
Definition at line 51 of file except.c.
Referenced by KeInitExceptions(), and KiSystemStartup().
|
extern |
Definition at line 30 of file cpu.c.
Referenced by KeContextToTrapFrame(), and KiInitMachineDependent().
|
extern |
|
extern |
|
extern |