History log of /vbox/include/VBox/vmm/hm.h
Revision Date Author Comments Expand
4dc7987e3f1304f0facbec0c6d85f84784c8f2ec 55306 16-Apr-2015 vboxsync

VMM: renamed HM_[DISABLE|RESTORE]_PREEMPT_IF_NEEDED() macro.

dde097c859b85aecb07cfe40f3359a0e90e7b206 55248 14-Apr-2015 vboxsync

HMR0VMX,EM,IEM: Moved the CRx related interpretation methods from EM to IEM (VT-x only) to avoid tinkering with the EMAll.cpp stuff any more.

66d96ba0c4c722996a3a1e6d92403a14a27db1b4 55129 08-Apr-2015 vboxsync

VMM/GIM: Allow dynamic enabling of #UD traps and per-VCPU hypercalls.

fa35e2dfd910e18dbb7f136bfe56030e5116d51c 55118 07-Apr-2015 vboxsync

VMM: GIM raw-mode support.

7dd6af5ec00fd26b42e750bc0fd6e97250b11cf2 54878 20-Mar-2015 vboxsync

HM: Determine VT-x, AMD-V, nested paging and unhindered guest execution support+config earlier so CPUM can make decisions based on it.

73c19e602d049dbd78f43e02a93ae10504220be0 54718 11-Mar-2015 vboxsync

VMM: VMMR0ThreadCtxHooksDeregister returns void, further simplified HM_[DISABLE|RESTORE]_PREEMPT_IF_NEEDED() a bit.

84554b08a5892a89e63a73ed73184d4030f09fff 54712 11-Mar-2015 vboxsync

VMM: Clear idHostCpu mapping while deregistering the context-hooks rather than in HMR0Leave(). Simplified HMR0_[DISABLE|RESTORE]_PREEMPT_IF_NEEDED() and made VMMR0ThreadCtxHooksDeregister() check before deregistering the hook rather than asking the caller to do it each time.

c1d279fc0865b91a40b30eda02ed14f6533fe1a4 53615 31-Dec-2014 vboxsync

doxygen fixes.

d239ea80a55b621f0f0e0710e8a1b4762ddd6d0a 52419 19-Aug-2014 vboxsync

VMM: Fix restoring 32-bit guest FPU state on 64-bit capable VMs.

f8f484be8e0e78344ba79891ce9751c172517062 51981 11-Jul-2014 vboxsync

VMM/GIM, VMM/HM: Add support for Hyper-V hypervisor capabilities reporting through CPUID. Updated saved states as well, will break old states.

157093a77f2752732368338110cb50fa6cd7717f 51560 06-Jun-2014 vboxsync

VMM/GIM: Mapping of GIM MMIO2 regions and Hyper-V provider work.

445a14bcdcac4a50f84e9622e6f99ca8939b886a 50608 26-Feb-2014 vboxsync

Function no longer there.

e6b0913e5766d8101117a6a748693e18e7b6dcfa 49725 29-Nov-2013 vboxsync

VMM/HM: Use unordered ASM atomics for safely updating HM flags.

a9e0e218c8f68e6f822cbf2596fedc529539713a 48591 20-Sep-2013 vboxsync

VMMR0/HMR0: HM-Context flag macros.

49a26ffef05cfa619d377f63b48df7b15cf59148 48565 20-Sep-2013 vboxsync

VMM/HM: Added total VM-exits STAM.

314a1c5d7ac125c7b941bc038f2dd7417575cd8a 48562 19-Sep-2013 vboxsync

HM: Operative macros for HM-context flags.

8cd8b490cc74017d6482964df20a9bc8c8e16f41 48130 28-Aug-2013 vboxsync

VMM: Enable thread-context hooks. Reimplemented event injection logic for VT-x and AMD-V.

be1fed8ebe7e2ac1fc1b2e9dbd2c1da7726d6cb7 48037 23-Aug-2013 vboxsync

VMM/HM: Preemption hooks, work in progress. Hopefully I didn't break the non-hook case.

271d21bf1b988068a202ad339e667982f08e47f6 47760 15-Aug-2013 vboxsync

VMM/HM: Preemption hooks. Some common structural changes and cleanup, and initial imlementation of VT-x/AMD-V specific hook functionality.. Work in progress.

a23751d7f952d51ac76e98b0798918963acc42dd 47737 14-Aug-2013 vboxsync

HM.cpp: Added APIs for checking whether VT-x and AMD-V are enabled.

3b1bcdfd121ea207827a9bbc4a29199676882cea 47619 08-Aug-2013 vboxsync

