History log of /vbox/include/iprt/x86.h
Revision Date Author Comments Expand
447d6c76d88201b58c0bd7b0c8621088cf428951 55048 31-Mar-2015 vboxsync

VMM,REM: Allocate the FPU/SSE/AVX/FUTURE state stuff. We need to use pointers to substates anyway and this will make CPUMCPU much smaller.

/vbox/include/VBox/vmm/cpum.mac /vbox/include/VBox/vmm/cpumctx.h /vbox/include/VBox/vmm/ssm.h /vbox/include/VBox/vmm/vm.h /vbox/include/VBox/vmm/vm.mac x86.h /vbox/src/VBox/VMM/VMMAll/IEMAll.cpp /vbox/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h /vbox/src/VBox/VMM/VMMR0/CPUMR0.cpp /vbox/src/VBox/VMM/VMMR0/CPUMR0A.asm /vbox/src/VBox/VMM/VMMR0/HMR0.cpp /vbox/src/VBox/VMM/VMMR0/HMR0A.asm /vbox/src/VBox/VMM/VMMR3/CPUM.cpp /vbox/src/VBox/VMM/VMMR3/CPUMDbg.cpp /vbox/src/VBox/VMM/VMMR3/SSM.cpp /vbox/src/VBox/VMM/VMMRC/CPUMRCA.asm /vbox/src/VBox/VMM/VMMSwitcher/AMD64andLegacy.mac /vbox/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac /vbox/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac /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/testcase/tstVMStructSize.cpp /vbox/src/recompiler/VBoxRecompiler.c
5985f55d4de24e97cbc6d841bfb5b24dfdb51f3c 54898 23-Mar-2015 vboxsync

CPUMCTX,CPUMHOST: Replaced the fpu (X86FXSAVE) member with an XState (X86XSAVEAREA) member.

f3204b9acc2f5dd140c07e3253589a62cb90c24c 54896 22-Mar-2015 vboxsync

x86.h,VMM: XSAVE structures.

3d0c9ab568ff32132049431e7dc45ea82cda6089 54894 21-Mar-2015 vboxsync

VMM: Expose some of the recent AMD instruction set extensions to the guest too.

d1a46338dc24f48013833a67f3e30b6d43600924 54893 21-Mar-2015 vboxsync

typo - X86_MXSCR_MM is bit 17 according to figure 4-2 in APM1 v3.20.

f4fa1b6b87341bfa5b45bacb7067beec05ca8f96 54892 21-Mar-2015 vboxsync

typo

d3053f8918aac10ceb6d77c89d38220c6af85384 54887 20-Mar-2015 vboxsync

CPUM: Enable a bunch of recent instruction extensions for VMs which are unlikely to rely on IEM and REM very much.

e1d4cfd32955e4e0f3499b487b46aa33cdd35cea 54862 20-Mar-2015 vboxsync

Corrected x86.h/mac typo.

35c7eb86fc04b180e926da92d0f1cb6f73b91c57 54738 12-Mar-2015 vboxsync

VMM,REM: CPUID revamp - almost there now.

b5282d7f2cad1387b4b57030739557c9d92563a8 53630 02-Jan-2015 vboxsync

dtrace library fixes/hacks.

73d0dc1e210a97ae552b24c46da77db78b7e9a23 53194 04-Nov-2014 vboxsync

doc nit

7e3ed6bf013704f67a3cfb5b59624136bab908fe 53192 04-Nov-2014 vboxsync

iprt/x86.h: comment typo.

8b6042da9be62cf6358a4e73eef2e93badf225ff 53191 04-Nov-2014 vboxsync

iprt/x86.h: comment typos.

b5fa54c6e5a0c98b0696d6331529d7df99933a8f 53187 03-Nov-2014 vboxsync

x86.h: Found some documentation of DR7 bits 12, 14 and 15. Tentatively added defines for them.

dd704019135c2a3d1676252c13313df1bd7adab0 52778 17-Sep-2014 vboxsync

iprt/x86.h: add EFER.TCE bit.

cc10a12a8d3be7a7887683e64dde8ba685207b61 52466 22-Aug-2014 vboxsync

VMM: Nit for r95680.

d8e275cd91c18ccd5bea15647cb4e03494df2472 52465 22-Aug-2014 vboxsync

VMM: Fix IEM FXSAVE implementation to match the logic in HM/raw-mode FPU handling.

ab4300c9ac4361b720413deb095f04fccc481169 51182 05-May-2014 vboxsync

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

5cb73d1a2d6d641f751188a1c54698b3e64c0b76 50971 04-Apr-2014 vboxsync

iprt/x86.h: Minimum TSS descriptor limit value.

b8ad53d2d49c52c499af516c2c54faa1b50de6e7 50765 13-Mar-2014 vboxsync

