ReactOS 0.4.16-dev-112-g52265ae
|
Go to the source code of this file.
Classes | |
struct | _KIDT_INIT |
struct | _KI_INTERRUPT_DISPATCH_ENTRY |
Macros | |
#define | X86_EFLAGS_TF 0x00000100 /* Trap flag */ |
#define | X86_EFLAGS_IF 0x00000200 /* Interrupt Enable flag */ |
#define | X86_EFLAGS_IOPL 0x00003000 /* I/O Privilege Level bits */ |
#define | X86_EFLAGS_NT 0x00004000 /* Nested Task flag */ |
#define | X86_EFLAGS_RF 0x00010000 /* Resume flag */ |
#define | X86_EFLAGS_VM 0x00020000 /* Virtual Mode */ |
#define | X86_EFLAGS_ID 0x00200000 /* CPUID detection flag */ |
#define | X86_CR0_PE 0x00000001 /* enable Protected Mode */ |
#define | X86_CR0_NE 0x00000020 /* enable native FPU error reporting */ |
#define | X86_CR0_TS 0x00000008 /* enable exception on FPU instruction for task switch */ |
#define | X86_CR0_EM 0x00000004 /* enable FPU emulation (disable FPU) */ |
#define | X86_CR0_MP 0x00000002 /* enable FPU monitoring */ |
#define | X86_CR0_WP 0x00010000 /* enable Write Protect (copy on write) */ |
#define | X86_CR0_PG 0x80000000 /* enable Paging */ |
#define | X86_CR4_PAE 0x00000020 /* enable physical address extensions */ |
#define | X86_CR4_PGE 0x00000080 /* enable global pages */ |
#define | X86_CR4_OSFXSR 0x00000200 /* enable FXSAVE/FXRSTOR instructions */ |
#define | X86_CR4_OSXMMEXCPT 0x00000400 /* enable #XF exception */ |
#define | X86_FEATURE_FPU 0x00000001 /* x87 FPU is present */ |
#define | X86_FEATURE_VME 0x00000002 /* Virtual 8086 Extensions are present */ |
#define | X86_FEATURE_DBG 0x00000004 /* Debugging extensions are present */ |
#define | X86_FEATURE_PSE 0x00000008 /* Page Size Extension is present */ |
#define | X86_FEATURE_TSC 0x00000010 /* time stamp counters are present */ |
#define | X86_FEATURE_PAE 0x00000040 /* physical address extension is present */ |
#define | X86_FEATURE_CX8 0x00000100 /* CMPXCHG8B instruction present */ |
#define | X86_FEATURE_SYSCALL 0x00000800 /* SYSCALL/SYSRET support present */ |
#define | X86_FEATURE_MTTR 0x00001000 /* Memory type range registers are present */ |
#define | X86_FEATURE_PGE 0x00002000 /* Page Global Enable */ |
#define | X86_FEATURE_CMOV 0x00008000 /* "Conditional move" instruction supported */ |
#define | X86_FEATURE_PAT 0x00010000 /* Page Attribute Table is supported */ |
#define | X86_FEATURE_DS 0x00200000 /* Debug Store is present */ |
#define | X86_FEATURE_MMX 0x00800000 /* MMX extension present */ |
#define | X86_FEATURE_FXSR 0x01000000 /* FXSAVE/FXRSTOR instructions present */ |
#define | X86_FEATURE_SSE 0x02000000 /* SSE extension present */ |
#define | X86_FEATURE_SSE2 0x04000000 /* SSE2 extension present */ |
#define | X86_FEATURE_HT 0x10000000 /* Hyper-Threading present */ |
#define | X86_FEATURE_SSE3 0x00000001 /* SSE3 is supported */ |
#define | X86_FEATURE_MONITOR 0x00000008 /* SSE3 Monitor instructions supported */ |
#define | X86_FEATURE_VMX 0x00000020 /* Virtual Machine eXtensions are available */ |
#define | X86_FEATURE_SSSE3 0x00000200 /* Supplemental SSE3 are available */ |
#define | X86_FEATURE_FMA3 0x00001000 /* Fused multiple-add supported */ |
#define | X86_FEATURE_CX16 0x00002000 /* CMPXCHG16B instruction are available */ |
#define | X86_FEATURE_PCID 0x00020000 /* Process Context IDentifiers are supported */ |
#define | X86_FEATURE_SSE41 0x00080000 /* SSE 4.1 is supported */ |
#define | X86_FEATURE_SSE42 0x00100000 /* SSE 4.2 is supported */ |
#define | X86_FEATURE_POPCNT 0x00800000 /* POPCNT instruction is available */ |
#define | X86_FEATURE_XSAVE 0x04000000 /* XSAVE family are available */ |
#define | X86_FEATURE_NX 0x00100000 /* NX support present */ |
#define | X86_EXT_FEATURE_SSE3 0x00000001 /* SSE3 extension present */ |
#define | X86_EXT_FEATURE_3DNOW 0x40000000 /* 3DNOW! extension present */ |
#define | FRAME_EDITED 0xFFF8 |
#define | X86_MSR_GSBASE 0xC0000101 |
#define | X86_MSR_KERNEL_GSBASE 0xC0000102 |
#define | X86_MSR_EFER 0xC0000080 |
#define | X86_MSR_STAR 0xC0000081 |
#define | X86_MSR_LSTAR 0xC0000082 |
#define | X86_MSR_CSTAR 0xC0000083 |
#define | X86_MSR_SFMASK 0xC0000084 |
#define | EFER_SCE 0x0001 |
#define | EFER_LME 0x0100 |
#define | EFER_LMA 0x0400 |
#define | EFER_NXE 0x0800 |
#define | EFER_SVME 0x1000 |
#define | EFER_FFXSR 0x4000 |
#define | AMD64_TSS 9 |
#define | APIC_EOI_REGISTER 0xFFFFFFFFFFFE00B0ULL |
#define | KD_BREAKPOINT_TYPE UCHAR |
#define | KD_BREAKPOINT_SIZE sizeof(UCHAR) |
#define | KD_BREAKPOINT_VALUE 0xCC |
#define | KeGetTrapFrame(Thread) |
#define | KeGetContextSwitches(Prcb) (Prcb->KeContextSwitches) |
#define | KiGetSecondLevelDCacheSize() ((PKIPCR)KeGetPcr())->SecondLevelCacheSize |
#define | KeGetExceptionFrame(Thread) |
#define | KeGetTrapFrameInterruptState(TrapFrame) BooleanFlagOn((TrapFrame)->EFlags, EFLAGS_INTERRUPT_MASK) |
#define | KeArchInitThreadWithContext(Thread, SystemRoutine, StartRoutine, StartContext, Context) Ke386InitThreadWithContext(Thread,SystemRoutine,StartRoutine,StartContext,Context) |
Typedefs | |
typedef struct _KIDT_INIT | KIDT_INIT |
typedef struct _KIDT_INIT * | PKIDT_INIT |
typedef struct _KI_INTERRUPT_DISPATCH_ENTRY | KI_INTERRUPT_DISPATCH_ENTRY |
typedef struct _KI_INTERRUPT_DISPATCH_ENTRY * | PKI_INTERRUPT_DISPATCH_ENTRY |
Variables | |
ULONG | KeI386NpxPresent |
ULONG | KeI386XMMIPresent |
ULONG | KeI386FxsrPresent |
ULONG | KeI386CpuType |
ULONG | KeI386CpuStep |
NTKERNELAPI volatile KSYSTEM_TIME | KeTickCount |
#define KeArchInitThreadWithContext | ( | Thread, | |
SystemRoutine, | |||
StartRoutine, | |||
StartContext, | |||
Context | |||
) | Ke386InitThreadWithContext(Thread,SystemRoutine,StartRoutine,StartContext,Context) |
#define KeGetTrapFrameInterruptState | ( | TrapFrame | ) | BooleanFlagOn((TrapFrame)->EFlags, EFLAGS_INTERRUPT_MASK) |
#define X86_CR4_OSFXSR 0x00000200 /* enable FXSAVE/FXRSTOR instructions */ |
#define X86_EXT_FEATURE_3DNOW 0x40000000 /* 3DNOW! extension present */ |
#define X86_EXT_FEATURE_SSE3 0x00000001 /* SSE3 extension present */ |
#define X86_FEATURE_CMOV 0x00008000 /* "Conditional move" instruction supported */ |
#define X86_FEATURE_CX16 0x00002000 /* CMPXCHG16B instruction are available */ |
#define X86_FEATURE_CX8 0x00000100 /* CMPXCHG8B instruction present */ |
#define X86_FEATURE_DBG 0x00000004 /* Debugging extensions are present */ |
#define X86_FEATURE_FMA3 0x00001000 /* Fused multiple-add supported */ |
#define X86_FEATURE_FXSR 0x01000000 /* FXSAVE/FXRSTOR instructions present */ |
#define X86_FEATURE_MONITOR 0x00000008 /* SSE3 Monitor instructions supported */ |
#define X86_FEATURE_POPCNT 0x00800000 /* POPCNT instruction is available */ |
#define X86_FEATURE_SSE2 0x04000000 /* SSE2 extension present */ |
#define X86_FEATURE_VME 0x00000002 /* Virtual 8086 Extensions are present */ |
typedef struct _KIDT_INIT KIDT_INIT |
typedef struct _KIDT_INIT * PKIDT_INIT |
NTHALAPI NTSTATUS NTAPI HalAllocateAdapterChannel | ( | IN PADAPTER_OBJECT | AdapterObject, |
IN PWAIT_CONTEXT_BLOCK | Wcb, | ||
IN ULONG | NumberOfMapRegisters, | ||
IN PDRIVER_CONTROL | ExecutionRoutine | ||
) |
Definition at line 88 of file dma.c.
Referenced by HalBuildScatterGatherList(), and IoAllocateAdapterChannel().
VOID Ke386InitThreadWithContext | ( | PKTHREAD | Thread, |
PKSYSTEM_ROUTINE | SystemRoutine, | ||
PKSTART_ROUTINE | StartRoutine, | ||
PVOID | StartContext, | ||
PCONTEXT | Context | ||
) |
FORCEINLINE BOOLEAN KeDisableInterrupts | ( | VOID | ) |
Definition at line 239 of file ke.h.
Referenced by _ExiDisableInterruptsAndAcquireSpinlock(), KdPollBreakIn(), KeFreezeExecution(), KeRemoveQueueDpc(), and Ki386EnableGlobalPage().
FORCEINLINE VOID KeFlushProcessTb | ( | VOID | ) |
Definition at line 272 of file ke.h.
Referenced by MiMapPageInHyperSpace(), MiMapPagesInZeroSpace(), MiReserveAlignedSystemPtes(), and MiUnmapLockedPagesInUserSpace().
FORCEINLINE ULONG_PTR KeGetContextFrameRegister | ( | PCONTEXT | Context | ) |
Definition at line 165 of file ke.h.
Referenced by KdbpCmdBackTrace().
FORCEINLINE ULONG_PTR KeGetContextPc | ( | PCONTEXT | Context | ) |
FORCEINLINE ULONG_PTR KeGetContextReturnRegister | ( | PCONTEXT | Context | ) |
FORCEINLINE ULONG_PTR KeGetContextStackRegister | ( | PCONTEXT | Context | ) |
FORCEINLINE ULONG_PTR KeGetTrapFrameFrameRegister | ( | PKTRAP_FRAME | TrapFrame | ) |
Definition at line 200 of file ke.h.
Referenced by KdbpCmdThread().
FORCEINLINE ULONG_PTR KeGetTrapFramePc | ( | PKTRAP_FRAME | TrapFrame | ) |
FORCEINLINE ULONG_PTR KeGetTrapFrameStackRegister | ( | PKTRAP_FRAME | TrapFrame | ) |
Definition at line 193 of file ke.h.
Referenced by KdbpCmdThread().
FORCEINLINE VOID KeInvalidateTlbEntry | ( | IN PVOID | Address | ) |
Definition at line 264 of file ke.h.
Referenced by _Success_(), FreeWsleIndex(), KdpPhysMap(), KiI386PentiumLockErrataFixup(), MiDbgTranslatePhysicalAddress(), MiDbgUnTranslatePhysicalAddress(), MiProtectVirtualMemory(), MmSetDirtyBit(), MmSetPageProtect(), and TrimWsList().
FORCEINLINE PVOID KeQueryInterruptHandler | ( | IN ULONG | Vector | ) |
Definition at line 327 of file ke.h.
Referenced by HalpInitializeTsc(), HalpSwitchToRealModeTrapHandlers(), KeConnectInterrupt(), KeDisconnectInterrupt(), and KiGetVectorDispatch().
Definition at line 301 of file ke.h.
Referenced by ApicInitializeLocalApic(), HalpEnableInterruptHandler(), HalpInitializePICs(), HalpInitializeTsc(), HalpRestoreTrapHandlers(), HalpSwitchToRealModeTrapHandlers(), KeConnectInterrupt(), KeDisconnectInterrupt(), and KiConnectVectorToInterrupt().
FORCEINLINE VOID KeRestoreInterrupts | ( | BOOLEAN | WereEnabled | ) |
Definition at line 254 of file ke.h.
Referenced by _ExiReleaseSpinLockAndRestoreInterrupts(), KdPollBreakIn(), KeThawExecution(), and Ki386EnableGlobalPage().
FORCEINLINE VOID KeSetContextFrameRegister | ( | PCONTEXT | Context, |
ULONG_PTR | Frame | ||
) |
Definition at line 172 of file ke.h.
Referenced by KdbpCmdBackTrace().
FORCEINLINE VOID KeSetContextPc | ( | PCONTEXT | Context, |
ULONG_PTR | ProgramCounter | ||
) |
FORCEINLINE VOID KeSetContextReturnRegister | ( | PCONTEXT | Context, |
ULONG_PTR | ReturnValue | ||
) |
Definition at line 280 of file ke.h.
Referenced by KdpCopyMemoryChunks(), and NtFlushInstructionCache().
FORCEINLINE VOID Ki386PerfEnd | ( | VOID | ) |
Definition at line 229 of file trapc.c.
Referenced by KiInitializePcr().
FORCEINLINE VOID KiEndInterrupt | ( | IN KIRQL | Irql, |
IN PKTRAP_FRAME | TrapFrame | ||
) |
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().
Definition at line 418 of file cpu.c.
Referenced by KiInitializeKernel(), and KiSystemStartupBootStack().
Evaluates the KeFeatureFlag bits for the current CPU.
Definition at line 165 of file cpu.c.
Referenced by KiInitializeCpu(), and KiVerifyCpuFeatures().
FORCEINLINE PKTRAP_FRAME KiGetLinkedTrapFrame | ( | PKTRAP_FRAME | TrapFrame | ) |
FORCEINLINE PULONG_PTR KiGetUserModeStackAddress | ( | void | ) |
BOOLEAN KiProcessorFreezeHandler | ( | _In_ PKTRAP_FRAME | TrapFrame, |
_In_ PKEXCEPTION_FRAME | ExceptionFrame | ||
) |
Definition at line 21 of file freeze.c.
Referenced by KiNmiInterruptHandler().
FORCEINLINE VOID KiRundownThread | ( | IN PKTHREAD | Thread | ) |
Definition at line 293 of file ke.h.
Referenced by KeTerminateThread().
FORCEINLINE VOID KiSendEOI | ( | VOID | ) |
Definition at line 346 of file ke.h.
Referenced by _Requires_lock_not_held_().
Definition at line 99 of file cpu.c.
Referenced by KiInitializeCpu(), and KiVerifyCpuFeatures().
VOID KiSetTrapContext | ( | _Out_ PKTRAP_FRAME | TrapFrame, |
_In_ PCONTEXT | Context, | ||
_In_ KPROCESSOR_MODE | RequestorMode | ||
) |
Referenced by _IRQL_requires_().
DECLSPEC_NORETURN VOID KiSwitchToBootStack | ( | IN ULONG_PTR | InitialStack | ) |
Definition at line 889 of file ke.h.
Referenced by KiSystemStartup().
DECLSPEC_NORETURN VOID KiUserCallbackExit | ( | _In_ PKTRAP_FRAME | TrapFrame | ) |
Referenced by KiUserModeCallout().
FORCEINLINE BOOLEAN KiUserTrap | ( | IN PKTRAP_FRAME | TrapFrame | ) |
Definition at line 364 of file ke.h.
Referenced by _HalpApcInterruptHandler(), HalpApcInterruptHandler(), KeContextToTrapFrame(), KeTrapFrameToContext(), KeUpdateRunTime(), KiCallbackReturnHandler(), KiCheckForApcDelivery(), KiCommonExit(), KiDebugHandler(), KiDispatchExceptionFromTrapFrame(), KiEoiHelper(), KiEspFromTrapFrame(), KiEspToTrapFrame(), KiInitializeUserApc(), KiNpxHandler(), KiRaiseSecurityCheckFailureHandler(), KiServiceExit(), KiServiceExit2(), KiSsFromTrapFrame(), KiSsToTrapFrame(), KiSystemServiceHandler(), KiTrap01Handler(), KiTrap05Handler(), KiTrap06Handler(), KiTrap0DHandler(), KiTrap0EHandler(), KiTrap13Handler(), and KiVdmTrap().
|
extern |
Definition at line 25 of file cpu.c.
Referenced by KiInitializeKernel(), and KiInitializeKernelMachineDependent().
|
extern |
Definition at line 24 of file cpu.c.
Referenced by KiInitializeKernel(), and KiInitializeKernelMachineDependent().
|
extern |
Definition at line 33 of file cpu.c.
Referenced by KeContextToTrapFrame(), KeTrapFrameToContext(), KiDispatchException(), KiInitializeContextThread(), KiInitializeKernel(), and KiNpxHandler().
|
extern |
Definition at line 27 of file cpu.c.
Referenced by CmpInitializeMachineDependentConfiguration().
|
extern |
Definition at line 32 of file cpu.c.
Referenced by KiInitializeKernel().
|
extern |
Definition at line 19 of file clock.c.
Referenced by _KeQueryTickCount(), _Requires_lock_held_(), IoCreateDriver(), KeUpdateSystemTime(), KiCheckForTimerExpiration(), KiDeferredReadyThread(), KiScanReadyQueues(), and KiTimerExpiration().