[siemens/jailhouse] d5086e: x86: Remove VMEXIT_XSETBV handling from svm

2 views
Skip to first unread message

GitHub

unread,
Aug 24, 2016, 12:10:05 PM8/24/16
to jailho...@googlegroups.com
Branch: refs/heads/next
Home: https://github.com/siemens/jailhouse
Commit: d5086e8783c22ea40c1cf0cd9ecc86ac99d96a62
https://github.com/siemens/jailhouse/commit/d5086e8783c22ea40c1cf0cd9ecc86ac99d96a62
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-08-24 (Wed, 24 Aug 2016)

Changed paths:
M hypervisor/arch/x86/svm.c

Log Message:
-----------
x86: Remove VMEXIT_XSETBV handling from svm

We do not intercept xsetbv on AMD - and we don't need to. Thus there is
no need to handle related VM exits.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>


Commit: 4a4d5ce4a4d70d0a0dd1cb33b4991699d8391415
https://github.com/siemens/jailhouse/commit/4a4d5ce4a4d70d0a0dd1cb33b4991699d8391415
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-08-24 (Wed, 24 Aug 2016)

Changed paths:
M hypervisor/arch/x86/include/asm/vcpu.h
M hypervisor/arch/x86/vcpu.c
M hypervisor/arch/x86/vmx.c

Log Message:
-----------
x86: Make vcpu_handle_xsetbv vmx-private

It is only used by Intel, no on AMD CPUs.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>


Commit: fa522e847ec6dfa157dd3131509196f1610734c6
https://github.com/siemens/jailhouse/commit/fa522e847ec6dfa157dd3131509196f1610734c6
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-08-24 (Wed, 24 Aug 2016)

Changed paths:
M hypervisor/arch/x86/include/asm/vcpu.h
M hypervisor/arch/x86/svm.c
M hypervisor/arch/x86/vmx.c

Log Message:
-----------
x86: Introduce vcpu_vendor_get_guest_cr4

This will be used to generate correct cpuid.01h results.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>


Commit: a5470f504a61395bcc5014a7e882dea7c058bf13
https://github.com/siemens/jailhouse/commit/a5470f504a61395bcc5014a7e882dea7c058bf13
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-08-24 (Wed, 24 Aug 2016)

Changed paths:
M hypervisor/arch/x86/vmx.c

Log Message:
-----------
x86: Only execute xsetbv if actually enabled in the guest

Only perform xsetbv on behalf of the guest if it actually has it
enabled.

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>


Commit: dc46e4c322ef3d2417da553bf0f86c0d46a11ec8
https://github.com/siemens/jailhouse/commit/dc46e4c322ef3d2417da553bf0f86c0d46a11ec8
Author: Jan Kiszka <jan.k...@siemens.com>
Date: 2016-08-24 (Wed, 24 Aug 2016)

Changed paths:
M hypervisor/arch/x86/include/asm/processor.h
M hypervisor/arch/x86/vcpu.c

Log Message:
-----------
x86: Fix cpuid.01h results regarding OSXSAVE

As we execute cpuid in the host on behalf of the guest, we have to
derive the OSXSAVE feature bit from the guest state of CR4 which
controls the availability of this while the guest is running.

Currently, if XSAVE is available and Jailhouse enables OSXSAVE for
itself in CR4, we always report it as set to the guest as well, causing
crashes or root cell applications that check for the availability via
cpuid and then run xgetbv.

Reported-by: Swaraj Dube <swara...@intel.com>
Signed-off-by: Jan Kiszka <jan.k...@siemens.com>


Compare: https://github.com/siemens/jailhouse/compare/3558c6531848...dc46e4c322ef
Reply all
Reply to author
Forward
0 new messages