History log of /vbox/src/VBox/VMM/VMMR0/HMVMXR0.cpp
Revision Date Author Comments Expand
3005ffba3f5479638902e025ca1598d60491afa3 55316 16-Apr-2015 vboxsync

CPUM,IEM,HM: Enabled XSAVE and AVX for AMD-V too.

74f502e6cb44f1959ecd0f7b01225d84f561d678 55307 16-Apr-2015 vboxsync

VMM/HMVMXR0: nit.

4dc7987e3f1304f0facbec0c6d85f84784c8f2ec 55306 16-Apr-2015 vboxsync

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

70359d3f63d95bf7fadd4b3d301326512f69d9ad 55292 15-Apr-2015 vboxsync

HM,CPUM,IEM: XSETBV fixes and adjustments.

eefd4c6de1d460c479dccac396ee7a5c2e982190 55290 15-Apr-2015 vboxsync

HM: Save/Load/Restore XCR0 handling during world switching. Implemented XSETBV for VT-x.

6d7d41c00fac812ff7264723e997d1860ed0d543 55257 14-Apr-2015 vboxsync

HM/VMX: Added new exit codes.

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.

9c178a84047ec38c02debb747cbdc7de4531d940 55037 31-Mar-2015 vboxsync

VMM/GIM: Add hypercall support and KVM spinlock support.

bfb6be0ea258c4368f5c15510ddb9e655ab3ef28 54908 23-Mar-2015 vboxsync

VMM: Rename variable to better reflect its purpose.

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.

38225f9ea0f545bba35bfcc4f2e3867e0db77ca0 54650 05-Mar-2015 vboxsync

SUPDrv/VMMR0: properly handle the CR4 shadow register on Linux >= 4.0

737be2bd78fcf15b587493c4ac6cab1147747c44 54384 23-Feb-2015 vboxsync

VMM/HMVMXR0: Fix debug assertion on 32-bit hosts. Host-state is already saved in HMR0Enter() while entering from ring-3/longjmp.

fee7c70eb9714106e3d800fef357089758be39bf 54308 19-Feb-2015 vboxsync

VMM,SUP: Apply the tsc delta where it matters. Made sense out of the paravirt-tsc-mode enable/disable code.

bc2bce0973298d0cf9729537ea6556489dde30a6 54196 13-Feb-2015 vboxsync

VMM/HM: stat adjustments.

613743c6981f9d04cc11c2d937eaeeeffb6d73f4 54152 11-Feb-2015 vboxsync

VMM/HMVMXR0: Fix host hang if VMX-preemption timer is disabled.

baf84d93aeb715946a518f3654a7311b77bf6cf3 54130 10-Feb-2015 vboxsync

VMM/HMVMXR0: comment update.

98b8cdc8f7bb31a0d0af242148a464327c71447f 54102 06-Feb-2015 vboxsync

VMM: doxygen nits.

2ad909fa129048824304cb0562cc356b7418404b 54098 06-Feb-2015 vboxsync

VMM/HMVMXR0: spaces.

e6b0c1d7c40c0c7a9170f65e3b4acdccac30376f 54097 06-Feb-2015 vboxsync

VMM/HMVMXR0: nit.

f123144bbcd0200c400e164a048313a2b2ecfd0d 54080 05-Feb-2015 vboxsync

VMM/HMVMXR0: Try fix regression caused by r98028 (single-stepping in dbx)

dcdc24fad9063d7a127c03f92bad8a38d3370453 54075 04-Feb-2015 vboxsync

VMM/HMVMXR0: Fixed unintentional losing #DB intercepts while loading guest CR0. Also removed #MF from the real-on-v86 mode exception mask, as it too like #NM is handled separately. Improved some comments.

aa7f783d8893b6004cb8d993273c008944f81544 54065 03-Feb-2015 vboxsync

VMM: Implemented TM TSC-mode switching with paravirtualized guests.

66a810e11621329d59910187364f3bd55ab72de3 54058 02-Feb-2015 vboxsync

VMM/HMVMXR0: Fixed incorrect setting of the block NMI force-flag.

4844cffe0a9aaeff9007cded56c218d388a69289 53631 02-Jan-2015 vboxsync

vmexit trace points.

fbe54807dce6523652d9052d26a8ddf6f24afa75 53628 01-Jan-2015 vboxsync

no else after break

dc91ba6b37f2d442fecd907aec040246a01f2320 53627 31-Dec-2014 vboxsync

HMVMXR0.cpp: Assert that EFLAGS are valid.

93d843d9d6f960b447506eeca70f8e5e80559e79 53613 30-Dec-2014 vboxsync

HMVMXR0.cpp: hmR0VmxCheckExitDueToEventDelivery returns error codes in at least three places, so the user need to check for more than just VINF_EM_RESET and VINF_EM_DOUBLE_FAULT. Also, check for positive result and then do return code massaging in RT_UNLIKELY branch, instead of multiple negative results checks.

876c2c8ac7bc88c51b6578d06cc2466e46ece94b 53612 30-Dec-2014 vboxsync

HMVMXR0.cpp: no else after return.

cddcca6129b83318e1e85e5ae1cfa8b08fe54c60 53611 30-Dec-2014 vboxsync

HMVMXR0.cpp: Use assertions better.

c75bbdcd0352901501738c698ec7805cef8d68a9 53325 14-Nov-2014 vboxsync

VMM: Fix sign inconsistency in the RealUseTSC case.

9476518c7a808c6398abbc8eb530978008a32130 53235 05-Nov-2014 vboxsync

VMM: Fixed incorrect pure TSC-offsetting mode switch with paravirt. VMs when the host/TM cannot do offsetting.

230402d0c14a363d7c0a69b4f8bc2d7958acf32c 53200 04-Nov-2014 vboxsync

VMM/HMVMXR0: comestics.

6a30041772f241092eb5ae48ecd2e8a9a401daeb 53199 04-Nov-2014 vboxsync

VMM/HMVMXR0: Windows build fix, doesn't like negating unsigned numbers with unary.

d289af2356fb21c1d1a4c55ee21292408e26bd88 53198 04-Nov-2014 vboxsync

VMM/HMVMXR0: Remove assertion in hmR0VmxExitRdtsc() for when CR4.TSD is set and we most probably should #GP.

0498002c187fdadd3187ceacbaab5b206657af54 53196 04-Nov-2014 vboxsync

VMM/HMVMXR0: Fix incorrect sign and calculation on guest TSC offset in VMCS.

1861e2ac7380cf26f1d4dee182852d597a3aaec9 53193 04-Nov-2014 vboxsync

VMM/HMVMXR0: nits.

0bf5fc7191a96e8ddfc83aeb46d32c37bc3bc566 53190 04-Nov-2014 vboxsync

VMM/HMVMXR0: nits.

207b6d148fbf6668c95caae095785558c05b5517 53178 02-Nov-2014 vboxsync

HMVMXR0.cpp: Fixed several bugs in the real-mode-on-top-of-v86 instruction emulation: STI always set the inhibit interrupts. IRET used didn't keep enough flags in the high word, but incorrectly (I believe) kept the resume flags (RF). The RF flag was only cleared in by a few instructions, it should normally be cleared when an instruction is retired (with a couple of exception). Made the real-mode direct event injection code return VINF_EM_DBG_STEPPED when stepping (currently passing fStepping around as that clearer).

86398ce44b5097bd3f913f4d4ec0a50deac1e456 53176 02-Nov-2014 vboxsync

HMVMXR0.cpp: Fixed bug in hmR0VmxInjectEventVmcs where cs.ValidSel wasn't updated in the real-mode case. Fixed a few single stepping issues. Some cleanups like CS:RIP formatting, unnecessary {} and else after return.

1c091479739f560981bd92d1e725912c10c6065f 53089 17-Oct-2014 vboxsync

VMM/HMVMXR0: logging fix.

2425233d1cb243ea878fa3d87d0d65c22554107c 52928 02-Oct-2014 vboxsync

VMM/HMVMXR0: Fix checking PAT MSR validity in hmR0VmxCheckGuestState().

cdc89dd52f5f1d7ec0a1f83cf08c2a2f58bdf8e1 52655 09-Sep-2014 vboxsync

VMM/HMVMXR0,HMSVMR0: oops, forgot bugref number.

71b5a91ad8c1f38948380892897d14d67aab5061 52653 09-Sep-2014 vboxsync

VMM/HMVMXR0,VMM/HMSVMR0: Fix incorrect disassembly of instruction caused by a #PF caused due to an ext. int/NMI while dealing with shadow #PFs. Fixes the warcraft 2 testcase.

87d174c0595939406416bdead659bb69485f74fc 52611 05-Sep-2014 vboxsync

VMM/HMVMXR0: Added ApicAccessToR3 stat and addressed a 4.3 todo.

78b16e8aaf4a92da0d0a1e7fbfe10e0b8edb0499 52595 04-Sep-2014 vboxsync

VMM/HMVMXR0: Logging.

422bccd9aee59dd100d172df5a8ff1bed39c7964 52573 02-Sep-2014 vboxsync

VMM/HMVMXR0: Fix a wrong invalid-guest-state check with regards to EFER.LMA and LME.

df7a725e1ff9b896a343d168d1949feee1948f86 52411 19-Aug-2014 vboxsync

VMM/HMVMXR0: Use unordered atomics for VMMRZCallRing3[Enable|Disable]() and some VT-x nits.

acb2f2a52311806c30a4c1c6cb9f06a520b09629 52281 05-Aug-2014 vboxsync

VMM/HMVMXR0: Fix strict assertion on older CPUs; check for secondary processor-based execution controls before reading it off the VMCS.

26eb2f18edcd5405e758df844e8a9e03ea38640d 52279 05-Aug-2014 vboxsync

VMM/HMVMXR0: Renaming nits.

c03ad2650049d583f98f1ecd61a7a9725792afc5 52192 25-Jul-2014 vboxsync

HostDrivers/Support, VMM: support CONFIG_PAX_KERNEXEC Linux kernels

1a9f9b57b7c649b26ce1dffe7973c7c7048d2da6 52182 25-Jul-2014 vboxsync

VMM/HMVMXR0: Wrong, EMT preemption doesn't lose VMCS state.

1cad31833525df0a20ba01e7c410c78ced83ff92 52172 24-Jul-2014 vboxsync

VMM/HMVMXR0: Clear inhibit-interrupts force-flag when only NMI blocking is in effect. Don't start VM with NMI-window exiting control set.

b7e6d71f5ee7118e058ff7f5ae615579a710d47b 52166 24-Jul-2014 vboxsync

VMM/HMVMXR0: Move comment to the right place.

02e2de0abb634f4065168cc4a910f03192d52057 52165 24-Jul-2014 vboxsync

VMM/HMVMXR0: Cleanup.

1db2bc84ad110ac7e4f4b53422d419a4fa75d58b 52164 24-Jul-2014 vboxsync

VMM/HMVMXR0: Nits.

6e577dea000eb62c053f5c31befc4fd6e8e25b47 52162 24-Jul-2014 vboxsync

VMM/HMVMXR0: Make hmR0VmxGetGuestIntrState() side-effect free in terms of force-flags.

568c419b08740e0725f43d45bcb05ca66f50f5d1 52149 23-Jul-2014 vboxsync

VMM/HMVMXR0: comment.

929c0aeac67e79e2a020fb269132f356c6fee821 52147 23-Jul-2014 vboxsync

VMM/HMVMXR0: Don't lose interruptibility-state when we get preempted early!

fccf2b022b34785a7388cb6087c64443fdff92c5 52141 23-Jul-2014 vboxsync

VMM/HMVMXR0: Less confusing variable name.

dfb66a20da853609035fe5a024239384ada0ea74 52140 23-Jul-2014 vboxsync

VMM/HMVMXR0: Fix NMI redelivery when the original delivery caused an exception VM-exit.

c2b18fbd6325d1cc33aec3f7abd685eb61c5f48a 52125 22-Jul-2014 vboxsync

VMM/HM: Add tracking of last 30 VM-exits. Can be useful for guru situations even on release builds. Should not add much overhead to each exit.

18318a9a4469504a0f6d6762d0eabcf272d483e5 52073 17-Jul-2014 vboxsync

VMM/HMVMXR0: Comment.

2572cfe099efc205af46860532e42544700f7f81 52072 17-Jul-2014 vboxsync

VMM/HMVMXR0: Fix NMI injection.

fdf9e672203fed18663989c1396ae258e817c331 52067 17-Jul-2014 vboxsync

VMM/HMVMXR0: Convert NMIs to TRPM as TRPM_TRAP and not TRPM_HARDWARE_INT.

34ffc67590311fdd921e2c1de765c7792b847e2b 52066 17-Jul-2014 vboxsync

VMM: Fixed potential bug in AMD-V NMI injection when interrupt shadowing is in effect, renamed INHIBIT_NMIS to BLOCK_NMIS to match Intel specs.

8eb614b5195a18d0300cf99ca04c18536ab83299 52065 17-Jul-2014 vboxsync

VMM/HMVMXR0: Fix NMI re-injection when NMI injection caused a faulting VM-exit and blocking NMIs until IRET completes if the IRET caused a fault.

