[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 26/63] target/i386: Introduce Icelake-Server-v7 to enable TSX
|
From: |
Paolo Bonzini |
|
Subject: |
[PULL 26/63] target/i386: Introduce Icelake-Server-v7 to enable TSX |
|
Date: |
Tue, 23 Apr 2024 17:09:14 +0200 |
From: Zhenzhong Duan <zhenzhong.duan@intel.com>
When start L2 guest with both L1/L2 using Icelake-Server-v3 or above,
QEMU reports below warning:
"warning: host doesn't support requested feature: MSR(10AH).taa-no [bit 8]"
Reason is QEMU Icelake-Server-v3 has TSX feature disabled but enables taa-no
bit. It's meaningless that TSX isn't supported but still claim TSX is secure.
So L1 KVM doesn't expose taa-no to L2 if TSX is unsupported, then starting L2
triggers the warning.
Fix it by introducing a new version Icelake-Server-v7 which has both TSX
and taa-no features. Then guest can use TSX securely when it see taa-no.
This matches the production Icelake which supports TSX and isn't susceptible
to TSX Async Abort (TAA) vulnerabilities, a.k.a, taa-no.
Ideally, TSX should have being enabled together with taa-no since v3, but for
compatibility, we'd better to add v7 to enable it.
Fixes: d965dc35592d ("target/i386: Add ARCH_CAPABILITIES related bits into
Icelake-Server CPU model")
Tested-by: Xiangfei Ma <xiangfeix.ma@intel.com>
Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-ID: <20240320093138.80267-2-zhenzhong.duan@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
target/i386/cpu.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index eef3d08473e..3f4b1214683 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -3822,6 +3822,16 @@ static const X86CPUDefinition builtin_x86_defs[] = {
{ /* end of list */ }
},
},
+ {
+ .version = 7,
+ .note = "TSX, taa-no",
+ .props = (PropValue[]) {
+ /* Restore TSX features removed by -v2 above */
+ { "hle", "on" },
+ { "rtm", "on" },
+ { /* end of list */ }
+ },
+ },
{ /* end of list */ }
}
},
--
2.44.0
- [PULL 49/63] RAMBlock: Add support of KVM private guest memfd, (continued)
- [PULL 49/63] RAMBlock: Add support of KVM private guest memfd, Paolo Bonzini, 2024/04/23
- [PULL 51/63] kvm/memory: Make memory type private by default if it has guest memfd backend, Paolo Bonzini, 2024/04/23
- [PULL 62/63] pythondeps.toml: warn about updates needed to docs/requirements.txt, Paolo Bonzini, 2024/04/23
- [PULL 52/63] HostMem: Add mechanism to opt in kvm guest memfd via MachineState, Paolo Bonzini, 2024/04/23
- [PULL 57/63] kvm/tdx: Ignore memory conversion to shared of unassigned region, Paolo Bonzini, 2024/04/23
- [PULL 31/63] hw/i386/acpi: Set PCAT_COMPAT bit only when pic is not disabled, Paolo Bonzini, 2024/04/23
- [PULL 40/63] KVM: track whether guest state is encrypted, Paolo Bonzini, 2024/04/23
- [PULL 47/63] trace/kvm: Split address space and slot id in trace_kvm_set_user_memory(), Paolo Bonzini, 2024/04/23
- [PULL 18/63] stubs: move monitor_fdsets_cleanup with other fdset stubs, Paolo Bonzini, 2024/04/23
- [PULL 16/63] stubs: split record/replay stubs further, Paolo Bonzini, 2024/04/23
- [PULL 26/63] target/i386: Introduce Icelake-Server-v7 to enable TSX,
Paolo Bonzini <=
- [PULL 28/63] target/i386: Export RFDS bit to guests, Paolo Bonzini, 2024/04/23
- [PULL 35/63] s390: Switch to use confidential_guest_kvm_init(), Paolo Bonzini, 2024/04/23
- [PULL 43/63] target/i386: Implement mc->kvm_type() to get VM type, Paolo Bonzini, 2024/04/23
- [PULL 61/63] accel/tcg/icount-common: Consolidate the use of warn_report_once(), Paolo Bonzini, 2024/04/23
- [PULL 59/63] target/i386/cpu: Consolidate the use of warn_report_once(), Paolo Bonzini, 2024/04/23
- [PULL 06/63] util/qemu-config: Extract QMP commands to qemu-config-qmp.c, Paolo Bonzini, 2024/04/23
- [PULL 20/63] vga: move dirty memory region code together, Paolo Bonzini, 2024/04/23
- [PULL 23/63] target/i386: add guest-phys-bits cpu property, Paolo Bonzini, 2024/04/23
- [PULL 25/63] i386/kvm: Move architectural CPUID leaf generation to separate helper, Paolo Bonzini, 2024/04/23