Go to the source code of this file.
Defines | |
#define | KF_V86_VIS 0x00000001 |
#define | KF_RDTSC 0x00000002 |
#define | KF_CR4 0x00000004 |
#define | KF_CMOV 0x00000008 |
#define | KF_GLOBAL_PAGE 0x00000010 |
#define | KF_LARGE_PAGE 0x00000020 |
#define | KF_MTRR 0x00000040 |
#define | KF_CMPXCHG8B 0x00000080 |
#define | KF_MMX 0x00000100 |
#define | KF_WORKING_PTE 0x00000200 |
#define | KF_PAT 0x00000400 |
#define | KF_FXSR 0x00000800 |
#define | KF_FAST_SYSCALL 0x00001000 |
#define | KF_XMMI 0x00002000 |
#define | KF_3DNOW 0x00004000 |
#define | KF_AMDK6MTRR 0x00008000 |
#define | Isx86FeaturePresent(_f_) ((KiBootFeatureBits & (_f_)) != 0) |
Functions | |
VOID | Ke386SetLdtProcess (struct _KPROCESS *Process, PLDT_ENTRY Ldt, ULONG Limit) |
VOID | Ke386SetDescriptorProcess (struct _KPROCESS *Process, ULONG Offset, LDT_ENTRY LdtEntry) |
VOID | Ke386GetGdtEntryThread (struct _KTHREAD *Thread, ULONG Offset, PKGDTENTRY Descriptor) |
BOOLEAN | Ke386SetIoAccessMap (ULONG MapNumber, PKIO_ACCESS_MAP IoAccessMap) |
BOOLEAN | Ke386QueryIoAccessMap (ULONG MapNumber, PKIO_ACCESS_MAP IoAccessMap) |
BOOLEAN | Ke386IoSetAccessProcess (struct _KPROCESS *Process, ULONG MapNumber) |
VOID | Ke386SetIOPL (struct _KPROCESS *Process) |
NTSTATUS | Ke386CallBios (IN ULONG BiosCommand, IN OUT PCONTEXT BiosArguments) |
VOID | KiEditIopmDpc (IN struct _KDPC *Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2) |
BOOLEAN | Ki386GetSelectorParameters (IN USHORT Selector, OUT PULONG Flags, OUT PULONG Base, OUT PULONG Limit) |
NTSTATUS | Ke386SetVdmInterruptHandler (IN struct _KPROCESS *Process, IN ULONG Interrupt, IN USHORT Selector, IN ULONG Offset, IN BOOLEAN Gate32) |
NTSTATUS | KeI386GetLid (IN USHORT DeviceId, IN USHORT RelativeLid, IN BOOLEAN SharedLid, IN struct _DRIVER_OBJECT *DeviceObject, OUT PUSHORT LogicalId) |
NTSTATUS | KeI386ReleaseLid (IN USHORT LogicalId, IN struct _DRIVER_OBJECT *DeviceObject) |
NTSTATUS | KeI386AbiosCall (IN USHORT LogicalId, IN struct _DRIVER_OBJECT *DriverObject, IN PUCHAR RequestBlock, IN USHORT EntryPoint) |
NTSTATUS | KeI386AllocateGdtSelectors (OUT PUSHORT SelectorArray, IN USHORT NumberOfSelectors) |
VOID | KeI386Call16BitFunction (IN OUT PCONTEXT Regs) |
USHORT | KeI386Call16BitCStyleFunction (IN ULONG EntryOffset, IN ULONG EntrySelector, IN PUCHAR Parameters, IN ULONG Size) |
NTSTATUS | KeI386FlatToGdtSelector (IN ULONG SelectorBase, IN USHORT Length, IN USHORT Selector) |
NTSTATUS | KeI386ReleaseGdtSelectors (OUT PUSHORT SelectorArray, IN USHORT NumberOfSelectors) |
NTSTATUS | KeI386SetGdtSelector (ULONG Selector, PKGDTENTRY GdtValue) |
VOID | KeOptimizeProcessorControlState (VOID) |
BOOLEAN | Ke386VdmInsertQueueApc (IN PKAPC Apc, IN struct _KTHREAD *Thread, IN KPROCESSOR_MODE ApcMode, IN PKKERNEL_ROUTINE KernelRoutine, IN PKRUNDOWN_ROUTINE RundownRoutine OPTIONAL, IN PKNORMAL_ROUTINE NormalRoutine OPTIONAL, IN PVOID NormalContext OPTIONAL, IN KPRIORITY Increment) |
VOID | Ke386VdmClearApcObject (IN PKAPC Apc) |
VOID | KeI386VdmInitialize (VOID) |
VOID | CPUID (ULONG InEax, PULONG OutEax, PULONG OutEbx, PULONG OutEcx, PULONG OutEdx) |
LONGLONG | RDTSC (VOID) |
ULONGLONG FASTCALL | RDMSR (IN ULONG MsrRegister) |
VOID | WRMSR (IN ULONG MsrRegister, IN ULONGLONG MsrValue) |
Variables | |
ULONG | KeI386EFlagsAndMaskV86 |
ULONG | KeI386EFlagsOrMaskV86 |
BOOLEAN | KeI386VdmIoplAllowed |
ULONG | KeI386VirtualIntExtensions |
ULONG | KeI386CpuType |
ULONG | KeI386CpuStep |
BOOLEAN | KeI386NpxPresent |
BOOLEAN | KeI386FxsrPresent |
ULONG | KiBootFeatureBits |
|
Definition at line 2725 of file i386.h. Referenced by ExAllocateFromPagedLookasideList(), ExAllocatePoolWithTag(), ExFreePoolWithTag(), and ExFreeToPagedLookasideList(). |
|
Definition at line 2716 of file i386.h. Referenced by KiInitializeKernel(). |
|
Definition at line 2717 of file i386.h. Referenced by KeRestoreMtrr(), KeSetPhysicalCacheTypeRange(), KiInitMachineDependent(), and KiLoadMTRR(). |
|
|
|
Definition at line 2709 of file i386.h. Referenced by ExAllocateFromPagedLookasideList(), ExAllocatePoolWithTag(), ExFreePoolWithTag(), ExFreeToPagedLookasideList(), and KiInitializeKernel(). |
|
|
|
|
|
Definition at line 2713 of file i386.h. Referenced by KeSetup80387OrEmulate(), KiInitializeKernel(), and KiInitMachineDependent(). |
|
Definition at line 2706 of file i386.h. Referenced by KiInitializeKernel(), KiInitMachineDependent(), and MiInitMachineDependent(). |
|
Definition at line 2707 of file i386.h. Referenced by KiInitMachineDependent(), and MiInitMachineDependent(). |
|
Definition at line 2710 of file i386.h. Referenced by KeSetup80387OrEmulate(), and KiInitializeKernel(). |
|
Definition at line 2708 of file i386.h. Referenced by KiInitializeKernel(), KiInitializeMTRR(), and KiInitMachineDependent(). |
|
Definition at line 2712 of file i386.h. Referenced by KeRestorePAT(), KiInitializeKernel(), KiInitializePAT(), KiInitMachineDependent(), and MmMapIoSpace(). |
|
Definition at line 2703 of file i386.h. Referenced by KiInitializeKernel(), and KiInitMachineDependent(). |
|
Definition at line 2702 of file i386.h. Referenced by KeI386VdmInitialize(). |
|
Definition at line 2711 of file i386.h. Referenced by KiInitMachineDependent(). |
|
Definition at line 2715 of file i386.h. Referenced by KeSetup80387OrEmulate(), KiInitializeKernel(), and KiInitMachineDependent(). |
|
Referenced by CmpInitializeMachineDependentConfiguration(), KiGetCacheInformation(), KiGetCpuVendor(), and KiInitMachineDependent(). |
|
Definition at line 60 of file biosc.c. References _KTHREAD::ApcState, ASSERT, BiosInitialized, CONTEXT_FULL, ExAllocatePoolWithTag, EXCEPTION_EXECUTE_HANDLER, ExFreePool(), INT_10_TEB, INT_OPCODE, IOPM_OFFSET, KeGetCurrentThread, KeGetPcr, KeRevertToUserAffinityThread(), KeSetSystemAffinityThread(), Ki386IopmSaveArea, Ki386SetupAndExitToV86Code(), NonPagedPool, NTSTATUS(), NULL, PAGE_SIZE, _KAPC_STATE::Process, PsGetCurrentProcess, PVDM_TIB, _Vdm_Tib::Size, Status, USHORT, V86_BOP_OPCODE, V86_CODE_ADDRESS, VDM_TIB, VDM_TIB_ADDRESS, and _Vdm_Tib::VdmContext.
|
|
|
|
|
|
Definition at line 235 of file i386/iopm.c. References FALSE, KiLockContextSwap, KiPcr, KiUnlockContextSwap, and TRUE.
|
|
|
|
Definition at line 80 of file i386/iopm.c. References FALSE, KeActiveProcessors, KeGetCurrentPrcb, KiIpiSendPacket(), KiIpiStallOnPacketTargets(), KiLockContextSwap, KiPcr, KiSetIoMap(), KiUnlockContextSwap, NULL, and TRUE.
|
|
|
|
|
|
|
|
Definition at line 1437 of file ke/i386/vdm.c. References KiLockDispatcherDatabase, KiUnlockDispatcherDatabase(), and NULL. Referenced by VdmpDelayIntApcRoutine(), and VdmpQueueIntApcRoutine().
|
|
|
|
|
|
Definition at line 449 of file abiosc.c. References _KFREE_GDT_ENTRY::Flink, KiAbiosGdt, KiAbiosGdtLock, KiFreeGdtListHead, KiNumberFreeSelectors, and USHORT.
|
|
|
|
|
|
Definition at line 558 of file abiosc.c. References HIGHBYTE, KeNumberProcessors, KiAbiosGdt, KiAbiosGdtLock, KiAbiosPresent, LOWBYTE, RESERVED_GDT_ENTRIES, and USHORT.
|
|
|
|
Definition at line 507 of file abiosc.c. References _KFREE_GDT_ENTRY::Flink, KiAbiosGdt, KiAbiosGdtLock, KiFreeGdtListHead, and KiNumberFreeSelectors.
|
|
|
|
Definition at line 117 of file i386/gdtsup.c. References ClearMember, KeActiveProcessors, KeFindFirstSetRightMember, KiProcessorBlock, and PAGED_CODE.
|
|
Definition at line 1088 of file ke/i386/vdm.c. References KeFeatureBits, KeI386EFlagsAndMaskV86, KeI386EFlagsOrMaskV86, KeI386MachineType, KeI386VdmIoplAllowed, KeI386VirtualIntExtensions, KeInitializeMutex(), KF_V86_VIS, Ki386VdmEnablePentiumExtentions(), KiIpiGenericCall(), L, MUTEX_LEVEL_VDM_IO, NT_SUCCESS, NTSTATUS(), NULL, ObjectAttributes, RtlInitUnicodeString(), Status, TRUE, VdmFixedStateLinear, and VdmStringIoMutex.
|
|
Definition at line 1998 of file kernlini.c. References Ke386ConfigureCyrixProcessor(). Referenced by CmpConfigureProcessors().
|
|
Definition at line 160 of file ke/i386/vdm.c. References EXCEPTION_EXECUTE_HANDLER, FALSE, KeGetCurrentThread, SEL_TYPE_2GIG, SEL_TYPE_BIG, SEL_TYPE_ED, SEL_TYPE_EXECUTE, SEL_TYPE_READ, SEL_TYPE_WRITE, and TRUE.
|
|
|
|
Referenced by KdpReadMachineSpecificRegister(), KiAmdK6InitializeMTRR(), KiInitializeMTRR(), and KiLoadMTRR(). |
|
Referenced by KiInitMachineDependent(). |
|
Referenced by KdpWriteMachineSpecificRegister(), KiAmdK6MtrrWRMSR(), KiLoadMTRR(), and KiLoadPAT(). |
|
Definition at line 2693 of file i386.h. Referenced by KiInitializeKernel(). |
|
Definition at line 2692 of file i386.h. Referenced by KeInvalidateAllCaches(), and KiInitializeKernel(). |
|
Definition at line 2686 of file i386.h. Referenced by KeI386VdmInitialize(). |
|
Definition at line 2687 of file i386.h. Referenced by KeI386VdmInitialize(). |
|
Definition at line 2695 of file i386.h. Referenced by KeContextFromKframes(), KeContextToKframes(), KeRestoreFloatingPointState(), KeSaveFloatingPointState(), KiInitializeContextThread(), and KiInitializeKernel(). |
|
Definition at line 2694 of file i386.h. Referenced by CmpInitializeMachineDependentConfiguration(), KeContextFromKframes(), KeContextToKframes(), KeRestoreFloatingPointState(), KeSaveFloatingPointState(), KeSetup80387OrEmulate(), KiInitializeContextThread(), KiInitializeKernel(), and VdmSkipNpxInstruction(). |
|
Definition at line 2688 of file i386.h. Referenced by KeI386VdmInitialize(), NtVdmControl(), VdmDispatchInterrupts(), VdmEndExecution(), VdmpDispatchableIntPending(), and VdmpStartExecution(). |
|
Definition at line 2689 of file i386.h. Referenced by KeI386VdmInitialize(), NtVdmControl(), VdmDispatchInterrupts(), VdmEndExecution(), VdmpDispatchableIntPending(), VdmpQueueIntApcRoutine(), and VdmpStartExecution(). |
|
Definition at line 2723 of file i386.h. Referenced by KiInitializeKernel(). |