Accepting request 528316 from Virtualization

- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
* Patches added:
  0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
- For SLE15 pre-release testing, add support for the EPYC processor.
  This will be officially supported once it is included in the v2.11
  release. (bsc#1052825)
  0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
- Fix some support statements in our SLE support documents.
- For SLE15 pre-release testing, add support for the EPYC processor.
  This will be officially supported once it is included in the v2.11
  release. (bsc#1052825)
  0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
- Fix some support statements in our SLE support documents.

OBS-URL: https://build.opensuse.org/request/show/528316
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qemu?expand=0&rev=128
This commit is contained in:
Dominique Leuenberger 2017-09-25 11:50:52 +00:00 committed by Git OBS Bridge
commit c87acfb845
11 changed files with 142 additions and 30 deletions

View File

@ -0,0 +1,86 @@
From 80810a703935dee520096b7cda635189472c755b Mon Sep 17 00:00:00 2001
From: Brijesh Singh <brijesh.singh@amd.com>
Date: Tue, 15 Aug 2017 12:00:51 -0500
Subject: [PATCH] target-i386/cpu: Add new EPYC CPU model
Add a new base CPU model called 'EPYC' to model processors from AMD EPYC
family (which includes EPYC 76xx,75xx,74xx, 73xx and 72xx).
The following features bits have been added/removed compare to Opteron_G5
Added: monitor, movbe, rdrand, mmxext, ffxsr, rdtscp, cr8legacy, osvw,
fsgsbase, bmi1, avx2, smep, bmi2, rdseed, adx, smap, clfshopt, sha
xsaveopt, xsavec, xgetbv1, arat
Removed: xop, fma4, tbm
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Tom Lendacky <Thomas.Lendacky@amd.com>
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Message-Id: <20170815170051.127257-1-brijesh.singh@amd.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
(cherry picked from commit 2e2efc7dbe2b0adc1200b5aa286cdbed729f6751)
[BR: BSC#1052825]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
target/i386/cpu.c | 44 ++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index ddc45abd70..6617e01a72 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -1522,6 +1522,50 @@ static X86CPUDefinition builtin_x86_defs[] = {
.xlevel = 0x8000001A,
.model_id = "AMD Opteron 63xx class CPU",
},
+ {
+ .name = "EPYC",
+ .level = 0xd,
+ .vendor = CPUID_VENDOR_AMD,
+ .family = 23,
+ .model = 1,
+ .stepping = 2,
+ .features[FEAT_1_EDX] =
+ CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | CPUID_CLFLUSH |
+ CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUID_MCA | CPUID_PGE |
+ CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8 | CPUID_MCE |
+ CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | CPUID_DE |
+ CPUID_VME | CPUID_FP87,
+ .features[FEAT_1_ECX] =
+ CPUID_EXT_RDRAND | CPUID_EXT_F16C | CPUID_EXT_AVX |
+ CPUID_EXT_XSAVE | CPUID_EXT_AES | CPUID_EXT_POPCNT |
+ CPUID_EXT_MOVBE | CPUID_EXT_SSE42 | CPUID_EXT_SSE41 |
+ CPUID_EXT_CX16 | CPUID_EXT_FMA | CPUID_EXT_SSSE3 |
+ CPUID_EXT_MONITOR | CPUID_EXT_PCLMULQDQ | CPUID_EXT_SSE3,
+ .features[FEAT_8000_0001_EDX] =
+ CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_PDPE1GB |
+ CPUID_EXT2_FFXSR | CPUID_EXT2_MMXEXT | CPUID_EXT2_NX |
+ CPUID_EXT2_SYSCALL,
+ .features[FEAT_8000_0001_ECX] =
+ CPUID_EXT3_OSVW | CPUID_EXT3_3DNOWPREFETCH |
+ CPUID_EXT3_MISALIGNSSE | CPUID_EXT3_SSE4A | CPUID_EXT3_ABM |
+ CPUID_EXT3_CR8LEG | CPUID_EXT3_SVM | CPUID_EXT3_LAHF_LM,
+ .features[FEAT_7_0_EBX] =
+ CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | CPUID_7_0_EBX_AVX2 |
+ CPUID_7_0_EBX_SMEP | CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_RDSEED |
+ CPUID_7_0_EBX_ADX | CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_CLFLUSHOPT |
+ CPUID_7_0_EBX_SHA_NI,
+ /* Missing: XSAVES (not supported by some Linux versions,
+ * including v4.1 to v4.12).
+ * KVM doesn't yet expose any XSAVES state save component.
+ */
+ .features[FEAT_XSAVE] =
+ CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XSAVEC |
+ CPUID_XSAVE_XGETBV1,
+ .features[FEAT_6_EAX] =
+ CPUID_6_EAX_ARAT,
+ .xlevel = 0x8000000A,
+ .model_id = "AMD EPYC Processor",
+ },
};
typedef struct PropValue {

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Thu Sep 21 21:41:08 UTC 2017 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.10
* Patches added:
0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
-------------------------------------------------------------------
Thu Aug 31 18:48:32 UTC 2017 - brogers@suse.com

View File

@ -61,6 +61,7 @@ Patch0032: 0032-tests-Add-QOM-property-unit-tests.patch
Patch0033: 0033-tests-Add-scsi-disk-test.patch
Patch0034: 0034-slirp-fix-clearing-ifq_so-from-pend.patch
Patch0035: 0035-s390-ccw-Fix-alignment-for-CCW1.patch
Patch0036: 0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
Source400: update_git.sh
@ -149,6 +150,7 @@ run cross-architecture builds.
%patch0033 -p1
%patch0034 -p1
%patch0035 -p1
%patch0036 -p1
%build
./configure \

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Sep 21 21:41:05 UTC 2017 - brogers@suse.com
- For SLE15 pre-release testing, add support for the EPYC processor.
This will be officially supported once it is included in the v2.11
release. (bsc#1052825)
0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
- Fix some support statements in our SLE support documents.
-------------------------------------------------------------------
Thu Aug 31 18:48:22 UTC 2017 - brogers@suse.com

View File

@ -167,6 +167,7 @@ Patch0032: 0032-tests-Add-QOM-property-unit-tests.patch
Patch0033: 0033-tests-Add-scsi-disk-test.patch
Patch0034: 0034-slirp-fix-clearing-ifq_so-from-pend.patch
Patch0035: 0035-s390-ccw-Fix-alignment-for-CCW1.patch
Patch0036: 0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -851,6 +852,7 @@ This package provides a service file for starting and stopping KSM.
%patch0033 -p1
%patch0034 -p1
%patch0035 -p1
%patch0036 -p1
pushd roms/ipxe
%patch1100 -p1

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Thu Sep 21 21:41:05 UTC 2017 - brogers@suse.com
- For SLE15 pre-release testing, add support for the EPYC processor.
This will be officially supported once it is included in the v2.11
release. (bsc#1052825)
0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
- Fix some support statements in our SLE support documents.
-------------------------------------------------------------------
Thu Aug 31 18:48:22 UTC 2017 - brogers@suse.com

View File

@ -167,6 +167,7 @@ Patch0032: 0032-tests-Add-QOM-property-unit-tests.patch
Patch0033: 0033-tests-Add-scsi-disk-test.patch
Patch0034: 0034-slirp-fix-clearing-ifq_so-from-pend.patch
Patch0035: 0035-s390-ccw-Fix-alignment-for-CCW1.patch
Patch0036: 0036-target-i386-cpu-Add-new-EPYC-CPU-mo.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -851,6 +852,7 @@ This package provides a service file for starting and stopping KSM.
%patch0033 -p1
%patch0034 -p1
%patch0035 -p1
%patch0036 -p1
pushd roms/ipxe
%patch1100 -p1

View File

@ -11,11 +11,11 @@ Overview
virtualization features as well. This document was created to assist the user
in deciding which features can be relied upon to build enterprise class
virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64),
for IBM System z (s390x) and for the ARM64 architecture (AArch64) are offered
at the L3 (full support) level. The bulk of this document deals with L3
supported features and is primarily ARM64 centric. This document should be
considered a companion to the standard virtualization documentation delivered
with the product.
for IBM System z (s390x), for Power8 Systems (ppc64le) and for the ARM64
architecture (AArch64) are offered at the L3 (full support) level. The bulk
of this document deals with L3 supported features and is primarily ARM64
centric. This document should be considered a companion to the standard
virtualization documentation delivered with the product.
KVM is implemented in linux kernel modules which enable the linux kernel to
function as an integral part of the KVM hypervisor. The hypervisor-guest

View File

@ -5,22 +5,17 @@ SLES 12 SP3 QEMU/KVM RELATED SUPPORT STATEMENTS
Overview
--------
QEMU/KVM on ppc is in Tech Preview status on an OpenPower S822LC host,
otherwise, it is not supported. Usage of the word support or supported in this
document indicates "intended" support if and when support changes to level 3
support (L3).
The QEMU based packages included with SLES 12 SP3 provide a large variety of
The QEMU based packages included with SLES 15 provide a large variety of
features, from the very latest customer requests to features of questionable
quality or value. The linux kernel includes components which contribute KVM
virtualization features as well. This document was created to assist the user
in deciding which features can be relied upon to build enterprise class
virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64),
for IBM System z (s390x) and for the ARM64 architecture (AArch64) are offered
at the L3 (full support) level. The bulk of this document deals with intended
supported features and is primarily ppc centric. This document should be
considered a companion to the standard virtualization documentation delivered
with the product.
for IBM System z (s390x), for Power8 Systems (ppc64le) and for the ARM64
architecture (AArch64) are offered at the L3 (full support) level. The bulk
of this document deals with L3 supported features and is primarily Power8
centric. This document should be considered a companion to the standard
virtualization documentation delivered with the product.
KVM is implemented in linux kernel modules which enable the linux kernel to
function as an integral part of the KVM hypervisor. The hypervisor-guest

View File

@ -11,11 +11,11 @@ Overview
virtualization features as well. This document was created to assist the user
in deciding which features can be relied upon to build enterprise class
virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64),
for IBM System z (s390x) and for the ARM64 architecture (AArch64) are offered
at the L3 (full support) level. The bulk of this document deals with L3
supported features and is primarily s390x centric. This document should be
considered a companion to the standard virtualization documentation delivered
with the product.
for IBM System z (s390x), for Power8 Systems (ppc64le) and for the ARM64
architecture (AArch64) are offered at the L3 (full support) level. The bulk
of this document deals with L3 supported features and is primarily s390x
centric. This document should be considered a companion to the standard
virtualization documentation delivered with the product.
KVM is implemented in linux kernel modules which enable the linux kernel to
function as an integral part of the KVM hypervisor. The hypervisor-guest
@ -58,7 +58,7 @@ Major QEMU/KVM Supported Features
Since a KVM guest runs in the context of a normal linux process, some types
of execution controls are managed with linux tools.
- QEMU incorporates virtualized, 390 specific, ccw bus based firmware for
- QEMU incorporates virtualized, s390 specific, ccw bus based firmware for
booting s390 guests. This firmware is automatically incorporated and
doesn't need to be explicitly referenced.
@ -225,7 +225,7 @@ QEMU Command-Line and Monitor Syntax and Support
-device [virtio-net-pci|virtio-blk-pci|virtio-balloon-pci|virtserialport|
virtconsole|virtio-serial-pci|virtio-scsi-pci|scsi-cd|scsi-hd|
scsi-generic|scsi-disk|scsi-block|virtio-rng-pci|pci-bridge|
megasas-gen2|e1000e|e1000]
megasas-gen2|e1000e|e1000|zpci]
(the following are aliases of these supported devices: virtio-blk|
virtio-net|virtio-serial|virtio-balloon|virtio-scsi|virtio-rng)
-dfilter range, ...
@ -549,11 +549,11 @@ QEMU Command-Line and Monitor Syntax and Support
z9BC-base-s390-cpu|z9BC-s390-cpu|z9EC.2-base-s390-cpu|z9EC.2-s390-cpu|
z9EC.3-base-s390-cpu|z9EC.3-s390-cpu|z9EC-base-s390-cpu|z9EC-s390-cpu|
zBC12-base-s390-cpu|zBC12-s390-cpu|zEC12.2-base-s390-cpu|
zEC12.2-s390-cpu|zEC12-base-s390-cpu|zEC12-s390-cpu|zpci|vmgenid|
zEC12.2-s390-cpu|zEC12-base-s390-cpu|zEC12-s390-cpu|vmgenid|
vhost-user-scsi|vhost-user-scsi-pci|mmio_interface]
(the following are aliases of these unsupported devices: lsi|
virtio-input-host|virtio-keyboard|virtio-mouse|virtio-tablet|
virtio-gpu|virtio-9p|pci-assign|ahci|e1000-82540em)
virtio-gpu|virtio-9p|pci-assign|ahci|e1000-82540em|vfio-ccw)
(note that some of these device names represent supported devices and
are used internally, but are not specifyable via -device even though
they appear in the list of devices)

View File

@ -11,11 +11,11 @@ Overview
virtualization features as well. This document was created to assist the user
in deciding which features can be relied upon to build enterprise class
virtualization solutions. KVM based virtualization for x86 (Intel 64/AMD64),
for IBM System z (s390x) and for the ARM64 architecture (AArch64) are offered
at the L3 (full support) level. The bulk of this document deals with L3
supported features and is primarily x86 centric. This document should be
considered a companion to the standard virtualization documentation delivered
with the product.
for IBM System z (s390x), for Power8 Systems (ppc64le) and for the ARM64
architecture (AArch64) are offered at the L3 (full support) level. The bulk
of this document deals with L3 supported features and is primarily x86
centric. This document should be considered a companion to the standard
virtualization documentation delivered with the product.
KVM is implemented in linux kernel modules which enable the linux kernel to
function as an integral part of the KVM hypervisor. The hypervisor-guest