3bb2760c33cd1e932c13cd6635ee4f201e7a090a 52054 16-Jul-2014 vboxsync

Grammar.

58975357f496d8c35b49d89a8d0eb0b8a90807bc 52044 16-Jul-2014 vboxsync

VMM/HM: nits.

2700e1fad3215886d8fd33d4d598d8f1544da32d 52043 16-Jul-2014 vboxsync

VMM/HMVMXR0: nit.

e8172a45639313dc5496038775ae4c590c7e5291 52042 16-Jul-2014 vboxsync

VMM/HMVMXR0: Improve SMP logging a bit.

e5ea1536d7695623ddb75d335971d5e8cac88190 52041 15-Jul-2014 vboxsync

VMM: Fix NMI handling.

498be3e6aacdd97907a70c49fc956d018db0ac8a 52009 14-Jul-2014 vboxsync

Comments and nits.

ce9f428fc2f581b4d8968d870967e259d9924d8d 52006 12-Jul-2014 vboxsync

VMM: VT-x and AMD-V support for making GIM hypercalls.

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.

59c7f47943ae42abc3d4e1c6d87b789b668b1260 51961 10-Jul-2014 vboxsync

VMM/GIM: Fix Hyper-V TSC offset scaling to 100ns units.

97c2c1cccc333e6897713f3e9f48c3b8101eba6a 51896 07-Jul-2014 vboxsync

VMM/HMVMXR0: Trial; don't adjust TSC offset with paravirt TSC.

cac2fa260d33970986420d1fe5f9b724a4d4d1d3 51757 30-Jun-2014 vboxsync

VMM: Change error codes to be consistent.

cc771234c4430499314b7596a1a660dc77001bc3 51746 27-Jun-2014 vboxsync

VMM/HMVMXR0: Temporary instrumentation for event injection issue.

b4e1118916d0f6454640e264ea3ecdf021da788c 51741 27-Jun-2014 vboxsync

VMM/HMVMXR0: Load guest-state after injection of events; simplifies state-handling a tiny bit.

ef068d7e6d02e3f04f3ce4c9e556b27e0746632d 51685 23-Jun-2014 vboxsync

VMM/HMVMXR0: Nit.

0f5e56381dcfa0412d370072886fb34aab0079a0 51661 19-Jun-2014 vboxsync

VMM/HMVMXR0: Use VMCS offsetting until we fix TM, makes Hyper-V guests more stable.

2ac3892cdc8b16a0dee55e8b4510b8ecea83c95f 51643 18-Jun-2014 vboxsync

VMM/GIM: More bits for Hyper-V implementation.

/vbox/include/VBox/err.h /vbox/include/VBox/vmm/gim.h /vbox/include/VBox/vmm/hm_vmx.h /vbox/include/VBox/vmm/tm.h /vbox/include/VBox/vmm/vm.h /vbox/include/VBox/vmm/vm.mac /vbox/src/VBox/Devices/GIMDev/GIMDev.cpp /vbox/src/VBox/Main/src-server/MachineImpl.cpp /vbox/src/VBox/VMM/Makefile.kmk /vbox/src/VBox/VMM/VMMAll/EMAll.cpp /vbox/src/VBox/VMM/VMMAll/GIMAll.cpp /vbox/src/VBox/VMM/VMMAll/GIMAllHv.cpp /vbox/src/VBox/VMM/VMMAll/PGMAllPhys.cpp /vbox/src/VBox/VMM/VMMAll/TMAllCpu.cpp GIMR0.cpp GIMR0Hv.cpp HMSVMR0.cpp HMVMXR0.cpp VMMR0.cpp /vbox/src/VBox/VMM/VMMR3/GIM.cpp /vbox/src/VBox/VMM/VMMR3/GIMHv.cpp /vbox/src/VBox/VMM/VMMR3/HM.cpp /vbox/src/VBox/VMM/include/GIMHvInternal.h /vbox/src/VBox/VMM/include/GIMInternal.h /vbox/src/VBox/VMM/include/HMInternal.h /vbox/src/VBox/VMM/testcase/tstVMStructSize.cpp
5c5ae372d03a01d43a0245793074ed05fe947036 51244 13-May-2014 vboxsync

VMM/HMVMXR0: Relax EFER consistency/corruption checks for the fixes done in r93674.

347836725eb301b2ea24a2b932ba8c8427ccae57 51241 13-May-2014 vboxsync

VMM/HMVMXR0: Intel likes hyphenation.

5e61bf8b084141fd24c9da55211837b351e429bc 51239 13-May-2014 vboxsync

VMM/HMVMXR0: Intel likes hyphenation.

f8cdc72bf8a1067680742a898d7f6d116df352dd 51238 13-May-2014 vboxsync

VMM/HMVMXR0: Fixed invalid EFER swapping when guest is using PAE paging (when VT-x UX is not in effect). Also fixes swapping EFER for 32-bit PAE hosts and 32-bit PAE guests when EFER.NXE differs when guest is using PAE paging.

2a002f83703807e64bccf962075ad72f1d89e99c 51230 12-May-2014 vboxsync

VMM/HMVMXR0,HMSVMR0: debug build fixes.

d85ef0aeb7067f973705f99006a4034875cc298e 51222 09-May-2014 vboxsync

VMM/HMVMXR0: Do EFER swapping using auto-load/store area in the VMCS when required.

044fa568a54d5d8da851bb4d7526ba82677cc01f 51220 09-May-2014 vboxsync

VMM/HMVMXR0: Implemented EFER swapping using VMCS controls.

ab4300c9ac4361b720413deb095f04fccc481169 51182 05-May-2014 vboxsync

VMM/IEM: Implemented hardware task-switches, code path disabled.

c49aa891e5b1448b3180334735d72f334de6afab 51145 25-Apr-2014 vboxsync

VMM/HMVMXR0: Assertion is a little too strict (global vs local init).

18df976b2d76154443c91a57a4247530a7d40eeb 51140 25-Apr-2014 vboxsync

VMM/HMVMXR0: Another assertion to try catch uCurrentAsid mismatch.

abdfb2705396b8672fe07aac2fcc6c1c33ea4595 51084 16-Apr-2014 vboxsync

VMM/HMVMXR0: STAM counter typo.

f3e2474edbaa404df269087906e7ef89b59adb75 51083 16-Apr-2014 vboxsync

VMM/HMVMXR0: Also intercept #TS exceptions while debugging all exception intercepts, logging.

60d76e24c1aba5009bf08a8dc5b9a97505c1eec3 50918 28-Mar-2014 vboxsync

VMM/HM: Fix some selector limit checks, comments.

1614fa2e1130bba1c8c48fcb2533e689b3abec25 50880 26-Mar-2014 vboxsync

VMM/HMVMXR0: nit.

e9fe5fb557a74804047344ee43f10726bb84ce60 50867 25-Mar-2014 vboxsync

VMM/HMVMXR0: Added hmR0VmxSetPendingXcptGP() and some doxygen fixes.

90bef3d8716459cf577190a464432d30216dc030 50856 24-Mar-2014 vboxsync

VMM: Assert 4K alignment on global VT-x and AMD-V physical pages. Change some release assertions to debug ones.

7a0a363b5312122fd6a5cd8f463eab82604d86df 50749 12-Mar-2014 vboxsync

VMM/HMVMXR0: When only all-context VPID flush is supported by the CPU, avoid reflushing -all- VPIDs for every run after hitting VPID limit. It is sufficient to flush all VPIDs once per host CPU when the limit is reached.

b5e5e4729368bf5e5e0041263040113703b4832b 50739 11-Mar-2014 vboxsync

VMM/HMVMXR0: undo temporary change from r92738.

15ff631dbc802948dfd409f0a5995d6abd41be7e 50738 11-Mar-2014 vboxsync

VMM/HMVMXR0: Temporary enable of HMVMX_ALWAYS_FLUSH_TLB for a test build.

fb9070d54ff2ac04d248840364b9a9f3ee66f97b 50720 06-Mar-2014 vboxsync

VMM/HMVMXR0: Assert.

522d61ce78b7c2d35fa5e981c5835f68c3e6373d 50698 05-Mar-2014 vboxsync

VMM/HMVMXR0: More info. on assert failures.

4f7ffbcf1ec68ba3aa76cfa315d0a518ada6de78 50696 05-Mar-2014 vboxsync

VMM/HMVMXR0: More assertions in TLB flushing.

a9470ab4a6257daefddbcc11f93a7d69797a08ba 50655 28-Feb-2014 vboxsync

VMM/HMVMXR0: First entry into VT-x may already have saved the host-context, skip that case for the assertion checking for guest mode changes..

d5fd9cc35bd0f8a77fa6ca3cb4091af18ec3a4c8 50614 26-Feb-2014 vboxsync

VMM/HMVMXR0: Avoid one extra VM-exit while injecting interrupts if interrupt-window exiting was previously there but exited for other reasons.

f16b706eec1db25ce8be874d980d3f59da10463e 50601 26-Feb-2014 vboxsync

VMM/HMVMXR0: Undo r92473. We -do- need it, better comments.

3c903732ee0f915b40ee01457ae7fd205142efbc 50600 26-Feb-2014 vboxsync

VMM/HMVMXR0: This should not be necessary, while in preemption hook we're already non-preemptible and no-long-jump guaranteed.

541fab60e2dea3bd0753b9d5d9e385ded07486e3 50509 19-Feb-2014 vboxsync

VMM/HMVMXR0: Build fix.

75e8ad6683bec8012aa144f978132c7ccbb5e480 50506 19-Feb-2014 vboxsync

VMM/HMVMXR0: Fix for workaround done in r92215.

3cf5cb6e98b77e9d5814846f20810ddd58b43388 50426 12-Feb-2014 vboxsync

HMR0VMX.cpp: Hacked hmR0VmxSaveHostSegmentRegs to call VMXRestoreHostState when necessary so we don't corrupt the host state should HM_CHANGED_HOST_CONTEXT be set and executed without leaving the HM ring-0 context. Also restricted the dont-bother-to-restore-host-Idtr.limit condition to only include Linux and Solaris as this is known to cause trouble on Windows and Darwin already (HMR0Mixed.mac needs tweaking and testing to complete this change.)

4a5a20a0762e62efe4da7840b59035f003685e61 50285 30-Jan-2014 vboxsync

VMM/HMVMXR0: Fix single-stepping over IO instructions (string I/O is a todo).

8abcddd38a19520552c7749d6b3cf31c2388737e 50284 30-Jan-2014 vboxsync

VMM/HMVMXR0: Fix single-stepping over IRET and POPF in real-on-v86 mode.

5d63f849640220964e79c834e1d4696eeab2e16a 50275 29-Jan-2014 vboxsync

VMM/HMVMXR0: Fix single-stepping in real-on-v86 mode for certain emulated instructions. Added todo for the rest.

9acb49121e687b8d385d446987c99b5ab8be059e 50271 29-Jan-2014 vboxsync

VMM/HMVMXR0: Comment clarification.

53f7f40e877e8191a79dbdcf14c47a2fb3a032eb 50270 29-Jan-2014 vboxsync

VMM/HMVMXR0: Fix single-stepping with IRET on real-on-v86 mode while not breaking single-stepping of emulated instructions.

fc04a5d0ac25116497bb698061223a7ea05a445a 49992 20-Dec-2013 vboxsync

VMM/HMVMXR0: comment copy & paste error.

1aedddb825683565968473893b0e01ed9e570380 49903 14-Dec-2013 vboxsync

VMM/HMVMXR0: Todo comment.

b95e34d1f82e61eedf4cb82833176d4d311fbb62 49901 14-Dec-2013 vboxsync

VMM/HMVMXR0: nit.

41d680dd6eb0287afc200adc5b0d61b07a32b72d 49893 13-Dec-2013 vboxsync

MSR rewrite: initial hacking - half disabled.

/vbox/Config.kmk /vbox/include/VBox/cdefs.h /vbox/include/VBox/err.h /vbox/include/VBox/vmm/cpum.h /vbox/include/VBox/vmm/mm.h /vbox/include/iprt/x86.h /vbox/src/VBox/VMM/Makefile.kmk /vbox/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp /vbox/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp /vbox/src/VBox/VMM/VMMAll/MMAll.cpp /vbox/src/VBox/VMM/VMMAll/MMAllHyper.cpp CPUMR0.cpp HMVMXR0.cpp /vbox/src/VBox/VMM/VMMR3/CPUM.cpp /vbox/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp /vbox/src/VBox/VMM/VMMR3/CPUMR3Db.cpp /vbox/src/VBox/VMM/VMMR3/EM.cpp /vbox/src/VBox/VMM/VMMR3/PGM.cpp /vbox/src/VBox/VMM/VMMR3/VM.cpp /vbox/src/VBox/VMM/VMMR3/VMM.cpp /vbox/src/VBox/VMM/VMMR3/VMMTests.cpp /vbox/src/VBox/VMM/VMMRC/VMMRC.cpp /vbox/src/VBox/VMM/VMMRC/VMMRCA.asm /vbox/src/VBox/VMM/include/CPUMInternal.h /vbox/src/VBox/VMM/include/CPUMInternal.mac /vbox/src/VBox/VMM/testcase/tstVMStruct.h /vbox/src/VBox/VMM/tools/Makefile.kmk /vbox/src/VBox/VMM/tools/VBoxCpuReport.cpp
99ba121cdd761a6dad910993a47d13176188d12d 49890 12-Dec-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Comments, be consistent.