include/iprt, Runtime/common: Added defines for newer Intel CPU features and CR4.SMAP.

5a1e3fdfddd9fb23f043efc077dae781b9691c23 50255 28-Jan-2014 vboxsync

VMM: two undocumented CPUID bits

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 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 /vbox/src/VBox/VMM/VMMR0/CPUMR0.cpp /vbox/src/VBox/VMM/VMMR0/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
ed882ec1ed01b0a5469d2acd28d0bf52e38c2103 49731 29-Nov-2013 vboxsync

FPU save/restore experiment.

707e46219d625326b90abe6ad21995e398d2530b 49417 08-Nov-2013 vboxsync

typo.

8a721412cbde1464f51d5887779c6d3bb741c886 49391 05-Nov-2013 vboxsync

iprt/x86.h: Added X86_IS_CANONICAL.

6812cd058fa50aaa6be6d17c291fcf82da713732 49083 14-Oct-2013 vboxsync

x86.h: Added ECX feature F16C (valid on both Intel and AMD).

40292bbce550fe4d64d1bbf96cfc5b848ea742da 48698 26-Sep-2013 vboxsync

typo

0cdcd61cc60ca65ecdc71b7afe4aa5aacd0347a5 48695 26-Sep-2013 vboxsync

CPUM: MSR_CORE_THREAD_COUNT and MSR_FLEX_RATIO for snow leopard.

7dd0d55326be5304e824fc742fec72ba7892140c 48368 06-Sep-2013 vboxsync

Implement MSR_PKG_CST_CONFIG_CONTROL for mac os x.

5740bc009f7d316b7ecc1d5957605b0776a51b7f 48357 06-Sep-2013 vboxsync

The intel_pstate Linux driver depends on these two MSRs

bec2d4e1a030027d2959cbb62cc5324238a128d1 48284 05-Sep-2013 vboxsync

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

0ed32249344e46968d3a5ab8596596af547a14cd 48267 04-Sep-2013 vboxsync

VMM: Allow VT-x to be used in SMX mode, more granular error checking.

8b01d6b03953f9f157648813127eef9302d76de1 48151 29-Aug-2013 vboxsync

Netware 6 is reading MSR_P4_LASTBRANCH_0 (0x1db).

55b4caea5e314d7e992f8151a05db67949ae8fe9 48143 29-Aug-2013 vboxsync

x86.h: some new MSRs. _BIT defines for some EFLAGS.

795cc24c4bdaa305ae7427e08a9ce4f12a2b11c1 48120 28-Aug-2013 vboxsync

Another intel MSR.

12917925557b6056a56c52520b12a6c0c5605199 48119 28-Aug-2013 vboxsync

Another intel MSR.

fb32e14e550b8cac82fd2d3a2cf6f92a65a278ea 48066 26-Aug-2013 vboxsync

CPUM: Fake MSR_IA32_MCG_STATUS reads. Corrected MSR names, IA32_MCP should be IA32_MCG according to latest intel docs.

fb6f496937a80d0584aa0da400e70690e5225321 47996 22-Aug-2013 vboxsync

More MSRs fixes on AMD64. MSR_K8_NB_CFG is for recent linux kernels (64-bit), and the MSR_IA32_BIOS_SIGN_ID is for windows 7.

e781381f6f8481ed0f9dc78f243d01049834995f 47988 22-Aug-2013 vboxsync

Solaris reads MSR_RAPL_POWER_UNIT, give it some fake values.

d04f84d3af7882a4cadb3076173bb7fbed8d6060 47942 21-Aug-2013 vboxsync

CPUM: Ignore MSR_K8_INT_PENDING access.

8cda83902f47581f8920924c82671e2bafefac98 47839 19-Aug-2013 vboxsync

x86.h: APICBASE fields.

1ee8d4d255a846dd5516162fede81f5ff0277635 47738 14-Aug-2013 vboxsync

x86.h: Corrected X86DESCATTR_P definition (shifted left by 4 bits by accident). Only affected IEM (it anything was affected at all).

a223bd0d5a38cc315a52574061128f77bb3f606c 47667 12-Aug-2013 vboxsync

x86.h: A couple of DR7 macros.

c1980cd3f410c88b8f92f464c56ed987a15f44c1 47660 12-Aug-2013 vboxsync

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

c5cbebe02f5a105705db219be3dbc348857f3622 47547 06-Aug-2013 vboxsync

x86.h: Added X86_EFL_LIVE_MASK and X86_EFL_RA1_MASK.

fcdd6682fc098c9e5270d24132af91b954ecf82d 47432 27-Jul-2013 vboxsync

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

d4e08103b40c23b6faaebf4ed72c8752b24c693b 47406 25-Jul-2013 vboxsync

x86.h: Added MSXCR macros.

978fae68440094df381ce7dd1134c8c2bfc46c35 47381 25-Jul-2013 vboxsync

