From: Jiri Denemark <jdenemar@redhat.com> Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/cpu_map/index.xml | 1 + src/cpu_map/meson.build | 1 + src/cpu_map/x86_SapphireRapids-v4.xml | 198 ++++++++++++++++++ .../domaincapsdata/qemu_10.1.0-q35.x86_64.xml | 50 +++++ .../domaincapsdata/qemu_10.1.0-tcg.x86_64.xml | 40 ++++ tests/domaincapsdata/qemu_10.1.0.x86_64.xml | 50 +++++ .../domaincapsdata/qemu_10.2.0-q35.x86_64.xml | 25 +++ .../domaincapsdata/qemu_10.2.0-tcg.x86_64.xml | 40 ++++ tests/domaincapsdata/qemu_10.2.0.x86_64.xml | 25 +++ 9 files changed, 430 insertions(+) create mode 100644 src/cpu_map/x86_SapphireRapids-v4.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index faa5c94407..4fa141138e 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -119,6 +119,7 @@ <include filename='x86_SapphireRapids-v1.xml'/> <include filename='x86_SapphireRapids-v2.xml'/> <include filename='x86_SapphireRapids-v3.xml'/> + <include filename='x86_SapphireRapids-v4.xml'/> <include filename='x86_GraniteRapids.xml'/> <include filename='x86_GraniteRapids-v1.xml'/> <include filename='x86_GraniteRapids-v2.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index f748ca4076..2cdfea379c 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -149,6 +149,7 @@ cpumap_data = [ 'x86_SapphireRapids-v1.xml', 'x86_SapphireRapids-v2.xml', 'x86_SapphireRapids-v3.xml', + 'x86_SapphireRapids-v4.xml', 'x86_SapphireRapids.xml', 'x86_SierraForest-v1.xml', 'x86_SierraForest-v2.xml', diff --git a/src/cpu_map/x86_SapphireRapids-v4.xml b/src/cpu_map/x86_SapphireRapids-v4.xml new file mode 100644 index 0000000000..d074db36ac --- /dev/null +++ b/src/cpu_map/x86_SapphireRapids-v4.xml @@ -0,0 +1,198 @@ +<cpus> + <model name='SapphireRapids-v4'> + <decode host='on' guest='off'/> + <signature family='6' model='143'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='apic'/> + <feature name='arat'/> + <feature name='arch-capabilities'/> + <feature name='avx'/> + <feature name='avx-vnni'/> + <feature name='avx2'/> + <feature name='avx512-bf16'/> + <feature name='avx512-fp16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bmi1'/> + <feature name='bmi2'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='clflush'/> + <feature name='clflushopt'/> + <feature name='clwb'/> + <feature name='cmov'/> + <feature name='cx16'/> + <feature name='cx8'/> + <feature name='de'/> + <feature name='erms'/> + <feature name='f16c'/> + <feature name='fbsdp-no'/> + <feature name='fma'/> + <feature name='fpu'/> + <feature name='fsgsbase'/> + <feature name='fsrc'/> + <feature name='fsrm'/> + <feature name='fsrs'/> + <feature name='fxsr'/> + <feature name='fzrm'/> + <feature name='gfni'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='lahf_lm'/> + <feature name='lm'/> + <feature name='mca'/> + <feature name='mce'/> + <feature name='mds-no'/> + <feature name='mmx'/> + <feature name='movbe'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='msr'/> + <feature name='mtrr'/> + <feature name='nx'/> + <feature name='pae'/> + <feature name='pat'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='pschange-mc-no'/> + <feature name='psdp-no'/> + <feature name='pse'/> + <feature name='pse36'/> + <feature name='rdctl-no'/> + <feature name='rdpid'/> + <feature name='rdrand'/> + <feature name='rdseed'/> + <feature name='rdtscp'/> + <feature name='rtm'/> + <feature name='sbdr-ssdp-no'/> + <feature name='sep'/> + <feature name='serialize'/> + <feature name='sha-ni'/> + <feature name='skip-l1dfl-vmentry'/> + <feature name='smap'/> + <feature name='smep'/> + <feature name='spec-ctrl'/> + <feature name='ss'/> + <feature name='ssbd'/> + <feature name='sse'/> + <feature name='sse2'/> + <feature name='sse4.1'/> + <feature name='sse4.2'/> + <feature name='ssse3'/> + <feature name='syscall'/> + <feature name='taa-no'/> + <feature name='tsc'/> + <feature name='tsc-deadline'/> + <feature name='tsc_adjust'/> + <feature name='tsx-ldtrk'/> + <feature name='umip'/> + <feature name='vaes'/> + <feature name='vme'/> + <feature name='vmx-activity-hlt'/> + <feature name='vmx-apicv-register'/> + <feature name='vmx-apicv-vid'/> + <feature name='vmx-apicv-x2apic'/> + <feature name='vmx-apicv-xapic'/> + <feature name='vmx-cr3-load-noexit'/> + <feature name='vmx-cr3-store-noexit'/> + <feature name='vmx-cr8-load-exit'/> + <feature name='vmx-cr8-store-exit'/> + <feature name='vmx-desc-exit'/> + <feature name='vmx-entry-ia32e-mode'/> + <feature name='vmx-entry-load-efer'/> + <feature name='vmx-entry-load-pat'/> + <feature name='vmx-entry-load-perf-global-ctrl'/> + <feature name='vmx-entry-noload-debugctl'/> + <feature name='vmx-ept'/> + <feature name='vmx-ept-1gb'/> + <feature name='vmx-ept-2mb'/> + <feature name='vmx-ept-execonly'/> + <feature name='vmx-eptad'/> + <feature name='vmx-eptp-switching'/> + <feature name='vmx-exit-ack-intr'/> + <feature name='vmx-exit-load-efer'/> + <feature name='vmx-exit-load-pat'/> + <feature name='vmx-exit-load-perf-global-ctrl'/> + <feature name='vmx-exit-nosave-debugctl'/> + <feature name='vmx-exit-save-efer'/> + <feature name='vmx-exit-save-pat'/> + <feature name='vmx-exit-save-preemption-timer'/> + <feature name='vmx-flexpriority'/> + <feature name='vmx-hlt-exit'/> + <feature name='vmx-ins-outs'/> + <feature name='vmx-intr-exit'/> + <feature name='vmx-invept'/> + <feature name='vmx-invept-all-context'/> + <feature name='vmx-invept-single-context'/> + <feature name='vmx-invlpg-exit'/> + <feature name='vmx-invpcid-exit'/> + <feature name='vmx-invvpid-all-context'/> + <feature name='vmx-invvpid-single-addr'/> + <feature name='vmx-invvpid-single-context-noglobals'/> + <feature name='vmx-io-bitmap'/> + <feature name='vmx-io-exit'/> + <feature name='vmx-monitor-exit'/> + <feature name='vmx-movdr-exit'/> + <feature name='vmx-msr-bitmap'/> + <feature name='vmx-mtf'/> + <feature name='vmx-mwait-exit'/> + <feature name='vmx-nmi-exit'/> + <feature name='vmx-page-walk-4'/> + <feature name='vmx-page-walk-5'/> + <feature name='vmx-pause-exit'/> + <feature name='vmx-pml'/> + <feature name='vmx-posted-intr'/> + <feature name='vmx-preemption-timer'/> + <feature name='vmx-rdpmc-exit'/> + <feature name='vmx-rdrand-exit'/> + <feature name='vmx-rdseed-exit'/> + <feature name='vmx-rdtsc-exit'/> + <feature name='vmx-rdtscp-exit'/> + <feature name='vmx-secondary-ctls'/> + <feature name='vmx-shadow-vmcs'/> + <feature name='vmx-store-lma'/> + <feature name='vmx-true-ctls'/> + <feature name='vmx-tsc-offset'/> + <feature name='vmx-unrestricted-guest'/> + <feature name='vmx-vintr-pending'/> + <feature name='vmx-vmfunc'/> + <feature name='vmx-vmwrite-vmexit-fields'/> + <feature name='vmx-vnmi'/> + <feature name='vmx-vnmi-pending'/> + <feature name='vmx-vpid'/> + <feature name='vmx-wbinvd-exit'/> + <feature name='vmx-xsaves'/> + <feature name='vpclmulqdq'/> + <feature name='wbnoinvd'/> + <feature name='x2apic'/> + <feature name='xfd'/> + <feature name='xgetbv1'/> + <feature name='xsave'/> + <feature name='xsavec'/> + <feature name='xsaveopt'/> + <feature name='xsaves'/> + </model> +</cpus> diff --git a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml index defa2fb135..e5caab9b29 100644 --- a/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0-q35.x86_64.xml @@ -1195,6 +1195,56 @@ <feature name='xfd'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>SapphireRapids-v4</model> + <blockers model='SapphireRapids-v4'> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='arch-capabilities'/> + <feature name='avx-vnni'/> + <feature name='avx512-bf16'/> + <feature name='avx512-fp16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='erms'/> + <feature name='fbsdp-no'/> + <feature name='fsrc'/> + <feature name='fsrm'/> + <feature name='fsrs'/> + <feature name='fzrm'/> + <feature name='gfni'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='psdp-no'/> + <feature name='rtm'/> + <feature name='sbdr-ssdp-no'/> + <feature name='serialize'/> + <feature name='spec-ctrl'/> + <feature name='ss'/> + <feature name='taa-no'/> + <feature name='tsx-ldtrk'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xfd'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model> <blockers model='SierraForest'> <feature name='arch-capabilities'/> diff --git a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml index 704d75f3cd..c5034b89b7 100644 --- a/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0-tcg.x86_64.xml @@ -1304,6 +1304,46 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>SapphireRapids-v4</model> + <blockers model='SapphireRapids-v4'> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='arch-capabilities'/> + <feature name='avx-vnni'/> + <feature name='avx512-bf16'/> + <feature name='avx512-fp16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='gfni'/> + <feature name='hle'/> + <feature name='invpcid'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pcid'/> + <feature name='rtm'/> + <feature name='serialize'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='tsc-deadline'/> + <feature name='tsc_adjust'/> + <feature name='tsx-ldtrk'/> + <feature name='vpclmulqdq'/> + <feature name='xfd'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model> <blockers model='SierraForest'> <feature name='arch-capabilities'/> diff --git a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml index 564cc09a2e..b099ffb1e4 100644 --- a/tests/domaincapsdata/qemu_10.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.1.0.x86_64.xml @@ -1194,6 +1194,56 @@ <feature name='xfd'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>SapphireRapids-v4</model> + <blockers model='SapphireRapids-v4'> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='arch-capabilities'/> + <feature name='avx-vnni'/> + <feature name='avx512-bf16'/> + <feature name='avx512-fp16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='erms'/> + <feature name='fbsdp-no'/> + <feature name='fsrc'/> + <feature name='fsrm'/> + <feature name='fsrs'/> + <feature name='fzrm'/> + <feature name='gfni'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='invpcid'/> + <feature name='la57'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='psdp-no'/> + <feature name='rtm'/> + <feature name='sbdr-ssdp-no'/> + <feature name='serialize'/> + <feature name='spec-ctrl'/> + <feature name='ss'/> + <feature name='taa-no'/> + <feature name='tsx-ldtrk'/> + <feature name='vaes'/> + <feature name='vpclmulqdq'/> + <feature name='xfd'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model> <blockers model='SierraForest'> <feature name='arch-capabilities'/> diff --git a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml index 36226b98f0..7346fc68f5 100644 --- a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml @@ -568,6 +568,31 @@ <feature name='tsx-ldtrk'/> <feature name='xfd'/> </blockers> + <model usable='no' vendor='Intel'>SapphireRapids-v4</model> + <blockers model='SapphireRapids-v4'> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='avx512-fp16'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='fbsdp-no'/> + <feature name='fsrc'/> + <feature name='fsrs'/> + <feature name='fzrm'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='la57'/> + <feature name='pcid'/> + <feature name='psdp-no'/> + <feature name='rtm'/> + <feature name='sbdr-ssdp-no'/> + <feature name='serialize'/> + <feature name='ss'/> + <feature name='taa-no'/> + <feature name='tsx-ldtrk'/> + <feature name='xfd'/> + </blockers> <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model> <blockers model='SierraForest'> <feature name='avx-ifma'/> diff --git a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml index 70e8b75e8a..7258fd0f22 100644 --- a/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-tcg.x86_64.xml @@ -1304,6 +1304,46 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>SapphireRapids-v4</model> + <blockers model='SapphireRapids-v4'> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='arch-capabilities'/> + <feature name='avx-vnni'/> + <feature name='avx512-bf16'/> + <feature name='avx512-fp16'/> + <feature name='avx512-vpopcntdq'/> + <feature name='avx512bitalg'/> + <feature name='avx512bw'/> + <feature name='avx512cd'/> + <feature name='avx512dq'/> + <feature name='avx512f'/> + <feature name='avx512ifma'/> + <feature name='avx512vbmi'/> + <feature name='avx512vbmi2'/> + <feature name='avx512vl'/> + <feature name='avx512vnni'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='gfni'/> + <feature name='hle'/> + <feature name='invpcid'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pcid'/> + <feature name='rtm'/> + <feature name='serialize'/> + <feature name='spec-ctrl'/> + <feature name='ssbd'/> + <feature name='tsc-deadline'/> + <feature name='tsc_adjust'/> + <feature name='tsx-ldtrk'/> + <feature name='vpclmulqdq'/> + <feature name='xfd'/> + <feature name='xsavec'/> + <feature name='xsaves'/> + </blockers> <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model> <blockers model='SierraForest'> <feature name='arch-capabilities'/> diff --git a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml index 2e28c50303..61459b8c74 100644 --- a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml @@ -567,6 +567,31 @@ <feature name='tsx-ldtrk'/> <feature name='xfd'/> </blockers> + <model usable='no' vendor='Intel'>SapphireRapids-v4</model> + <blockers model='SapphireRapids-v4'> + <feature name='amx-bf16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='avx512-fp16'/> + <feature name='bus-lock-detect'/> + <feature name='cldemote'/> + <feature name='fbsdp-no'/> + <feature name='fsrc'/> + <feature name='fsrs'/> + <feature name='fzrm'/> + <feature name='hle'/> + <feature name='ibrs-all'/> + <feature name='la57'/> + <feature name='pcid'/> + <feature name='psdp-no'/> + <feature name='rtm'/> + <feature name='sbdr-ssdp-no'/> + <feature name='serialize'/> + <feature name='ss'/> + <feature name='taa-no'/> + <feature name='tsx-ldtrk'/> + <feature name='xfd'/> + </blockers> <model usable='no' vendor='Intel' canonical='SierraForest-v1'>SierraForest</model> <blockers model='SierraForest'> <feature name='avx-ifma'/> -- 2.51.0