ae2a63bda6776bdde20c0f99a2ef91116c6ade7a 49889 12-Dec-2013 vboxsync

VMM/HMVMXR0: Comments.

ea8b27bbf3bcf73bbe9aaca951dc6706532e43b4 49870 10-Dec-2013 vboxsync

VMM/HMVMXR0: Four consecutive NOT operators is a tad too redundant.

ed300017e99c38b393421b9740e1a3a2f48013ed 49864 10-Dec-2013 vboxsync

VMM/HMVMXR0: Minor nit while checking PAE PDPTEs in hmR0VmxCheckGuestState().

5c9a5c77d590d2c39eacfc8aa19ca0482c1b7cc6 49853 09-Dec-2013 vboxsync

VMM/HMVMXR0: Save guest-control registers on CRX-read exits.

363149d6f49431ff89c5e9e98627933e298bd7e6 49852 09-Dec-2013 vboxsync

VMM/HMVMXR0: Add guest-state checks for PAE PDPTEs.

e0ee1148751b59f3cc154ca79f8b07a3a98f6045 49776 04-Dec-2013 vboxsync

VMM/HMVMXR0: Comment.

81a8ff80653b2aa62d9ff667da1f584cc40ff619 49775 04-Dec-2013 vboxsync

More granular assertions.

cc3f5d7020990813c412e878146a127797ea3107 49774 04-Dec-2013 vboxsync

VMM/HMVMXR0: Handle #DB from ICEBP instruction which is undocumented by Intel. This causes the undocumented "privileged software exception" interruption-type exception exit.

ce5ae1691c49d8ebb7d4acaf2c8d3f57f27ce20a 49757 03-Dec-2013 vboxsync

VMM/HMVMXR0: comment nit.

9ce62d7304bf5a7c0b6bf1f414b7f434c6958044 49755 03-Dec-2013 vboxsync

VMM/HMVMXR0: Safer assumptions while updating guest-state on fully preemptible kernels.

6294acf7d64f528a7aa7b2ad718ca52d1fa6a119 49752 03-Dec-2013 vboxsync

VMM/HMVMXR0: Drop 64-bit MSR optimizations on hybrid darwin kernels.

dd91645080bf4dd2e9120a3b27302663b6ba88ac 49740 02-Dec-2013 vboxsync

VMM/HMVMXR0: Hybrid fixes.

33a511bdebdb7d687766684614bde30d9934f7fb 49734 29-Nov-2013 vboxsync

VMM/HMVMXR0: bugref Comment, spaces.

03a653134f4ef87e584b74180b1b416d47ba226e 49729 29-Nov-2013 vboxsync

VMM/HM: VMCPU_HMCF -> HMCPU_CF macro renaming.

05f7bb952d94afa255c0234354f153e2822c4b2f 49727 29-Nov-2013 vboxsync

VMM/HMVMXR0: Now that we have atomic flag updates, reenable WRMSR optimization while loading guest MSR.

d9e975619314f8a1c9bd87cfba2025c854e286f5 49717 29-Nov-2013 vboxsync