keep within 130 columns.

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.

8b36c1115d96725cbbcbdb50bbe0a90993f7d5c1 47305 22-Jul-2013 vboxsync

x86.h/mac: opcode prefixes.

1f291c5acd315376ba984563c3165bc0edb53f49 47267 19-Jul-2013 vboxsync

Regenerate assembly headers, added TSSes to x86extra.mac.

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.

4a574fc24226a4353b66730486e855201b5c8770 47241 19-Jul-2013 vboxsync

X86DESCATTRBITS: Added the funny intel bit.

cad17d89902b376fd09ee5e8f8eb018ce6cf4812 47172 16-Jul-2013 vboxsync

Started on exception dispatching testcase to check rare paths.

7828a0113e64ca538f5abcb5cee3964c4a5fb2d3 47152 15-Jul-2013 vboxsync

x86.h: Some X86XCPT updates.

ee77fea26f12ca6a034402b256f179abc8a2f709 46380 04-Jun-2013 vboxsync

VMM/HM: missed file, build fix.

e5da5dbb49b995e6e7d20a79a6cac76307549b15 43974 27-Nov-2012 vboxsync

VMM: Fix MSR range values for X2APIC, add in the X2APIC TPR MSR.

9bab1d7e8ab2987b2cdc11fffcc209d477c2a75c 43884 15-Nov-2012 vboxsync

VMM: bits.

2e36465f2330e4ba52459316b32a1989b7478aad 43803 05-Nov-2012 vboxsync

VMM/VMMR0: bits.

5508f48d486b92a88593b6dcc2252969927faed4 42588 03-Aug-2012 vboxsync

More test execute only + not-accessed + short CS wrt return to real mode.

d9e8985b936caa8e72f58c48045478fc2776dc5e 42427 27-Jul-2012 vboxsync

VMM: Fixed some selector arithmetic, introducing a new constand and renaming and old one to make things clearer. Also added CPUMGetGuestLdtrEx and make some (but not all) of SELM use this instead of shadow GDT.

26f38400c03761b1934b05fa93a64188e88e9904 42407 26-Jul-2012 vboxsync

VMM: Futher work on dealing with hidden segment register, esp. when going stale.

4d9dd16b00b364935ca282149f79013be289fe2d 42337 24-Jul-2012 vboxsync

CPUM: Save and restore the internal selector fields.

541b631e11b3a6fa57042b2907e395d61da4dedb 42157 16-Jul-2012 vboxsync

VMM: Detect VIA Cpus for VT-x support.

7a5ced8f5e8e6c56c6b689c8bfb024071484df4c 42056 09-Jul-2012 vboxsync

VMM/HWVMXR0: Save/restore IA32_TSC_AUX MSR across VMX non-root ops.

24986763e9e9e6633a4a54479be945d577fdfd34 42024 05-Jul-2012 vboxsync

VMM: RDTSCP support on Intel. Segregated some common CPU features from the AMD superset into Extended features as they're now available on Intel too.

792ad6bb5389c472c002489e3ef0bc6d4435f082 41270 14-May-2012 vboxsync

cleanups

65387740332a42b40ea4312b7dc4e033bcc1d527 41268 14-May-2012 vboxsync

Working on making DTrace grok VM+CPUM and VMCPU+CPUMCPU.

6595b5165a4e41ead8b0857bb982e0a61589aa51 41267 14-May-2012 vboxsync

Hacking my way around D's lack of pragma pack.

11e7ac503f6eb554fded39b064fa7cdab338adae 41259 11-May-2012 vboxsync

Working on DTrace lib files.

299c3a5ac8af20a009008e1cc5930242d030ac1d 41247 10-May-2012 vboxsync

More dtrace library stuff. On 64-bit solaris dtrace can now grok the library files (point it to them using the -L parameter).

d69e81b7f3f8bdca04768899bf8f87701e0a5c39 40222 22-Feb-2012 vboxsync

IEM: Implemented fldcw, fldenv fnstcw and fnstenv.

6645efabf4bbc1fa770f7217c9a4bcb49fad8389 40182 20-Feb-2012 vboxsync

protected mode far call and far return.

09d9c20d9d9127611877e693110312f2566c8853 40170 17-Feb-2012 vboxsync

MSRs and MTRRs, CPUM saved state changed. (linux 2.4.31 seems to ignore the capabilites when it comes to fixed MTRRs.)

b3eb676cebf5407921b8f535095ca7655edb9db3 40162 16-Feb-2012 vboxsync

fmul st0,m64r

5d35dc9ea8116d9ddb0ccb55986a6095e6e0846d 40144 16-Feb-2012 vboxsync

fdiv - almost there...

0005b7c81d5621b5c6e0b38ce3cbcabf7e883fd3 40076 11-Feb-2012 vboxsync