EM: Started on HM single stepping for IEM verification purposes. Trying to fix the HM debugging in the proccess. VT-x only atm.

fde7c950706837227b4e26388edfc154de1b5530 46297 28-May-2013 vboxsync

VMM: Started HMSVMR0 work. Unify the AMD-V erratum 170 verification code between R0 and R3. General HM tidying.

1bf151411167b02ebdc6d6a18de8b97030341e1f 45971 09-May-2013 vboxsync

Main, VMM: Added an API seting to disable VT-x unrestricted execution.

1bc500a8f68a50c718620e24d730ac17b56d4d26 45786 27-Apr-2013 vboxsync

Move HMRCA.asm into the switcher code so we don't need VMMRC.rc.

9b6afc873899e3f89d76dd0c8043d9c568fc1b27 45754 26-Apr-2013 vboxsync

HMIsInHwVirtNoLongJmpCtx

ead20681ed6c34b0fc835c3e6c19b8034856653a 45749 26-Apr-2013 vboxsync

VMM: Introduced VMCPUSTATE_STARTED_HM for indicating that we're between HMR3Enter and HMR3Leave. Added HMIsInHwVirtCtx and VMMIsLongJumpArmed methods/macros.

ae20b83f0c94402a3e3ac021c3d4e5f827e4905c 45701 24-Apr-2013 vboxsync

VMM: SELM and VMM early HM init changes.

/vbox/include/VBox/apic.mac /vbox/include/VBox/err.h /vbox/include/VBox/err.mac hm.h selm.h vm.h vm.mac vmm.h /vbox/include/iprt/err.mac /vbox/include/iprt/x86.mac /vbox/src/VBox/VMM/Makefile.kmk /vbox/src/VBox/VMM/VMMAll/EMAll.cpp /vbox/src/VBox/VMM/VMMAll/HMAll.cpp /vbox/src/VBox/VMM/VMMAll/IEMAll.cpp /vbox/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h /vbox/src/VBox/VMM/VMMAll/SELMAll.cpp /vbox/src/VBox/VMM/VMMR0/VMMR0.cpp /vbox/src/VBox/VMM/VMMR3/DBGF.cpp /vbox/src/VBox/VMM/VMMR3/EMHM.cpp /vbox/src/VBox/VMM/VMMR3/HM.cpp /vbox/src/VBox/VMM/VMMR3/PGM.cpp /vbox/src/VBox/VMM/VMMR3/SELM.cpp /vbox/src/VBox/VMM/VMMR3/VMM.cpp /vbox/src/VBox/VMM/VMMR3/VMMSwitcher.cpp /vbox/src/VBox/VMM/VMMSwitcher/AMD64Stub.asm /vbox/src/VBox/VMM/VMMSwitcher/X86Stub.asm /vbox/src/VBox/VMM/include/VMMInternal.h /vbox/src/VBox/VMM/include/VMMSwitcher.h /vbox/src/VBox/VMM/include/VMMSwitcher.mac /vbox/src/recompiler/VBoxRecompiler.c
beb683ae4828ae01a388a124997a2517fbe78190 45618 18-Apr-2013 vboxsync

Do HMR3Init first in vmR3InitRing3 so the other components can skip raw-mode bits during init.

c3fa5fcf137b8ec949ac2f868a83a0866b920663 44373 25-Jan-2013 vboxsync

HM,++: pVM -> pUVM for main, mark as many as possible interfaces module internal.

2c7269859a4f3a8ee74cc20072f68aa1b47e34c0 44195 21-Dec-2012 vboxsync

VMM/VMMAll, VMMR3: forceflags for updating CR3 and PAE PDPEs.

f091ce66ee934d599f16056078a9a76d7286b959 43387 21-Sep-2012 vboxsync

VMM: HM cleanup.

