]> git.ipfire.org Git - thirdparty/libvirt.git/commit
cpu_map: Add more -noTSX x86 CPU models
authorChristian Ehrhardt <christian.ehrhardt@canonical.com>
Tue, 10 Mar 2020 10:48:06 +0000 (11:48 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 25 Mar 2020 21:27:39 +0000 (22:27 +0100)
commitdd17a4eba8618aeb0144f268f2222f65a85425fc
treef5faad54d4597b33eafa6936317d2303680f7599
parent79736aaa98190fbfab4d02dfc05a8b2faa6ec731
cpu_map: Add more -noTSX x86 CPU models

One of the mitigation methods for TAA[1] is to disable TSX
support on the host system.  Linux added a mechanism to disable
TSX globally through the kernel command line, and many Linux
distributions now default to tsx=off.  This makes existing CPU
models that have HLE and RTM enabled not usable anymore.

Add new versions of all CPU models that have the HLE and RTM
features enabled, that can be used when TSX is disabled in the
host system.

On systems disabling the features without those types defined
in cpu-maps users end up without modern CPU types in the list
of usable CPUs to use in the likes of virsh domcapabilities
or tools higher in the stack like virt-manager.

This adds:
-Cascadelake-Server-noTSX
-Icelake-Client-noTSX
-Icelake-Server-noTSX
-Skylake-Server-noTSX-IBRS
-Skylake-Client-noTSX-IBRS

Introduced in QEMU by commit v4.2.0-rc2-3-g9ab2237f19 (function)
                  and commit v4.2.0-rc2-4-g02fa60d101 (names)

References:

    [1] TAA, TSX asynchronous Abort:
        https://software.intel.com/security-software-guidance/insights/deep-dive-intel-transactional-synchronization-extensions-intel-tsx-asynchronous-abort
        https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html

Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1853200
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Message-Id: <20200310104806.2723-2-christian.ehrhardt@canonical.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
16 files changed:
src/cpu_map/Makefile.inc.am
src/cpu_map/index.xml
src/cpu_map/x86_Cascadelake-Server-noTSX.xml [new file with mode: 0644]
src/cpu_map/x86_Icelake-Client-noTSX.xml [new file with mode: 0644]
src/cpu_map/x86_Icelake-Server-noTSX.xml [new file with mode: 0644]
src/cpu_map/x86_Skylake-Client-noTSX-IBRS.xml [new file with mode: 0644]
src/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml [new file with mode: 0644]
tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml
tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml
tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml
tests/domaincapsdata/qemu_4.2.0.x86_64.xml
tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml
tests/domaincapsdata/qemu_5.0.0.x86_64.xml