Changed the types of the r80 views of the FPU registers.

7ae61147cce23a4efff53b9cdf35541be62a0cb8 40069 10-Feb-2012 vboxsync

Floating point testing.

2d97f8baccdd684bc0a8a15eb86bbe9ff2b85374 37955 14-Jul-2011 vboxsync

Moved VBox/x86.h/mac to iprt/x86.h/mac.

/vbox/Makefile.kmk /vbox/include/VBox/vmm/cpum.h /vbox/include/VBox/vmm/cpumctx.h /vbox/include/VBox/vmm/cpumdis.h /vbox/include/VBox/vmm/dbgfsel.h /vbox/include/VBox/vmm/hwacc_vmx.h /vbox/include/VBox/vmm/mm.h /vbox/include/VBox/vmm/pgm.h /vbox/include/VBox/vmm/selm.h /vbox/include/VBox/vmm/trpm.h /vbox/include/VBox/x86.mac x86.h x86.mac /vbox/src/VBox/Additions/common/VBoxGuest/freebsd/files_vboxguest /vbox/src/VBox/Additions/common/testcase/tstPageFusion.cpp /vbox/src/VBox/Devices/EFI/Thunk/EfiThunk.asm /vbox/src/VBox/Devices/testcase/tstDeviceStructSize.cpp /vbox/src/VBox/Disassembler/DisasmTestA.asm /vbox/src/VBox/HostDrivers/Support/SUPDrv.c /vbox/src/VBox/HostDrivers/Support/SUPLib.cpp /vbox/src/VBox/HostDrivers/Support/freebsd/files_vboxdrv /vbox/src/VBox/HostDrivers/Support/linux/files_vboxdrv /vbox/src/VBox/Installer/linux/deffiles /vbox/src/VBox/Main/src-server/HostImpl.cpp /vbox/src/VBox/RDP/client/files_rdesktop-vrdp /vbox/src/VBox/Runtime/common/time/timesup.cpp /vbox/src/VBox/VMM/VMMAll/CPUMAllA.asm /vbox/src/VBox/VMM/VMMAll/EMAllA.asm /vbox/src/VBox/VMM/VMMAll/HWACCMAll.cpp /vbox/src/VBox/VMM/VMMAll/IEMAll.cpp /vbox/src/VBox/VMM/VMMAll/IEMAllAImpl.asm /vbox/src/VBox/VMM/VMMAll/IEMAllAImplC.cpp /vbox/src/VBox/VMM/VMMAll/SELMAll.cpp /vbox/src/VBox/VMM/VMMAll/TRPMAll.cpp /vbox/src/VBox/VMM/VMMR0/CPUMR0.cpp /vbox/src/VBox/VMM/VMMR0/CPUMR0A.asm /vbox/src/VBox/VMM/VMMR0/CPUMR0UnusedA.asm /vbox/src/VBox/VMM/VMMR0/HWACCMR0.cpp /vbox/src/VBox/VMM/VMMR0/HWACCMR0A.asm /vbox/src/VBox/VMM/VMMR0/HWSVMR0.cpp /vbox/src/VBox/VMM/VMMR0/HWVMXR0.cpp /vbox/src/VBox/VMM/VMMR0/TRPMR0A.asm /vbox/src/VBox/VMM/VMMR3/PATMA.asm /vbox/src/VBox/VMM/VMMR3/VMM.cpp /vbox/src/VBox/VMM/VMMR3/VMMTests.cpp /vbox/src/VBox/VMM/VMMRC/CPUMRCA.asm /vbox/src/VBox/VMM/VMMRC/EMRCA.asm /vbox/src/VBox/VMM/VMMRC/HWACCMRCA.asm /vbox/src/VBox/VMM/VMMRC/MMRamRCA.asm /vbox/src/VBox/VMM/VMMRC/TRPMRC.cpp /vbox/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp /vbox/src/VBox/VMM/VMMRC/TRPMRCHandlersA.asm /vbox/src/VBox/VMM/VMMRC/VMMRCA.asm /vbox/src/VBox/VMM/VMMSwitcher/AMD64andLegacy.mac /vbox/src/VBox/VMM/VMMSwitcher/LegacyandAMD64.mac /vbox/src/VBox/VMM/VMMSwitcher/PAEand32Bit.mac /vbox/src/VBox/VMM/include/CPUMInternal.h /vbox/src/VBox/VMM/testcase/Makefile.kmk /vbox/src/VBox/VMM/testcase/tstCompiler.cpp /vbox/src/VBox/VMM/testcase/tstMicroRCA.asm /vbox/src/VBox/VMM/testcase/tstVMStructRC.cpp /vbox/src/VBox/VMM/testcase/tstVMStructSize.cpp /vbox/src/VBox/VMM/testcase/tstX86-1A.asm