/vbox/Makefile.kmk /vbox/include/Makefile.kmk /vbox/include/VBox/err.h /vbox/include/VBox/err.mac /vbox/include/VBox/log.h hm.h hm_svm.h hm_vmx.h hm_vmx.mac hwaccm.h mm.h vm.h vm.mac vmapi.h /vbox/src/VBox/Devices/Network/SrvIntNetR0.cpp /vbox/src/VBox/HostDrivers/Support/SUPDrv.c /vbox/src/VBox/Main/src-client/MachineDebuggerImpl.cpp /vbox/src/VBox/Main/src-server/HostImpl.cpp /vbox/src/VBox/Runtime/VBox/log-vbox.cpp /vbox/src/VBox/VMM/Makefile.kmk /vbox/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp /vbox/src/VBox/VMM/VMMAll/EMAll.cpp /vbox/src/VBox/VMM/VMMAll/HMAll.cpp /vbox/src/VBox/VMM/VMMAll/IOMAllMMIO.cpp /vbox/src/VBox/VMM/VMMAll/MMAll.cpp /vbox/src/VBox/VMM/VMMAll/PDMAllCritSect.cpp /vbox/src/VBox/VMM/VMMAll/PGMAll.cpp /vbox/src/VBox/VMM/VMMAll/PGMAllBth.h /vbox/src/VBox/VMM/VMMAll/PGMAllHandler.cpp /vbox/src/VBox/VMM/VMMAll/PGMAllPool.cpp /vbox/src/VBox/VMM/VMMAll/PGMAllShw.h /vbox/src/VBox/VMM/VMMAll/SELMAll.cpp /vbox/src/VBox/VMM/VMMR0/CPUMR0.cpp /vbox/src/VBox/VMM/VMMR0/HMR0.cpp /vbox/src/VBox/VMM/VMMR0/HMR0A.asm /vbox/src/VBox/VMM/VMMR0/HMR0Mixed.mac /vbox/src/VBox/VMM/VMMR0/HWSVMR0.cpp /vbox/src/VBox/VMM/VMMR0/HWSVMR0.h /vbox/src/VBox/VMM/VMMR0/HWVMXR0.cpp /vbox/src/VBox/VMM/VMMR0/HWVMXR0.h /vbox/src/VBox/VMM/VMMR0/PDMR0Device.cpp /vbox/src/VBox/VMM/VMMR0/VMMR0.cpp /vbox/src/VBox/VMM/VMMR3/CPUM.cpp /vbox/src/VBox/VMM/VMMR3/DBGF.cpp /vbox/src/VBox/VMM/VMMR3/DBGFMem.cpp /vbox/src/VBox/VMM/VMMR3/EM.cpp /vbox/src/VBox/VMM/VMMR3/EMHM.cpp /vbox/src/VBox/VMM/VMMR3/HM.cpp /vbox/src/VBox/VMM/VMMR3/IOM.cpp /vbox/src/VBox/VMM/VMMR3/PDMLdr.cpp /vbox/src/VBox/VMM/VMMR3/PGM.cpp /vbox/src/VBox/VMM/VMMR3/PGMBth.h /vbox/src/VBox/VMM/VMMR3/PGMHandler.cpp /vbox/src/VBox/VMM/VMMR3/PGMMap.cpp /vbox/src/VBox/VMM/VMMR3/PGMPhys.cpp /vbox/src/VBox/VMM/VMMR3/PGMPool.cpp /vbox/src/VBox/VMM/VMMR3/PGMShw.h /vbox/src/VBox/VMM/VMMR3/TRPM.cpp /vbox/src/VBox/VMM/VMMR3/VM.cpp /vbox/src/VBox/VMM/VMMR3/VMM.cpp /vbox/src/VBox/VMM/VMMR3/VMMGuruMeditation.cpp /vbox/src/VBox/VMM/VMMR3/VMMTests.cpp /vbox/src/VBox/VMM/VMMRC/HMRCA.asm /vbox/src/VBox/VMM/VMMRC/VMMRC.cpp /vbox/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp /vbox/src/VBox/VMM/include/EMHandleRCTmpl.h /vbox/src/VBox/VMM/include/HMInternal.h /vbox/src/VBox/VMM/include/HMInternal.mac /vbox/src/VBox/VMM/include/PGMInline.h /vbox/src/VBox/VMM/include/PGMInternal.h /vbox/src/VBox/VMM/include/VMMInternal.h /vbox/src/VBox/VMM/testcase/Makefile.kmk /vbox/src/VBox/VMM/testcase/tstAsmStructs.cpp /vbox/src/VBox/VMM/testcase/tstAsmStructsAsm.asm /vbox/src/VBox/VMM/testcase/tstVMM-HM.cpp /vbox/src/VBox/VMM/testcase/tstVMStruct.h /vbox/src/VBox/VMM/testcase/tstVMStructDTrace.cpp /vbox/src/VBox/VMM/testcase/tstVMStructRC.cpp /vbox/src/VBox/VMM/testcase/tstVMStructSize.cpp /vbox/src/recompiler/VBoxREMWrapper.cpp /vbox/src/recompiler/VBoxRecompiler.c /vbox/src/recompiler/exec.c /vbox/src/recompiler/target-i386/op_helper.c