Introduced by QEMU 9.2.0 Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- src/cpu_map/index.xml | 1 + src/cpu_map/meson.build | 1 + src/cpu_map/x86_GraniteRapids-v2.xml | 206 ++++++++++++++++++ .../domaincapsdata/qemu_9.2.0-q35.x86_64.xml | 57 +++++ .../domaincapsdata/qemu_9.2.0-tcg.x86_64.xml | 47 ++++ tests/domaincapsdata/qemu_9.2.0.x86_64.xml | 57 +++++ 6 files changed, 369 insertions(+) create mode 100644 src/cpu_map/x86_GraniteRapids-v2.xml diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml index 8e74195312..dba2f21811 100644 --- a/src/cpu_map/index.xml +++ b/src/cpu_map/index.xml @@ -121,6 +121,7 @@ <include filename='x86_SapphireRapids-v3.xml'/> <include filename='x86_GraniteRapids.xml'/> <include filename='x86_GraniteRapids-v1.xml'/> + <include filename='x86_GraniteRapids-v2.xml'/> <include filename='x86_SierraForest.xml'/> <include filename='x86_SierraForest-v1.xml'/> <include filename='x86_Denverton.xml'/> diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build index fa7faa4016..9a1c048620 100644 --- a/src/cpu_map/meson.build +++ b/src/cpu_map/meson.build @@ -77,6 +77,7 @@ cpumap_data = [ 'x86_EPYC.xml', 'x86_features.xml', 'x86_GraniteRapids-v1.xml', + 'x86_GraniteRapids-v2.xml', 'x86_GraniteRapids.xml', 'x86_Haswell-IBRS.xml', 'x86_Haswell-noTSX-IBRS.xml', diff --git a/src/cpu_map/x86_GraniteRapids-v2.xml b/src/cpu_map/x86_GraniteRapids-v2.xml new file mode 100644 index 0000000000..855a43d4ad --- /dev/null +++ b/src/cpu_map/x86_GraniteRapids-v2.xml @@ -0,0 +1,206 @@ +<cpus> + <model name='GraniteRapids-v2'> + <decode host='on' guest='off'/> + <signature family='6' model='173'/> + <vendor name='Intel'/> + <feature name='3dnowprefetch'/> + <feature name='abm'/> + <feature name='adx'/> + <feature name='aes'/> + <feature name='amx-bf16'/> + <feature name='amx-fp16'/> + <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='avx10'/> + <feature name='avx10-128'/> + <feature name='avx10-256'/> + <feature name='avx10-512'/> + <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='mcdt-no'/> + <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='pbrsb-no'/> + <feature name='pcid'/> + <feature name='pclmuldq'/> + <feature name='pdpe1gb'/> + <feature name='pge'/> + <feature name='pku'/> + <feature name='pni'/> + <feature name='popcnt'/> + <feature name='prefetchiti'/> + <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_9.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml index 99445e5f44..d5db9af49e 100644 --- a/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.2.0-q35.x86_64.xml @@ -565,6 +565,63 @@ <feature name='xfd'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>GraniteRapids-v2</model> + <blockers model='GraniteRapids-v2'> + <feature name='amx-bf16'/> + <feature name='amx-fp16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='avx-vnni'/> + <feature name='avx10'/> + <feature name='avx10-128'/> + <feature name='avx10-256'/> + <feature name='avx10-512'/> + <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='mcdt-no'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pbrsb-no'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='prefetchiti'/> + <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='Haswell-v1'>Haswell</model> <blockers model='Haswell'> <feature name='erms'/> diff --git a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml index 8bf967c99f..7ccdc11412 100644 --- a/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.2.0-tcg.x86_64.xml @@ -733,6 +733,53 @@ <feature name='xsavec'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>GraniteRapids-v2</model> + <blockers model='GraniteRapids-v2'> + <feature name='amx-bf16'/> + <feature name='amx-fp16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='arch-capabilities'/> + <feature name='avx-vnni'/> + <feature name='avx10'/> + <feature name='avx10-128'/> + <feature name='avx10-256'/> + <feature name='avx10-512'/> + <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='mcdt-no'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pcid'/> + <feature name='prefetchiti'/> + <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='Haswell-v1'>Haswell</model> <blockers model='Haswell'> <feature name='hle'/> diff --git a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml index 40aa971144..05a5ce4bee 100644 --- a/tests/domaincapsdata/qemu_9.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.2.0.x86_64.xml @@ -564,6 +564,63 @@ <feature name='xfd'/> <feature name='xsaves'/> </blockers> + <model usable='no' vendor='Intel'>GraniteRapids-v2</model> + <blockers model='GraniteRapids-v2'> + <feature name='amx-bf16'/> + <feature name='amx-fp16'/> + <feature name='amx-int8'/> + <feature name='amx-tile'/> + <feature name='avx-vnni'/> + <feature name='avx10'/> + <feature name='avx10-128'/> + <feature name='avx10-256'/> + <feature name='avx10-512'/> + <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='mcdt-no'/> + <feature name='movdir64b'/> + <feature name='movdiri'/> + <feature name='pbrsb-no'/> + <feature name='pcid'/> + <feature name='pku'/> + <feature name='prefetchiti'/> + <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='Haswell-v1'>Haswell</model> <blockers model='Haswell'> <feature name='erms'/> -- 2.47.1