HMVMX: Do not fall back on FERR emulation (see #6117).

b3ce699c537c24c4dc5567f581867167a6de32c0 49712 29-Nov-2013 vboxsync

VMM/HMVMXR0: Comment, macros.

99a32b615dc029e596c8b4b70ac877a410c6186a 49701 28-Nov-2013 vboxsync

VMM/HMVMXR0: Simplified the MSR optimization code.

03271c9d647188b0bde4150ce90b9c5c02d8f444 49700 28-Nov-2013 vboxsync

VMM/HMVMXR0: Build fix.

4b5399ff26756828a6e70eff5e1d76f2d16f468b 49699 28-Nov-2013 vboxsync

VMM/HMVMXR0: Update guest TSC_AUX before auto-load/store.

78ce76bc2893d9687ebee150ae376f5e7729acbb 49680 27-Nov-2013 vboxsync

VMM/HMVMXR0: MSR auto-load/store fix for hybrid darwin.

ea2534e72e595397534bd82774cb7696a9c2215c 49677 27-Nov-2013 vboxsync

VMM/HMVMXR0: Assertions.

d5dd4417307f948df3283c52f1bb1e67210bd3a2 49670 26-Nov-2013 vboxsync

VMM/HMVMXR0: Comment.

3bf55a07a2401eeb7cb0fe62a4333b253cc2b88f 49669 26-Nov-2013 vboxsync

VMM/HMVMXR0: Comments.

039fb4b6b16fac3c0955e6f9a3bdd4db08bad4e5 49668 26-Nov-2013 vboxsync

VMM/HMVMXR0: Added a couple of missing Unsupported-Feature Combos errors.

1ebbc9b7ca65692703cab97c2a4d2ac3f1f963b4 49667 26-Nov-2013 vboxsync

VMM/HMVMXR0: Comment.

52006818d5c121982f55b521d313e1f3a6881081 49666 26-Nov-2013 vboxsync

VMM/HMVMXR0: Fix darwin 32-bit/PAE kernel case.

a2240567805675598a667e95b84f476aac5636c2 49665 26-Nov-2013 vboxsync

VMM/HMVMXR0: Careful with preemption!

7b1e5b1b1328cd039b3b4608a6d4ea75fd7866c8 49664 26-Nov-2013 vboxsync

VMM/HMVMXR0: MSR optimizations for world-switch of 64-bit guests.

958ae27ccbf057280dd3b08465bc994b52dee1ff 49580 20-Nov-2013 vboxsync

VMM/HMVMXR0: Better fix for r90778.

b166b9c539171ff0b425316812241d0fcfe22a7c 49579 20-Nov-2013 vboxsync

VMM/HMVMXR0: Don't cause unnecessary host-state update in case we're not swapping MSRs.

5d4bcb3d736a188746905aa8c1a301a65496850e 49526 18-Nov-2013 vboxsync

VMM/HMVMXR0: Build fix.

04dddd436ad086c6d64aba628dfe704b2e01acde 49523 18-Nov-2013 vboxsync

VMM: Retire VBOX_WITH_AUTO_MSR_LOAD_RESTORE define.

6681e0a81e0366f9d5df3c17de2d3c367051cf72 49521 18-Nov-2013 vboxsync

VMM/HMVMXR0: spaces.

4e24aca62c90e072e0d16fd4ef98618ea27249be 49520 18-Nov-2013 vboxsync

VMM: MSR auto-load/store handling rewrite for VT-x.

ee23310fed5fa778921286996b1e70e58945254b 49478 14-Nov-2013 vboxsync

VMM/HMVMXR0: Fixed single-stepping in the guest to generate #DB correctly.

8c441c187eb4ac6d70c8bb5218e9b0c6382d82f0 49407 07-Nov-2013 vboxsync

VMM/HMVMXR0: Comment.

6fa8b6a750c6a0cf3366904424d821afae601824 49406 07-Nov-2013 vboxsync

VMM/HMVMXR0: Fix occasional 32-bit Haiku guest hang during boot.

ca948bcd896e137d9a5ef54ee82e21f4e4054f2c 49404 07-Nov-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Use IPRT.

20f85a88affdeb5bd5e30db4c3fe332c0852762f 49403 07-Nov-2013 vboxsync

VMM/HMVMXR0: Fixed DPC latency issue on Windows hosts.

a841193aa129f2e9787ac43dc8f92a391b408aab 49288 25-Oct-2013 vboxsync

VMM/HMVMXR0: Fix for MOV DRx intercepts on 32-bit hosts with 64-bit guests.

d7e5d5d0cb555eb6726e7393d773ed0e00a3fc1c 49285 25-Oct-2013 vboxsync

VMM/HMVMXR0: nits.

a77782f3d14ccfa9fc16a83bbe2cb37059efa0b8 49284 25-Oct-2013 vboxsync

VMM/HMVMXR0: Don't forget to load guest debug state when not intercepting #DB and Mov DRx.

711aee4e81fe2822f50845a502d97994ca7ef213 49283 25-Oct-2013 vboxsync

VMM/HMVMXR0: Macro naming fix and use RT_BOOL.

ddd01e05a70e58a6c5b1e180d18496535b911ab1 49275 24-Oct-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Guest-FPU pre-load optimization.

d02de3f979340591bfaf53d08f3a4b0f791840f8 49274 24-Oct-2013 vboxsync

VMM/HMVMXR0: Incorrect assertion for SMP.

ef79932e20c8522f5e80cb14c635ca8e530b75a2 49270 24-Oct-2013 vboxsync

VMM/HMVMXR0: Fix incorrect masking of TPR bits with TPR-shadowing.

83c2d380ff0417105e78af5bc46b9ebf045edb04 49269 24-Oct-2013 vboxsync

VMM/HMVMXR0: More paranoid assertions cannot hurt.

d70c76eae10e145c8135b0f8dc001942acc27f78 49258 23-Oct-2013 vboxsync

VMM/HMVMXR0: Introduced HMVMX_ALWAYS_FLUSH_TLB debug switch.

86c8c8053c6de8e3c849db8f66465d028e37f97d 49257 23-Oct-2013 vboxsync

VMM/HMVMXR0: INS/OUTS with REP prefix update RFLAGS. Fix incorrect assertion in hmR0VmxCheckGuestState().

a8c672941a5f70ffa84af10c47c7e5970241f10f 49227 22-Oct-2013 vboxsync

VMM/HMVMXR0: Adding functions for dynamic MSR swapping.

1174e959ac036842e31ef64265ef0f522eeb0404 49209 21-Oct-2013 vboxsync

VMM/HMVMXR0: Fix MSR_TSC_AUX, restore host MSR.

98b010ddbef54e273a0a4061e179c3f8fa13ce29 49207 21-Oct-2013 vboxsync

VMM/HMVMXR0: Fix MSR_TSC_AUX, use the right check to be doubly sure.

0f3b41380c7b14aadbad5a2afd9d3cd0950c1ca5 49204 21-Oct-2013 vboxsync

VMM/HMVMXR0: Fix MSR_TSC_AUX auto-load/store when not using TSC offsetted mode when not compiling with VBOX_WITH_AUTO_MSR_LOAD_RESTORE.

04c932c609fac7888f0a81734df3b142914a9683 49186 18-Oct-2013 vboxsync

VMM/HMVMXR0: Fix MSR_TSC_AUX auto-load/store when not using TSC offsetted mode.

023ac06278692ba98fe1d10c7819bb58b525a60c 49152 17-Oct-2013 vboxsync

HMR0VMX.cpp: Clear the TF bit in the single step loop, instead on later in the common exit-to-ring3 code.

3e8610669544ee2560f6282672f834b101fb7f69 49085 14-Oct-2013 vboxsync

VMM/HMVMXR0: Partially revert r89778. Back to disassembling and interpreting string IO instructions, doesn't yet work.

4b5783485a122efad108662f856d8b04ab4be8dc 49026 10-Oct-2013 vboxsync

VMM: Some @thread doxygen corrections.

c3ad07071523338d76960d8da7678860aea8b03d 49019 10-Oct-2013 vboxsync

VMM: FPU cleanup.

fd99eb3b390aa63146c82e9db729a65de3451566 49004 09-Oct-2013 vboxsync

VMM/HMVMXR0: Comment update.

ad368476430aafd7ca7e5cce3f9f39b67eb53efe 49003 09-Oct-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Comment out unused code paths in TLB shootdown.

2220e2b22fad9bfc59b96220c6f29664fa6da67a 49002 09-Oct-2013 vboxsync

VMM/HMVMXR0: Use instruction info. for string IO VM-exits on CPUs that support it, rather than disassembling the instruction.

748ed09beef3096af785f6536c5661db34a012a2 49000 09-Oct-2013 vboxsync

VMM: IntrInfo to IntInfo renaming.

aac0a0ee14fbc6f239bcd0a35041daf6174925a8 48998 09-Oct-2013 vboxsync

VMM/HMVMXR0: Propagate all unexpected exits to release log, slight changes to error macro names.

7ccadf40f908999ac1a6f50024b1e909074269eb 48995 09-Oct-2013 vboxsync

VMM/HMVMXR0: Make sure host segments are present in the LDT if we're going to try restore it.

91dbfb6e2654dd783968343fd50e102e8e28d214 48936 07-Oct-2013 vboxsync

VMM: Whitespace cleanups by scm.

332b76702ee11757d20a02b79339dc8c328cfabd 48885 04-Oct-2013 vboxsync

VMM/HMVMXR0: Don't assume CR8 load/store exiting is available on 32-bit CPUs. Only needed for 64-bit guests.

60c170c1bb96b560ed789edae3e8ab6a92490907 48700 26-Sep-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Alignment and assert.

a89d06fea1fd23de6c50c46e58c9ead087188cb2 48651 24-Sep-2013 vboxsync

VMM/HMVMXR0: Checking this once outside the loop is sufficient.

2fc852b1814efe4034006db2e7a24ebb2523fd58 48649 24-Sep-2013 vboxsync

VMM/HMVMXR0: VMCS size is bits 44:32 not 43:32. Assert what the Intel spec. claims as well.

595de818f89d50da5158000d557f773a3baf4d1e 48648 24-Sep-2013 vboxsync

VMM/HMVMXR0: Fix switcher verification bits to be compiled to match what the switcher actually does.

d25a5b4181f0433662361084a5b0bc5a27a84eb2 48624 23-Sep-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Use HMCF macros.

e06aa447db2280718efa94c145d00396fd92ae30 48621 21-Sep-2013 vboxsync

VMM/VMMR0: Don't disable interrupts for a long time when disabling preemption is sufficient. Other minor fixes.

6f8f9e5b9b9fd839495a2c5f11b010cee4702c35 48570 20-Sep-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Restore hyper/guest DR7 in accordance with what we load.

49a26ffef05cfa619d377f63b48df7b15cf59148 48565 20-Sep-2013 vboxsync

VMM/HM: Added total VM-exits STAM.

75f67c4a1cd5ae0e0bfa6f10f5f4a680b28c4a81 48552 19-Sep-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Fixes for shared FPU/debug state handling with thread-context hooks.

b86da6db7f807c96d4728e615896f21f139f0196 48478 13-Sep-2013 vboxsync

HMVMX: Look at the right guest long mode indicator.

291fc1a8a977f4ef04189b5ad6e6672968033e02 48477 13-Sep-2013 vboxsync

VMM/HMVMXR0: Debug macro switch HMVMX_ALWAYS_SWAP_FPU_STATE.

ad34e2038236b8277423a37328454a5516ac60bd 48476 13-Sep-2013 vboxsync

VMM/HMVMXR0: Fix assertions and stale comments.

36669d32354bd3a1b25f4139a91364186e02b6da 48474 13-Sep-2013 vboxsync

VMM/HMVMXR0: Fix invalid assertion on 32-bit hosts.

b24cad5fb59c6c9579abe9e670133514ef6fe91b 48473 13-Sep-2013 vboxsync

VMM/HMVMXR0: Try restore state properly on assertions in longjmps contexts. Reevaluate FPU state after injecting #NM. Other cosmetics.

a3532b51b4bf4e3b4228bb710b10b677f5e9153a 48457 12-Sep-2013 vboxsync

VMM/HMVMXR0: Fix check in hmR0VmxCheckGuestState(), CR0.PE MB1 unless it's UX.

53e191477004a31bf6b5511104bd84d8064c32d4 48456 12-Sep-2013 vboxsync

Build fix.

69bb3d501c5ea948fc8407962bbce4b9e8590477 48455 12-Sep-2013 vboxsync

VMM/HMVMXR0: Nits.

da4463f6ea3fd4df240efd933cb04397bbdedcf4 48454 12-Sep-2013 vboxsync

VMM/HMVMXR0: oops.

7344353d022543ab81498c1352194f30b551b986 48453 12-Sep-2013 vboxsync

VMM/HMVMXR0: Check VMCS values rather than fudged pCtx values in hmR0VmxCheckGuestState().

e51a5274436902499a58dd236db8a469548f3523 48443 12-Sep-2013 vboxsync

VMM/HMVMXR0: Leave VT-x properly for VERR_VMX_INVALID_GUEST_STATE and VERR_VMX_INVALID_VMCS_PTR gurus.

b1e32ec723bf56df1abf285df2886fe401d98b19 48436 11-Sep-2013 vboxsync

VMM/HMVMXR0: Temporary workaround, intercept CR0.PE changes with UX.

509ca11b65f8f40991eeb493616e6cb680a217d5 48426 11-Sep-2013 vboxsync

VMM: Fixed strict build assertion assumption with thread-context hooks. More assertions, slight cleanup.

65d19abd775dab65559f4f1a0a7c5bc79b280546 48421 11-Sep-2013 vboxsync

VMM/HMVMXR0: Clear interrupt-window exiting control on premature returns to ring-3 before injecting an event.

2a03d576d3b000c67909ba0faefaf7ff69d7002c 48407 10-Sep-2013 vboxsync

VMM/HMVMXR0: Attempt to fix guru in the switcher case with MOV DRx intercepts.

2b5e2c23e384db5dc9ab149a83cf082effec8028 48404 10-Sep-2013 vboxsync

debug build fix.

93977346a4d05d164d3324dd5b90314695e49364 48402 10-Sep-2013 vboxsync

VMM/HMVMXR0: Assertion.

dfb03b09d5d6dae39353a7a5f751007088e8ff0a 48394 09-Sep-2013 vboxsync

VMM/HMVMXR0: Address possible deadlock situation with the PGM lock. Reenabled thread-context hooks again.

5d21962ea83b65ab66187dd4334ff231f379338c 48370 06-Sep-2013 vboxsync

EM,HM: MWait fix, clearing the active bit too early.

f3bcd47ff596b9600b85a0d705133bb6d9713427 48369 06-Sep-2013 vboxsync

VMM/HMVMXR0: Nits.

3b6c2f195917394a6fde2c0e298270627aeee085 48362 06-Sep-2013 vboxsync

VMM/HMVMXR0: Clarify that it's guest-CPU context CR0 and not VMCS CR0.

5bc308c1ca98a97bc43ddc192bb393aadade6a69 48361 06-Sep-2013 vboxsync

VMM/HMVMXR0: comment cosmetic.

e1b5f8753b8d6ce2761b5d2bf70a4b027e46f5e7 48360 06-Sep-2013 vboxsync

HMVMXR0.cpp: Made hmR0VmxSetupVMRunHandler trigger the necessary host (and guest) field updates, and moved it up so the HM_CHANGED_VMX_EXIT_CTLS/HM_CHANGED_VMX_ENTRY_CTLS would take affect before executing guest code again.

57b4e88f2f6c103e33214a8773cc04eeb6cead9e 48347 06-Sep-2013 vboxsync

HMVMXR0.cpp: Only the 64 -> 32 needs the exit controls update, I believe.

3d31ffbd0be817b57e54f7bda9358b372fe9aadf 48344 06-Sep-2013 vboxsync

VMM/HMVMXR0: No need to ask VMX exit ctls to be reloaded when we're going back to ring-3.

f9d6ebe935f9c26f4c993910a176e3246ab861bb 48329 06-Sep-2013 vboxsync

VMM: nits.

9f8de7920e2ef0d71507d358266d1415f5a0c866 48326 05-Sep-2013 vboxsync

VMM: Nits.

bec2d4e1a030027d2959cbb62cc5324238a128d1 48284 05-Sep-2013 vboxsync

VMM/HMVMXR0: Avoid calling PGM twice for reading just 4 consecutive bytes.

c07f2cc61e935238135f87734f0d788bfe579c9a 48262 04-Sep-2013 vboxsync

VMM/HM: Preempt stats and minor optimizations to VT-x when thread-context hooks are used.

b16eb768fa5d32ed71e0119e81da5b3309eb7114 48256 04-Sep-2013 vboxsync

VMM: More descriptive host-NMI stat name.

32225cc4b241f9d3523d40d267b9f1ce0a3d07da 48250 03-Sep-2013 vboxsync

VMM/HMVMXR0: Undo injected event on premature returns to ring-3. Should fix longjmp disallowed ring-0 assertions on real-on-v86 event injection

46c128f2187c3387ef78e0d53422ccf082cfbb9d 48248 03-Sep-2013 vboxsync

Comments.

a245c08ab6828d39cea5daddb91df083a60916d4 48240 03-Sep-2013 vboxsync

More paranoia regarding pfnStartVM changes on 32-bit hosts (doesn't help).

06fddb9ed7717ffb0a0e94d35b6bd5b8154cd844 48237 02-Sep-2013 vboxsync

VMM/HMVMXR0: Nits.

aed81459e71ba16e05b7155dc0ef77e644951807 48230 02-Sep-2013 vboxsync

VMM: Propagate errors properly while leaving HM context.

6a553ebb57b0b277305d2b7f4c7e734c203ed83c 48227 02-Sep-2013 vboxsync

VMM: Ensure longjmps after hmR0[Vmx|Svm]LeaveSession() don't happen.

cdd39eec9c0c4590e1b43862dfb4326d271b7699 48220 02-Sep-2013 vboxsync

HMVMXR0.cpp: When the guest switches from long mode to one of the legacy modes, we may end up with the wrong host-resume values from what I can tell. Attempting a quick fix to see if that helps with the host tripple faults I'm having.

b7cc1e3d4578fa7407060cffc7692e56cef3caca 48219 01-Sep-2013 vboxsync

VMM/HMVMXR0: Hungarian.

a7f8f97e826b091323e96687b5ddab6bb9c2085c 48218 01-Sep-2013 vboxsync

VMM: Addressed a rare corner case stale TLB entry issue.

9c9e48031498f9a4fe1d84cd88430c660213abee 48216 31-Aug-2013 vboxsync

VMM/HM: Cleanup.

ada85a42c104a55737bf2a7bbbb499ebfae8425d 48215 31-Aug-2013 vboxsync

VMM/HMVMXR0: Cleanup.

0a67545ded8ee932c5d0b811c4cc873a7fec067e 48212 31-Aug-2013 vboxsync

VMM/HM: Naming fixes.

105078addd50aad8cc54fabf17cb712a96cdaed0 48205 30-Aug-2013 vboxsync

VMM/HMVMXR0: Make code more robust regarding longjmps in awkward places.

496bf9db7c6977a807a85db002587bb4849be2d7 48194 30-Aug-2013 vboxsync

VMM/HMVMXR0: Even without preemption hooks, we can now load the guest-state before disabling interrupts. Better handling of triple faults conditions (don't leave with interrupts disabled).

f6c2d907dae93373eff222b4675fb41e9aecec66 48174 30-Aug-2013 vboxsync

HM: Adjusted some CPUMIsXxxDebugStateActive() assertion for 64-on-32-bit conditions.

182ebe0286515386f53c444a4e4406bcaf6c4dc9 48156 29-Aug-2013 vboxsync

VMM/HMVMXR0: Update comment and add assertion. We no longer have gaps between leaving and thread-context hook deregisteration.

6fd0c53f005df58b52c434e6a12e643c172b1b8e 48153 29-Aug-2013 vboxsync

VMM/HM: More dead code path elimination.

2241ba436cb4fe6d6349c93e62aaa9ac660042ee 48140 29-Aug-2013 vboxsync

VMM/HMVMXR0: Safer longjmp coverage, only restore host state when altered by VT-x. VMM/HMSVMR0: Exit normally while getting errors during the world-switch.

6941f52ab6ac9be670992de3315643f28e0ccbfa 48135 28-Aug-2013 vboxsync

VMM/HM: Eliminate dead code paths.

0782b69cb8dfb69f05cd1b6fe2b044bf5e1a0277 48132 28-Aug-2013 vboxsync

VMM: Ditch VBOX_WITH_VMMR0_DISABLE_PREEMPTION.

8cd8b490cc74017d6482964df20a9bc8c8e16f41 48130 28-Aug-2013 vboxsync

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

1ced7438c3843aaa9e87c924b8a0e680ef0711d7 48082 27-Aug-2013 vboxsync

VMM/HMVMXR0: Fix invalid VMCS launch-state when thread-context hooks are used.

cfddc4f825cbb9c5c9bedef50904cfcb36ef10ef 48060 26-Aug-2013 vboxsync

VMM/HMVMXR0: Comments.

58b5a34d2596559bb909590ce3ca8b2a6406a090 48044 25-Aug-2013 vboxsync

VMM/HM: Thread-context hooks, disable preemption while touching host state on VM-exits. AMD-V still todo.

5615b46a3e7bb39332eb0b00a0475989751862da 48041 24-Aug-2013 vboxsync

VMM/HMVMXR0: Don't play safe when we have assertions to catch things.

105da676b5959bc4a83ad900dc868aa294a4f4ea 48040 24-Aug-2013 vboxsync

VMM/HMVMXR0: Avoid loading the host state earlier when we can get preempted (when thread-context hooks are used).

1cc7a2d4494ea1df3dc7c31ddc7f8211afdf4ea6 48039 23-Aug-2013 vboxsync

VMM/HMVMXR0: Burn fix.

3977f8df7e6501b3ef457170483997274ce15981 48038 23-Aug-2013 vboxsync

VMM/VMMR0, HMVMXR0: Minor fixes relating to error paths.

be1fed8ebe7e2ac1fc1b2e9dbd2c1da7726d6cb7 48037 23-Aug-2013 vboxsync

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

e78b407a5168cfbdcccb508b1340deed26fd4128 48029 23-Aug-2013 vboxsync

VMM/HMVMXR0: More log adjustments.

56a70e2c322e5144d275d65530fc150ffa0580c5 48027 23-Aug-2013 vboxsync

HMVMX: Log a bit more.

2a22bee1324edf9e46d214e7fc1d26c18789f9fa 48025 23-Aug-2013 vboxsync

VMM/HMVMXR0: Asserted by the caller, don't re-assert here.

ace1bcd13ca1dd8490939c341723500fd239da09 48023 23-Aug-2013 vboxsync

VMM/HMVMXR0: Additional logging to track VMCS state changes.

18e08e6b6fd3ff7be0d26bd4202c052ae86ef140 47999 22-Aug-2013 vboxsync

VMM/HM: Better error reporting for unsupported VT-x feature combos.

34d6d245aaf794170a52c85f7fdd26d702e114c3 47997 22-Aug-2013 vboxsync

VMM/HMVMXR0: Try fix stale VMCS launch state while getting preempted.

0b70b2329a24edb70aa57ffc3503453e319e00ce 47989 22-Aug-2013 vboxsync

VMM/VMMR0: Preemption hooks implemented and enabled for Solaris and Linux hosts.

6cac05f856d982151579a9d445a109960c2c07d2 47844 19-Aug-2013 vboxsync

VMM: X2APIC + NMI. Only tested on AMD64.

e9f59710eda23661c7853619d679197ad8f0da60 47803 16-Aug-2013 vboxsync

VMM/HM: Preemption hoooks, work in progress.

c2debebf2106754c002076eb7822d335a8090f85 47802 16-Aug-2013 vboxsync

VMM/HM: Redundant updates of flags is not necessary.

4b3c9400e15229e2c649de84753300b79e904c6e 47776 15-Aug-2013 vboxsync

Warnings and space.

443cd054371ed493cf89af07039c49ca4dfd92cc 47773 15-Aug-2013 vboxsync

VMM/HM: RunGuestCodeStep() Load should be Save, and some typos, cosmetics.

0cc04374fdc98e01712e133c7f4cb9da873537d3 47771 15-Aug-2013 vboxsync

VMM/HM: One extra char. to make typing without autocomplete easier.

14b1c42120298f77ddc933ff55cbe7380107d352 47770 15-Aug-2013 vboxsync

VMM/HMVMXR0: Hungarian, hex prefixes.

a667d3d7d74f63c1c4fc4dcfd7ac30b09dfb6ada 47766 15-Aug-2013 vboxsync

VMM/HM: Preemption hooks.

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.

7d0cd52c986ec9128fdbfbb14361dd4a42f30903 47747 15-Aug-2013 vboxsync

HMR0VMX.cpp: missing fSingleInstruction test.

1cee4a8784a716380a7b51d279f9319c441c4e8c 47743 15-Aug-2013 vboxsync

adjusted my assertion.

84e1233bf8b18281fa5ed7754caec0ac285b4d43 47742 15-Aug-2013 vboxsync

VMM/HMVMXR0: Avoid OR'ing status codes when we AssertRCReturn check it afterwards.

7013628fd410407c677ea853f3c133306c912189 47736 14-Aug-2013 vboxsync

HNVMXR0.cpp: Separate run-loop for single stepping to catch exceptions and such without harming performance of the normal execution (requires RIP and CS to be saved). Simplified the UNUSABLE handling in hmR0VmxReadSegmentReg to just make sure P and a few irrelevant other bits are cleared. Always clearing the G would cause the limit to change on reload. If having bits set here is causing trouble, we'll fix the other code making the trouble, not work around it here.

c2d60c3cf83832939dae3daaf9e262c292026374 47719 14-Aug-2013 vboxsync

No MMIO2 aliasing when doing full IEM verification runs.

c3f33d1db9311d72ee23bf2826acd10377b7567c 47718 14-Aug-2013 vboxsync

More single stepping work.

b4aa072b6bceacdd94042c381c39ce9662935ff7 47687 13-Aug-2013 vboxsync

VMM/HMVMXR0: Added segment checks to hmR0VmxCheckGuestState() while using unrestricted execution.

eb8ecd89a3132555de65fdc69621fb1338c9bc9c 47683 13-Aug-2013 vboxsync

build fix + adj.

dd5ed566b74848d3b89f3be3a27317936dc5217f 47682 13-Aug-2013 vboxsync

adjustments.

47e2ddf908aebbc4adbc758d46a6266a4c9c5051 47681 13-Aug-2013 vboxsync

VMM: I/O breakpoints.

c564aaac2c0b4b7e93945324a11e6739e9bf3546 47680 12-Aug-2013 vboxsync

VMM/HMVMXR0: Added missing TR guest-state checks.

b133e9fac1d6c4f8a3ee13622a2e99737f8b4ec6 47677 12-Aug-2013 vboxsync

HMSVMXR0.cpp: DR6.Bx values are cleared on #DB it seems, while the others aren't.

df891e3b8c62374c9a60b876b4d7c21e23d32229 47676 12-Aug-2013 vboxsync

VMM/HMVMXR0: Some missed checks and fixes to segment checks.

02bf607ed178276938af788dd38da7c5b24b0f07 47673 12-Aug-2013 vboxsync

HMVMXR0: Fixed copy&past from SVM code with fDr6=false in CPUMR0DebugStateMaybeSaveGuestAndRestoreHost call, causing DR6 to be lost upon ring-3 returns. I also think we must intercept #DB when doing lazy DRx loading, otherwise the #DB will update the host DR6 and the guess will be missing the debug event.

51a4e22c9ddfd1190ac1b07e07ff8653fdbc8ae5 47671 12-Aug-2013 vboxsync

VMM: More debugging related stuff.

008056b2a3d2f6408090cbf8d5df0f9a6d46a3d6 47670 12-Aug-2013 vboxsync

VMM/HMVMXR0, HMSVMR0: Fix typo in checking invalid guest state, nits.

58d5045f532824d1c9956bf5f812b99a2c14c9d0 47662 12-Aug-2013 vboxsync

build fix.

c1980cd3f410c88b8f92f464c56ed987a15f44c1 47660 12-Aug-2013 vboxsync

VMM: Debug register handling redo. (only partly tested on AMD-V so far.)

741461a89949fb80b79080f2ceba56a3f5c74285 47653 09-Aug-2013 vboxsync

VMM/HMVMXR0: Fixed a bug in checking invalid guest-state logic.

1da551e894fb89a00f1343b0c0bca55ed5d08b27 47652 09-Aug-2013 vboxsync

VMM: Removed all VBOX_WITH_OLD_[VTX|AMDV]_CODE bits.

7c8eec73673ffef1a6266f3436d8a49ac08f8474 47643 09-Aug-2013 vboxsync

VMM/HMVMXR0: 130 columns.

9c61d552a08e78db408c010adadfab9cc9b14f92 47640 09-Aug-2013 vboxsync

VMM/HMVMXR0: spaces.

646bbd93c8041c8d313d42644865cc98ae436e40 47638 09-Aug-2013 vboxsync

VMM/HMVMXR0: Typo.

49f9859b0f2ec3606c8367f20fc19bf15cd3af60 47636 09-Aug-2013 vboxsync

VMM/HMVMXR0: Build fix.

1dce8fa993fb1148d03e0d7e63d839e2504b7d5e 47635 09-Aug-2013 vboxsync

VMM/HM: Implemented VMX guest-state checks in accordance with the Intel spec. Any errors founds now flow to the release log.

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.

d1bd03492c866ba6904adb96a7e191f3c7195367 47586 07-Aug-2013 vboxsync

VMM/HMVMXR0: Naming.

175b270165206102defef8fc079bc299e9802615 47512 01-Aug-2013 vboxsync

VMM: make the StatExitHostNmi release

ee688c99e17483d2e1bb2091f6531f97612db540 47472 30-Jul-2013 vboxsync

VMM/VMMR0: HW(VMX|SVM)R0.h -> HM(VMX|SVM)R0.h. Now that the refactor is done.

9fe72d4cdea1b2e6838e04aea831e8ffaa7c60d2 47458 29-Jul-2013 vboxsync

Space.

1bb94ec0fe4a330ebb89efe98ecd3cdde0f9e5e8 47454 29-Jul-2013 vboxsync

VMM/HMVMXR0: Make save-DR7 function name more clear (addressed a todo).

d8c0c7cc7acb95e8f5d15bd47d3c68838d544a6b 47446 29-Jul-2013 vboxsync

shadow warning.

12274be4fe4b4519d0b51d42cc04886459a9f8cf 47444 29-Jul-2013 vboxsync

IEM,HM,PGM: Started on string I/O optimizations using IEM (disabled). Cleaned up confusing status code handling in hmR0VmxCheckForceFlags (involving PGM) as well as some use of incorrect doxygen groups (@name).

289a65d853f6ef41c90332467d816dd89f5f45a8 47441 27-Jul-2013 vboxsync

Too lazy to do: pushfq; cli; ... popfq ?

ced30f1fd359410d5c20a03197b782e9d84bc9fa 47440 27-Jul-2013 vboxsync

Too lazy to do: pushfq; cli; ... popfq ?

fbc8e74cbbf56d6740db120cc12ae9ccc433def6 47439 27-Jul-2013 vboxsync

Too lazy to do: pushfq; cli; ... popfq ?

630fd0059c966a57ba9bfcb436508e929ae24f4c 47434 27-Jul-2013 vboxsync

HMR0VMX.cpp: INS/OUTS todo update.

fcdd6682fc098c9e5270d24132af91b954ecf82d 47432 27-Jul-2013 vboxsync

HMR0VMX.cpp: Attempt to fix incorrect DR7 and DR[0-3] checks in I/O port path.

3f0c4b0fcb2ab02bdfb8f8285af381df73a73d85 47378 24-Jul-2013 vboxsync

VMM/HMVMXR0: Typos and make re-checking of CR4.VMXE on VMXR0Enter() only for strict builds.

7adc83210c97fc7b6f4907e0227f9b00ca8a03bf 47353 23-Jul-2013 vboxsync

VMM/HMVMXR0: nits.

4c7e0dceb5826f3f292069287d4093f438bf966f 47328 23-Jul-2013 vboxsync

CPUM,++: Fix DR6 and DR7 read-as-1 (RA1) and read-as-zero (RAZ) values on load since REM didn't set them right for years. Introduced constants for these values.

01df1dc8e390312b90f64c8e071f2a081c27f7e7 47254 19-Jul-2013 vboxsync

VMM/HMVMXR0: Minor clarification.

b30dafd9d99e8585be3ad80dc6d1e057fbcaa384 47247 19-Jul-2013 vboxsync

HMVMX: preserve SS.DPL and CS.L/D/G when the 'unusable' bit is set. SS.DPL = CPL, so we absolutely must preserve that.

229d935484df2c6c429eadc436911380a164d78a 47243 19-Jul-2013 vboxsync

hmR0VmxReadSegmentReg: Update on the unused stuff, prepared fix but needs some discussion+testing before enabling.

7e46bfb7857ed969ccb04aafa7c1647a27692e04 47202 16-Jul-2013 vboxsync

VMM/HM: comments.

d0ffd33facc31c58d764df44cb618dc7d362c3c9 47123 12-Jul-2013 vboxsync

VMM/HM: Dispatch host NMIs on Intel. Added separate STAM counter for host NMIs with the necessary changes to old, new VT-x, AMD-V code.

ea7fce1f3d5cea550930c62fe8ee01b3d938bb51 47110 12-Jul-2013 vboxsync

VMM/HMVMXR0: Assert that the valid bit is set on Xcpt exits.

d8f0b6cefb1acba6305e0f65766ae5750593a54a 47109 12-Jul-2013 vboxsync

VMM: XCPT_NMI -> XCPT_OR_NMI. Name it like Intel does in the spec.

8237509f371136a98c44ef9d5e815b1ad55d2626 47105 11-Jul-2013 vboxsync

VMM/HMVMXR0: Added a todo.

737f1080fb095f8c4805d4dcce57ba63a862bc0a 47094 11-Jul-2013 vboxsync

VMM/HMVMXR0: Log exit reasons for more rare/improbable gurus.

e42181436671a2f887bd13f7c8f1e3e90d2b054b 47090 11-Jul-2013 vboxsync

VMM: Naming convention. lasterror->LastError.

f51d9052d070ad0d77f4d5d1f06488d4fdac1353 47076 10-Jul-2013 vboxsync

VMM/HM(VMX|SVM)R0: Easier to toggle statements.

f40b55cd25956c6fe4136ddc76e7095e03caaf9f 47066 10-Jul-2013 vboxsync

VMM/HMVMXR0: More validations for the error code valid bit.

e2019b43c3f191f3b80447ea0ca0570aca8acad8 47062 09-Jul-2013 vboxsync

HMVMX: Look at the right exit info to figure out error code.

9499f00754de97343ea6252cc36d007e9e2d95b0 47056 09-Jul-2013 vboxsync

VMM: spaces.

aeadbbf68713414bb092db8a9cbea003dea45066 46975 04-Jul-2013 vboxsync

VMM: nits.

c13e8cf8cacb70bf96cb37232c7f9c3b4133d1d5 46973 04-Jul-2013 vboxsync

VMM/HMVMXR0: Fail more gracefully when trying to run 64-bit guests on Darwin 32-bit/PAE kernels.

2fbccbf65b51d0c996d783381db80a5e6f4d3e09 46942 03-Jul-2013 vboxsync

VMM: Fix LDTR restoration to be done dynamically. This is required for 64-bit Darwin hosts.

76d3e53889c5a02a3881bd3cfa31509d61cea9d0 46925 03-Jul-2013 vboxsync

VMM: Optimized world-switch with lazy restoration LDTR and TR on Intel.

c427740af7e593bd7c43f9575bf56a54552b6070 46900 02-Jul-2013 vboxsync

VMM/HM: Spaces, comment.

d210ece1399825ab43b46b3a464e683b0163028b 46888 01-Jul-2013 vboxsync

VMM/HM: Alignment and fix an assertion in the new AMD-V code.

efdd94caeeed08427f5a2ea16437a650068362c6 46882 01-Jul-2013 vboxsync

VMM/HMVMXR0: Go back to ring-3 on host interrupts unconditionally if there's no preemption timer supported.

310335ac9a0360e76e8f1f04d7378d1b8ab242d4 46881 01-Jul-2013 vboxsync

VMM/HMVMXR0: Avoid reloading guest state on multiple reschedules on longjmp trips.

3272422dadb4ff054dedffb19993db2986bd979d 46871 28-Jun-2013 vboxsync

VMM/HM: Cleanup event injection statistics.

dd6a39afdef9249ff92064bbff89ad2bea8e6e71 46850 27-Jun-2013 vboxsync

VMM/VMMR0: HM profile counters.

d0a9f3aad0542bfa8a2ba561eafd2d7e3ce7cb0a 46789 25-Jun-2013 vboxsync

VMM/HM: Doxygen.

fe20f6b5886e92ee18ab59b2f0e418e786736a55 46724 21-Jun-2013 vboxsync

VMM/HM: Refactor the state-flags for proper sharing between old, new VT-x and AMD-V code combinations.

5ebcd47342a3ed55ecba1f78f9fbb320058e1098 46719 21-Jun-2013 vboxsync

VMM/HMVMXR0: Bits.

211cca35f7aa4be9b4cee9c4e585bba2271f6a93 46715 20-Jun-2013 vboxsync

VMM/HMVMXR0: Incorrect debug assertion.

73d4526487701935b1570291648e09bae1b64ff2 46714 20-Jun-2013 vboxsync

VMM/HMVMXR0: prefer typedef to macros when possible.

bee90f730d7292d4de2ef225d7a77f868338b25a 46713 20-Jun-2013 vboxsync

VMM/HMVMXR0: More debug assertion fixes, comments.

d82437eea39b92587a3d35839802b903fc372abd 46707 20-Jun-2013 vboxsync

VMM/HMVMXR0: Fix guru with re-injecting software interrupts during event delivery for EPT violation exits (non-exception exits).

2dc6046e8bb4b7974f5442e0127d8dc8b82a3d08 46665 19-Jun-2013 vboxsync

VMM/HMVMXR0: comments.

a19615fb942f9afcd3a80c22097e45db8570b6a4 46655 19-Jun-2013 vboxsync

VMM/HMVMXR0: Reflect any exception to the guest if event delivery of that exception caused an EPT violation/misconfig. of APIC-access VM-exit. In this case the VM-exit interruption-information field won't be valid because the resulting VM-exit is -not- an exception.

2aef680783ad8ae6a7e02471537558a2a6571ce7 46596 17-Jun-2013 vboxsync

VMM/HMVMXR0: grr.

93fc2ddc44494ac7957eb6e4d8febd91d64a3047 46595 17-Jun-2013 vboxsync

VMM/HMVMXR0: Disable flushing of the log while loading the guest-state (only while entering VT-x from ring-3, debug builds).

1bc70ba95dd9706cc70b95af5c75d91ab2898888 46590 17-Jun-2013 vboxsync

VMM/HMVMXR0: SMP logging.

e5966d6ed99cb8cfd99a89a30c3ae9839de7fef9 46589 17-Jun-2013 vboxsync

VMM/HMVMXR0: SMP logging.

7ffec6d4e14ac4c18ee01ebf0d5bf73353d628e5 46580 17-Jun-2013 vboxsync

VMM/HMSVMR0, HMVMXR0: AMD-V bits, VT-x minor change.

964d758e5f27339403a12e6fef8c5f15a9772a4e 46566 14-Jun-2013 vboxsync

VMM/HMVMXR0: TPR patching is not needed on Intel, probably never was. The virtual-APIC feature has been documented since the first VT-x specification (Jan 2005).

a5d217f05d3d5d1c0cb583890149af86564d074d 46562 14-Jun-2013 vboxsync

VMM: AMD-V bits and VT-x comment nit.

632f0279d6152f0b057a28565252da230e7ad142 46552 14-Jun-2013 vboxsync

VMM/HMVMXR0: comment.

3e8d40fe22eba54863b6f2a4c3aa13ca6d8d959d 46530 13-Jun-2013 vboxsync

VMM/HMSVMR0: AMD-V bits, TPR shadowing, other adjustments.

ec7dd6f4d6946cd7457c746e63a425aa2c917e0c 46517 13-Jun-2013 vboxsync

VMM/HMVMXR0: Don't need to update guest APIC state (i.e. TPR) for nested page faults that are not MMIO.

671e057d9f0c40548080487464e7f1e327004cce 46510 12-Jun-2013 vboxsync

VMM/HMVMXR0: bits.

65fc0734c9965721150d7bac8d305830372b8eb8 46507 12-Jun-2013 vboxsync

VMM/HMVMXR0: comment.

a56e765e69161478a01309700bd7e773a016e0c0 46505 11-Jun-2013 vboxsync

VMM/HMVMXR0: doxygen.

dedb3a5e13635d166be6a5ad3526e4a8a21d3d0a 46498 11-Jun-2013 vboxsync

VMM/HMVMXR0: Comments.

03f0ea259449b68232c1a5272280b73e0c3465e3 46492 11-Jun-2013 vboxsync

VMM/HMVMXR0: Comments and tidying.

61583c7f49f9c7f41381b00af682d386cd4a423c 46472 10-Jun-2013 vboxsync

VMM/HMVMXR0: Skip redundant VMWRITES during VM startup.

3ccbc4a118fc4732c446b282b9b7fee6f272854a 46469 10-Jun-2013 vboxsync

VMM/HMVMXR0: Use UINT64_C only when needed.

25115e3b71c19a88f52689e66ae227bf38a24a11 46464 10-Jun-2013 vboxsync

VMM/HMVMXR0: Stats and skip calling the flush function unnecessarily.

b01fd4f380513a69b8aeeddc9d981d88c13bc62d 46463 10-Jun-2013 vboxsync

VMM/HMVMXR0: Flush-by-EPT on VCPU reschedule rather than just VPID, another corner case.

a2992559619e02f79ce100b6f62dec2f7cf563bb 46458 10-Jun-2013 vboxsync

VMM/HMVMXR0: Don't miss flushing-by-EPT if we the VCPU gets rescheduled to another host CPU before the flush happens.

fb6e55a7cad9011b7a0b286103383c41d2f5da9f 46445 07-Jun-2013 vboxsync

VMM/HMVMXR0: comment.

36490a9a9cf27acede7e8e39090b8c9839275094 46442 07-Jun-2013 vboxsync

VMM: HM bits, add changed-flag for CR2 as AMD-V has CR2 caching.

3bbe40191a41fcd117b91691b9360bc39a085ea0 46440 07-Jun-2013 vboxsync

nit.

46ae097c942b4a2d5038d9593e312856238da75f 46420 06-Jun-2013 vboxsync

VMM, recompiler: Purge deprecated macros.

/vbox/include/VBox/vmm/vm.h /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/IOMAllMMIO.cpp /vbox/src/VBox/VMM/VMMAll/PDMAll.cpp /vbox/src/VBox/VMM/VMMAll/PDMAllQueue.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/PGMAllPhys.cpp /vbox/src/VBox/VMM/VMMAll/PGMAllPool.cpp /vbox/src/VBox/VMM/VMMAll/REMAll.cpp /vbox/src/VBox/VMM/VMMAll/TMAll.cpp /vbox/src/VBox/VMM/VMMAll/TMAllVirtual.cpp /vbox/src/VBox/VMM/VMMAll/TRPMAll.cpp HMR0.cpp HMSVMR0.cpp HMVMXR0.cpp HWSVMR0.cpp HWVMXR0.cpp PDMR0Device.cpp PGMR0SharedPage.cpp VMMR0.cpp /vbox/src/VBox/VMM/VMMR3/DBGF.cpp /vbox/src/VBox/VMM/VMMR3/EM.cpp /vbox/src/VBox/VMM/VMMR3/EMHM.cpp /vbox/src/VBox/VMM/VMMR3/EMRaw.cpp /vbox/src/VBox/VMM/VMMR3/FTM.cpp /vbox/src/VBox/VMM/VMMR3/PDM.cpp /vbox/src/VBox/VMM/VMMR3/PDMDevHlp.cpp /vbox/src/VBox/VMM/VMMR3/PDMDevMiscHlp.cpp /vbox/src/VBox/VMM/VMMR3/PDMQueue.cpp /vbox/src/VBox/VMM/VMMR3/PGM.cpp /vbox/src/VBox/VMM/VMMR3/PGMBth.h /vbox/src/VBox/VMM/VMMR3/SELM.cpp /vbox/src/VBox/VMM/VMMR3/TM.cpp /vbox/src/VBox/VMM/VMMR3/TRPM.cpp /vbox/src/VBox/VMM/VMMR3/VMEmt.cpp /vbox/src/VBox/VMM/VMMR3/VMM.cpp /vbox/src/VBox/VMM/VMMRC/PDMRCDevice.cpp /vbox/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp /vbox/src/VBox/VMM/include/EMHandleRCTmpl.h /vbox/src/recompiler/VBoxRecompiler.c
56eaad40a08f4c28626b9892d98357bd69490d24 46419 06-Jun-2013 vboxsync

VMM/HMVMXR0: Flush all EPTP tagged-TLB entries (when possible) while enabling VMX on the host CPU. Not perfect yet.

77fb736ce29cefcc84661e039fe1d96670330eac 46415 06-Jun-2013 vboxsync

VMM/HMVMXR0: Fix invalidating EPT-tagged TLB-entries when VPID+EPT is in use.

3a0719e9148834a58fc534e73f442623392793cf 46399 05-Jun-2013 vboxsync

VMM/HMVMXR0: Avoid re-reading CR4 as it cannot be changed by vmxoff and some comments.

1e35749672711416e00881ce5797575cdec63d6c 46393 05-Jun-2013 vboxsync

VMM/HMVMXR0: Log4Func to keep things at level 4 and not flow or level 1 logging.

d88e114bc346acad52736a2bf67422737e8861f7 46391 05-Jun-2013 vboxsync

VMM/HMVMXR0: Use log level 4 by default so that instrumenting logging (with lower levels) is much easier.

98dc662d6103f6d064b89004c58c37f63e3ed272 46381 04-Jun-2013 vboxsync

VMM/HM: AMD-V and VT-x state-change bits.

5d5571e416dc0bb7cde16cf336a461c2692fd405 46363 03-Jun-2013 vboxsync

VMM/HM: Comment nits.

4a6e5c7ae984ad48a8a3e627ff985d4d3409ffb0 46315 29-May-2013 vboxsync

VMM/HMVMXR0: Added a couple of comments in the tagged-TLB flushing code.

0e5362a04e08adfd9e5625bbeee9fb2d198becb2 46294 28-May-2013 vboxsync

VMM/HMVMXR0: Cleanup, and fixme todo.

e6fd0785e1b9378c5c623004df6d55557df86b94 46289 27-May-2013 vboxsync

VMM/HMVMXR0: debug build fix.

380b8540bceb13a79763971ed08a3235b01da963 46286 27-May-2013 vboxsync

VMM/HMVMXR0: Avoid saving/restoring EFER whenever possible on every VM-entry/VM-exit.

6a79bf8c263f239c03f33241ce855012a4ad3303 46284 27-May-2013 vboxsync

VMM/HMVMXR0: 32-bit host fix.

3b98d9d2aec9c9a0120b7a8ab358d23477ae9b8f 46280 27-May-2013 vboxsync

VMM/HM: macro rename and comment update.

29c858e1d97d3664e5c79689c1be5b4fffa5cff7 46267 26-May-2013 vboxsync

VMM: Optimized 64-bit host VT-x world-switch.

3214a3d99d71a0fb5953fdf35d9a8173f4c58a6d 46192 21-May-2013 vboxsync

VMM/HM: CR0 and CR4 masks can be 32-bit. Plus hungarian naming fixes.

7a4b4e80c9f198b5c1927cc21b086d6c944a27e2 46191 21-May-2013 vboxsync

VMM/HMVMXR0: TR too, shouldn't be in the LDT and must have RPL 0.

110f6b6b97f2d7b92cc42d4ed813da341cdce394 46143 17-May-2013 vboxsync

VMM/HMVMXR0: Make single-stepping work in the hypervisor debugger when the monitor-trap flag is not available.

530e59daeb912ee522489bb66ad3923b2d5dcfb5 46135 17-May-2013 vboxsync

Started populating the RC address space in the debugger.

6ccb7c4d0f5b33ed73aabadafa253cac0f5e838e 46103 15-May-2013 vboxsync

VMM/HMVMXR0: Log CS during loading the guest state.

07e4d417fc0b344ffb8eb89f5fa89cd43421daf2 46098 15-May-2013 vboxsync

VMM/HMVMXR0: nits.

597271d857ee4bacc369a0ae35edd23933045e2e 46089 15-May-2013 vboxsync

VMM/HMVMXR0: Be more explicit about type sizes. It's rather critical in this area.

2c7c17a1d2e74a5e7a9ed6dacd67cfd4ac4e9185 46079 14-May-2013 vboxsync

VMM/HMVMXR0: nit.

dea123f4d2c3ea87eeef8966b6f477e3e1f7972e 46076 14-May-2013 vboxsync

VMM/HMVMXR0: 32-bit hybrid darwin kernel fixes.

95a467731a0cb751c4538f3ada2638e39c5dffbd 46041 13-May-2013 vboxsync

VMM/HMVMXR0: nit.

ec342c6911d5ab7f9139c7f20526a4dd3e300299 46018 13-May-2013 vboxsync

VMM/HMVMXR0: Fix Vista 64-bit guests to work again.

7f8419f3b9e6f435ed792d35d3495c2105d0dc68 46004 13-May-2013 vboxsync

VMM/HMVMXR0: DR7 is 32-bit in reality, upper bits are reserved MBZ, so avoid complicated guest-natural width writes and going through the VMCS cache unnecessarily.

78d69e960aa5f296c97101ef3be00ffc1e045b5b 45978 10-May-2013 vboxsync

VMM/HMVMXR0: nit.

2aabb5bb17783b0495de15dacd8dcb9ea77c422c 45977 10-May-2013 vboxsync

VMM/HMVMXR0: Kernel GS Base is no longer manually saved/restore across the world switch. If MSR-bitmaps are not supported, changing Kernel GS Base through WRMSR should reload the new value into the auto-load/store area in the VMCS.

8df917cc6b6da0b9758dfd64124d4934601944fc 45976 10-May-2013 vboxsync

VMM/HMVMXR0: In case we don't have TPR-shadow or CR8_LOAD exit is forced to always be set by the CPU, update the APIC state on CR8 writes.

025c54f081bfb89c6d55051f89c6533f2def3521 45967 09-May-2013 vboxsync

VMM/HMVMXR0: comment.

289e2e0e31dc86631f21d04e9c763cd3ffdba76c 45966 09-May-2013 vboxsync

VMM/HMVMXR0: Only cause a VM-exit when the highest-priority pending interrupt can be delivered to the guest and not whenever the guest lowers its TPR.

17b720f644743c74d5e9635d25d6fc646f1c2e21 45965 09-May-2013 vboxsync

VMM: Facility for getting the highest-priority pending interrupt from the APIC device.

94747f6af59c9a65f8dec4be216f506c540e0e2d 45963 09-May-2013 vboxsync

VMM: nits.

d83f7b6db9412237817a2331fa3eddb149dd9b12 45955 08-May-2013 vboxsync

VMM: Name fixes for non-static functions.

9d4fd60f98494d24ea99304bf654e5a17eb7dbbf 45954 08-May-2013 vboxsync

VMM/HMVMXR0: spacing.

e2af35b91616d8e317440363b0f507e566f96174 45953 08-May-2013 vboxsync

VMM/HMVMXR0: Don't mix up store and load. This is horrible terminology.

f945f44647c700056d118cec32d5f0d2166d2e7e 45947 08-May-2013 vboxsync

VMM: HM cleanup for CTRL, CONTROLS in symbolic names.

607df3392a71009970e13acf6e45415f36ba3fa0 45946 08-May-2013 vboxsync

VMM/HMVMXR0: copy, paste typo.

8da87b7e87ee1e9212ea3b3b1afba08f9c3a7f95 45945 08-May-2013 vboxsync

VMM/HMVMXR0: paranoidroid.

8a40a80bdaebf8dc118ca7a4448f9d54bd09e038 45944 08-May-2013 vboxsync

VMM/HMVMXR0: Don't intercept CR3 reads with unrestricted guests.

4640a2010257832c0e56f31bab9344407927c2b8 45943 08-May-2013 vboxsync

VMM/HMVMXR0: Fix overly-delayed update of PGM's view of CR3. More longjmp fun.

6ed9014c9079058c612b2f466242206797c8e31a 45937 07-May-2013 vboxsync

VMM/HMVMXR0: Easier to read when reading huge logs.

7f91b1b734f288f1c32ed019f49953d49e058711 45918 06-May-2013 vboxsync

VMM/HMVMXR0: State-save ordering enforcement assertion, comment and don't save autoload/store MSRs for getting EFER as it's always up to date.

88c11f576eeae33363dcb6de66c4a5d892898202 45915 06-May-2013 vboxsync

VMM/HMVMXR0: lines.

f34733fa12c38344162a89df0812bcc541da0e95 45912 06-May-2013 vboxsync

VMM/HMVMXR0: Return of the AssertRCReturns!

dc61da262bea9d170410bbfd8f90e3a41d3a78f8 45908 06-May-2013 vboxsync

Don't OR status codes together, just AssertRCReturn immediately. If two methods fails with different statuses, we'll be *very* confused. Also, for (human) analysis, return VINF_SUCCESS when you mean no informational statuses are used. int rc = VINF_SUCCESS; at the top and return rc; at the bottom *might* save an xor eax,eax; instruction in the slow path, but it makes it harder to read. (It also forces the compiler to remember the last rc value, which might not come without a cost on register starved 32-bit.)

b17dd646a23f66505899d5ef9d08f34dba5179da 45906 06-May-2013 vboxsync

VMM/HMVMXR0: uint64->32 fix.

a00b4b17cf16c0e111746ae57ddc7b847beaa3be 45905 06-May-2013 vboxsync

VMM/HMVMXR0: Return proper status code while leaving root-mode not just VINF_SUCCESS always.

93846687683b5a56925d33638eac1c64d8bcd044 45904 06-May-2013 vboxsync

VMM/HMVMXR0: Fixes for pure 32-bit darwin hosts (not hybrid) with better identification and separation of guest-natural, host-natural fields.

0570147eb048fb47fbb37ce2c2abbb22e14760b7 45896 03-May-2013 vboxsync

VMM/HMVMXR0: limit macro scope.

0c171cb0e5f6a73a43108652c0e4ac8ce731bceb 45895 03-May-2013 vboxsync

VMM/HMVMXR0: Remove redundant and slightly misleading comment.

818f65da310b2a8e9f9c03668cff1ae64b00d344 45894 03-May-2013 vboxsync

VMM: Use RT_BIT which uses unsigned to avoid nasty sign-extension issues with shifting. Also means less typing and looks cleaner.

7eeeb33f9519d1a4939ba3f90c1719040a9a80aa 45893 03-May-2013 vboxsync

VMM/HMVMXR0: Fix sign extension issue, use uint32_t.

5c1950642187a6d2357e3f048b177ed182b81707 45892 03-May-2013 vboxsync

VMM/HMVMXR0: Some clarification regarding the unusable bit.

8ff6401778b3394575efe0970fc21e123d6f899a 45888 03-May-2013 vboxsync

VMM/HMVMXR0: Avoid syncing TRPM and Pending HM events back and forth when teasing to enter VT-x but we keep returning to ring-3 for one reason or another. Now do the actual conversion later during event injection when, currently, it's too late to go back to ring-3.

648a82ca2600b27248667fe20f553884153aa18a 45887 03-May-2013 vboxsync

VMM/HMVMXR0: todo for thinking about tomorrow.

0f0125e2580b07e9dfc14a55caa9956d428e8dac 45886 03-May-2013 vboxsync

VMM/HMVMXR0: A few extra segment selector checks.

bc66e4a8411276aa25613fad0cea68025889ff02 45885 03-May-2013 vboxsync

VMM/HMVMXR0: More checks on strict builds.

8923dd6e4c34c279e04324d5aa1b2f01609df731 45884 02-May-2013 vboxsync

VMM/HMVMXR0: More aggressive state sync.: don't save IDTR, LDTR, GDTR, TR unless needed.

091725dd849db099329e7b126283584c0b20e6fa 45872 02-May-2013 vboxsync

VMM/HMVMXR0: nit.

df40da78530eface6f62d5eb59db90a09b7944d8 45870 02-May-2013 vboxsync

VMM: Fix for HM_PROFILE_EXIT_DISPATCH.

cf238577d849d42882fb615171160069d59c6223 45865 01-May-2013 vboxsync

VMM/HMVMXR0: Assertion and clarified todo comment.

b3904e7e00a69ae08c1b668b6ead35dcba8d2401 45861 01-May-2013 vboxsync

VMM/VMMR0: Fix debug assertion regarding leaving HM context with guest/hyper FPU/debug bits active.

f2d0a391c05019c4071c3c2da4cfff0d0b3227e5 45857 01-May-2013 vboxsync

VMM/HMVMXR0: Eliminated some unnecessary DECLCALLBACK calling convention.

8b626de1b2a732c89c0f60642602cd0d7ab8d71c 45856 01-May-2013 vboxsync

VMM: STAM counter descriptions, cleanup. Fixed a few erroneous stats in the new VT-x code.

4b969cf06da1777357babc71beb914eaaf1e0fbe 45855 30-Apr-2013 vboxsync

VMM/HMVMXR0: Remove assertion for now as it's an enum not a pfn.

f004c3cc12f7c89e799fa2e61bd32db3f46dc7b7 45854 30-Apr-2013 vboxsync

VMMR0: build fix

99a9c374a950f1d39dc3aa49dc2e5e6d11520eae 45852 30-Apr-2013 vboxsync

VMM/HMVMXR0: wrap to 130 columns.

a10f6212ef0042a6d40d130e7a669fbc1b000ec5 45850 30-Apr-2013 vboxsync

VMM/HMVMXR0: nits.

b21337e46023aaa55b1a8a7c35c94179106896a1 45849 30-Apr-2013 vboxsync

VMM/HMVMXR0: Redundant.

6f356bf844236013773db198e44fc83408e20abe 45848 30-Apr-2013 vboxsync

VMM/HMVMX0: We're already in non-preemptible context. Too paranoid to assume CR4.VMXE can be changed by interrupt handlers. Do less work, assert instead.

90a17a5ecf9523ac09f1bb94e358a01f5822d4ec 45846 30-Apr-2013 vboxsync

VMM/HMVMXR0: Restore TSC_AUX properly when not using auto-load/store MSR feature.

cd25950c10964928bd655dcf8f0448a6a7ecbded 45845 30-Apr-2013 vboxsync

VMM/VMMR0: Load kernel-gs base MSR as part of the auto-load/store MSR feature. VMM/HMVMXR0: Fixed the code to also deal with the case when auto-load/store is not defined. VMM/VMMR0: Fixed LegacyandAmd64.mac to restore the MSRs from the stack in the right order, not sure how it could have worked previously.

e0b890c0e48dcf9e514c47c19de75ad95efb9cad 45823 29-Apr-2013 vboxsync

VMM/HMVMXR0: Resetup preemption timer when the preemption timer expires unconditionally, and other HM bits.

dceccf93a815b7a2ba7a3236426dbd4f7f2608fc 45820 29-Apr-2013 vboxsync

VMM/HMVMXR0: Update TSC offsetting when the guest write TSC. This fixes the Windows 7 guest BSODs and hangs. Fixes also re-updating TSC offsetting when we get rescheduled to another CPU due to a longjmp.

1bc500a8f68a50c718620e24d730ac17b56d4d26 45786 27-Apr-2013 vboxsync

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

8e1ae935075d443a679f98edfa49697591929345 45785 26-Apr-2013 vboxsync

VMM/HMVMXR0: paranoia and comments.

38dcedf420290aa50c26898157c337dbc5eeae02 45781 26-Apr-2013 vboxsync

VMM/HM: Simplified real/protected mode transition tracking logic.

e333d93a4d5c40cd68934bf499174189861550da 45774 26-Apr-2013 vboxsync

VMM/HMVMXR0: unintentional commit of debugging stuff.

4ffc3e7bbc0514990ff3479c28d9dc4714968fff 45773 26-Apr-2013 vboxsync

VMM/HMVMXR0: Darwin hybrid-kernel fixes.

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.

80a4438caf5e46041fc90d2b3b02c661dc6f1a6d 45734 25-Apr-2013 vboxsync

VMM/HMVMXR0: nit.

0ebd81389c4e68751b918fc8af90527d14f5cbbe 45733 25-Apr-2013 vboxsync

VMM/HMVMXR0: spaces.

775940cd315ef57d3da2d19d01916f2e238e193d 45732 25-Apr-2013 vboxsync

VMM/HMVMXR0: Don't trash CR2 for VM-exits caused due to a #PF delivery when not intercepting #PFs (i.e. Nested Paging).

46f8797b60a53d7a25e62f158eb1b3647dc9f81c 45722 25-Apr-2013 vboxsync

VMM/HMVMXR0: nits.

efed8119097b05de6375d521a9f0d01645eda668 45715 24-Apr-2013 vboxsync

VMM/HMVMXR0: Theoretically possibly to miss a CR2 update when we should.

2c92d9d93237b9ad3a76b1dec0b4f25904e4e84e 45712 24-Apr-2013 vboxsync

VMM/HMVMXR0: Alignment.

847d5bc5805e8e21388420e14931ac9eddbb0686 45704 24-Apr-2013 vboxsync

VMM/HMVMXR0: Build fix for HMVMX_ALWAYS_TRAP_PF.

0a8265d804d7ffb75b4385a183b6f1569e0c50aa 45699 24-Apr-2013 vboxsync

VMM/HMVMXR0: Fix macro renaming breakage.

059630d51d557eed7aae91d1a0d3a6dab32953d8 45698 24-Apr-2013 vboxsync

VMM/HMVMXR0: Alignment.

244e9007b4bd841bb46dad4e28130c28dc118eb8 45693 24-Apr-2013 vboxsync

VMM: Introducing VINF_EM_TRIPLE_FAULT status code for triple-fault conditions in HM, to result in a guru meditation.

50e0013fdd97f17d170209239c24306049408fb2 45685 23-Apr-2013 vboxsync

VMM/HMVMXR0: Safer to update CR2 while injecting exceptions and not earlier while converting from TRPM traps (from ring-3).

771ffc6833136fc7f1422443be8d83ea2dedd89a 45684 23-Apr-2013 vboxsync

VMM/HMVMXR0: 32-bit fixes, round 2.

8e78af3a3c47931278d9d690f05f0fd3f8b6cda5 45682 23-Apr-2013 vboxsync

VMM/HMVMXR0: RFlags is 32-bit with upper half as always 0, avoid going through the VMCS read-cache for it.

998cab6ccb82c8c5d2cf92aefb84549d97350c7c 45681 23-Apr-2013 vboxsync

VMM/HMVMXR0: Fix for 32-bit hosts, round 1.

b23e6fcb615ddd6b24bf5cb351cee1cdcc90cb7c 45668 22-Apr-2013 vboxsync

VMMR0/HMVMXR0: Don't intercept CR0.WP when we have nested paging.

0f382ea76c2c928323015654c45bf835a574b389 45657 22-Apr-2013 vboxsync

VMMR0/HMVMXR0: typo.

e25818556bda723894c534b93a0aba15f0137203 45656 22-Apr-2013 vboxsync

VMM/HMVMXR0: removed some superfluous comments.

ad9581ed3b9f8da34e37a9c8216f00cd40005a20 45655 20-Apr-2013 vboxsync

VMMR0/HM: Profiling longjmp round trips are less useful, adjusted STAM counters to reflect true time spent on VMXR0RunGuestCode. - Removed excessive inlining in HMVMXR0. - Added exit-to-ring3 stat to HWVMXR0.

6fb2c4a37714111eaaba8175ba1088e01ac9761e 45653 20-Apr-2013 vboxsync

VMM/VMMR0: HM cleanup.

4fb186959f83428c6f43ac7a7caa3225c085fd5c 45651 19-Apr-2013 vboxsync

VMM/HMVMXR0: Actually we -do- need to intercept #DB (hypervisor debugging) but it's not handled in the #DB handler properly.

906b303b4151f38ca58c235c9c5d5f0577cd41c5 45650 19-Apr-2013 vboxsync

VMMR0/HMVMXR0: Fix single-stepping over STI during guest debugging and inadvertently intercepting #DB recursively.

30ee22e87fc5abed67a958c7d98e360e524b0b55 45648 19-Apr-2013 vboxsync

VMMR0/HMVMXR0: Clear interrupt-inhibition if we're single-stepping in the hyperdebugger case.

392aa1bde66c681e9d6c5531c8d036d4212149bb 45647 19-Apr-2013 vboxsync

VMMR0/HMVMXR0: Implemented setting of pending debug exceptions for single-stepping over STI and MOV SS.

f1a2d9ee77102c580f5b20a7a0a05b58c795d4e9 45641 19-Apr-2013 vboxsync

VMMR0/HMVMXR0: bits.

1114babf561e4ecccdd392fb9fb83455e3455d8c 45639 19-Apr-2013 vboxsync

VMMR0/HMVMXR0: Simultaneous hyper and guest single-stepping support when there is no Monitor Trap Flag capability on the CPU.

8f567bb7ec381ab67f986416a06c40ce850d6768 45637 19-Apr-2013 vboxsync

VMM/VMMR0: HM macro prefix cleanup a bit.

8fdf396763ab770cb0f8b26e2fa705240d739bb9 45623 19-Apr-2013 vboxsync

HMVMX: HMVMX_USE_FUNCTION_TABLE (enabled, as before) and HM_PROFILE_EXIT_DISPATCH (disabled).

f6ee014286c1ba6058921f9d44fc43b98fb8527f 45621 18-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

81e3e5c272c8af0e16e48b81529e24a3497ce837 45617 18-Apr-2013 vboxsync

VMMR0/HMVMXR0: Fix MOV DRx intercepts. Haiku now works.

a6fd5ebd0c75ff5553d23bf01a9bb8433fd0926d 45609 18-Apr-2013 vboxsync

VMMR0/HMVMXR0: fix pending events on task switches. Fixes Warcraft 2 for DOS with NestedPaging.

9c8e75b835bb8977856e6cfaf2b89e8d7da9068f 45590 17-Apr-2013 vboxsync

VMMR0/HMVMXR0: reflect #DE and others back to the guest on a vectoring #PF. This case is not covered by the Intel manuals.

e6148fa1e70f4033bed9f0176455bb8aa913555c 45585 17-Apr-2013 vboxsync

VMMR0/HMVMXR0: Fix regression with EFER MSR write exits. Fixes NetBSD again.

89cbccbe33bce39263ac298f92416cffab00f6c5 45576 16-Apr-2013 vboxsync

VMMR0/HMVMXR0: oops

0b976f15d694c5ba862a77984d3864c0d7ec3a01 45575 16-Apr-2013 vboxsync

VMM/VMMR0: Update EFER on VM-reentry when WRMSR changes it. Fixes Solaris SMP guest panic.

405eae1a63a5d5ac1d6dc52f6e6800070b8afd77 45558 15-Apr-2013 vboxsync

VMM/VMMR0: bits.

92049425d35d0b7251f3327a2832eef537a0a959 45557 15-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

011f1ccb2ed8fb226c06ad9c8fdc8b66410360f0 45556 15-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

b7683723b597e75803d791f90ef3058261fa59d8 45552 15-Apr-2013 vboxsync

HMVMX: Windows build fix.

ab9d6f1f024adb2257c1b25af69048f0bc550284 45548 15-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

09700c4fcf751aa751653b1eae15074daf2c61fc 45547 14-Apr-2013 vboxsync

VMM/VMMR0: More vectoring event fun.

3c7fc955d6387d2fad1d732e43357b24be2727ce 45546 14-Apr-2013 vboxsync

VMM/VMMR0: More vectoring event handling.

33c54ebb5cb702f9c22e301a06aafcd60dc0ee2b 45545 14-Apr-2013 vboxsync

VMM/VMMR0: Fixes to vectoring #PF, and reflecting exceptions to the guest.

99e982a983a17f55c850c18c26aa81442aecd2e7 45544 14-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

218dec122ee6bf2e143693da7830bfb6b3ce35a6 45543 14-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

3f383cd41014560591fc270780f423414ebf43b5 45534 13-Apr-2013 vboxsync

VMM: use of symbolic names and asserts.

f3cb5fe556dc23b3d81f61d33737ac66eef6c0f2 45532 13-Apr-2013 vboxsync

VMMR0/HMVMXR0: HM bits.

633bed59cef34fca736f18bf63e608e02a7bbfdc 45531 13-Apr-2013 vboxsync

VMMR0/HMVMXR0: Redo of VT-x event injection. Some STAM cleanup. VMM: TRPM enhancements to include instruction-length information for software interrupts and exceptions (#BP, #OF).

616abf7b04010f7d8660ced7f517a05f6b05339c 45519 12-Apr-2013 vboxsync

VMMR0/HMVMXR0: Inject software int from TRPM

1028cbe37daaf1aeb591e81ad249cdd5541b93a9 45517 12-Apr-2013 vboxsync

VMM: Clean up STAM counters and hungarian fixes.

d8fbbeb67e491ae3dee0ec4d1f49861a7929e2ec 45513 12-Apr-2013 vboxsync

VMMR0/HMVMXR0: Event injection, don't need to re-clear the field everytime.

f0eafd15e04206b003c7ff5db6dd445fedde0d81 45510 12-Apr-2013 vboxsync

VMMR0/HMVMXR0: type fixes.

68bde469e1a8e45611e67fe02fa57c38a05406a2 45503 12-Apr-2013 vboxsync

HM: Alignment fixes. s/u32InstrLen/cbInstr/g. A couple of doxygen fixes. Changed a few 'unsigned' structure members to 'uint32_t' - we stopped believing in 'unsigned' 6-7 years ago.

1102cdfdf32e957b1b7a8ddf11108db336ee889e 45502 12-Apr-2013 vboxsync

VMMR0/HMVMXR0: Redo the event injection logic to be done only on the entry side. This is cleaner and any returns the recompiler should not lose any events.

eb59470b7d0e79044bd943734f9debdb6335ec9c 45501 12-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

ff8a8f8ac32f29c7596b5155d6c2c929e63d62aa 45498 11-Apr-2013 vboxsync

VMMR0/HMVMXR0: leaner, part 2.

a6a8cb3d75171c1b9b88d4fbc8fb21e4b20bebea 45496 11-Apr-2013 vboxsync

VMMR0/HMVMXR0: leaner, less parameter passing, part 1.

4c7a722efb06032d4da6af3927e33cbf369def1d 45487 11-Apr-2013 vboxsync

VMMR0/HMVMXR0: Fix LDTR usable bit, fixes NetBSD guests.

c24d74e109aa4d924340f295ee0276ad949a2b31 45481 11-Apr-2013 vboxsync

VMM/HMVMXR0: More assertions.

0a91bd5ebdce62a192f60a60104f1d9294108c0a 45478 11-Apr-2013 vboxsync

VMM/VMMR0: more consistent names.

8909d490a9b1f5ed08bdefb15180a7f90b132553 45475 10-Apr-2013 vboxsync

VMM/VMMR0/HM: comment and todo for problem earlier seen today with assert screwing up VMX state somehow.

17b5fc81258a661a9a8d5edd940d8f841e19d522 45474 10-Apr-2013 vboxsync

VMM: Remove unused error codes, use more specific error codes. Restore CR4 on VMXON failures in the new VT-x code.

b11b499231ce0485fe866051afdc92fbf2456187 45467 10-Apr-2013 vboxsync

VMM/VMMR0/HM: bits.

dbf419da5e8fec8ef605cd61f9d61c53276939b4 45465 10-Apr-2013 vboxsync

HM: WBINVD exiting must be conditional.

95ec228273bb37755d9507961259ffbd3498c3e2 45464 10-Apr-2013 vboxsync

HM: 64-bit Windows build fix.

bb33aba2a20c549496a2d8755499e5ecfc93405c 45455 10-Apr-2013 vboxsync

VMM/VMMR0/HM: build fix.

888735bb086b8a62b44e5fd1e4a91b48b0a092e1 45453 10-Apr-2013 vboxsync

VMM/VMMR0/HM: build fixes for 32-bit hosts

b7a6e3676c0889795a9c0fffcfd8204cfa239430 45442 09-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

5fc89da1fcee4541bec5ceaa2828c665d83ff7bc 45419 09-Apr-2013 vboxsync

VMM/VMMR0: obsolete comments.

2cecd9a19113b887f026cdf5d09ddb7da70edf7d 45414 08-Apr-2013 vboxsync

VMM/VMMR0: HM bits, stam counter and switch experiment.

1717a0dc87837546db42ec0c181a016320d01a53 45413 08-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

e98662489c9c0564fb33fac4d626756c42e71be0 45412 08-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

1006a3bccaabf150f589a0916370905380423c0a 45409 08-Apr-2013 vboxsync

VMM/VMMR0: HM bits. Save preemption timer value on every VM-exit and reset it up when required.

12b34ebbd1178503117d3b679440f0f4f79a92ac 45408 08-Apr-2013 vboxsync

VMM/VMMR0: HM bits. Fixed issue with MOV-SS and interrupt inhibition. Use interrupt-window exiting for interrupt-inhibited state as well for better guest interrupt latency.

91392d2f22e8190ffc81013956ec3a3a5ce7152e 45387 05-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

f924f74814f5db59b51eddcd3fd676cd72597a29 45384 05-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

cb588523f07677df73299f31abe31f2e63ac67ca 45380 05-Apr-2013 vboxsync

VMM/VMMR0: comment.

1f00a00b2bf3c2729b08c7d2f8ecd268994239ae 45379 05-Apr-2013 vboxsync

VMM/VMMR0: HM bits, optimizations, be more aggressive with saving state for hot exit paths. Do less on every exit, moved pending event delivery to only the required exits.

2fa4a94df7d8be380fbf06cef00eae65683ef291 45352 04-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

2de7d83786323f581bfe7ba58e594bc2460fa797 45351 04-Apr-2013 vboxsync

VMM/VMMR0: HM bits, remove unused flags.

5381a4fe1c60183b0e8f0c68d2cfa4f04f7e1515 45349 04-Apr-2013 vboxsync

VMM/VMMR0: Very important stats.

b90db15e84cbcccf521b1c63c81d5a9c7686773a 45347 04-Apr-2013 vboxsync

VMM/VMMR0: HM bits.

c42898c0e6a13f63780bc635c576845064412a2c 45344 04-Apr-2013 vboxsync

VMM/VMMR0: HMVMXR0 properties.