Accepting request 587591 from Virtualization

A smattering of bug fixes.

OBS-URL: https://build.opensuse.org/request/show/587591
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/qemu?expand=0&rev=137
This commit is contained in:
Dominique Leuenberger 2018-03-24 15:04:27 +00:00 committed by Git OBS Bridge
commit e51132434d
15 changed files with 591 additions and 46 deletions

View File

@ -1,37 +0,0 @@
From 4e5e2c853977dc27ddab5937e55d181e7f1b5d2a Mon Sep 17 00:00:00 2001
From: Bruce Rogers <brogers@suse.com>
Date: Thu, 22 Feb 2018 04:48:07 -0700
Subject: [PATCH] i386: Compensate for KVM SPEC_CTRL feature availability bug
As we move away from the quick and dirty qemu solution for
Spectre v2, it was found that KVM wasn't reporting the SPEC_CTRL
feature when it in fact was present due to microcode update.
This patch compensates for that bug by checking for the feature
in QEMU code (like the quick and dirty solution did), instead of
simply relying on KVM for that information.
[BR: BSC#1082276]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
target/i386/cpu.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index a7e27f3bbf..5c34175f3f 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -2824,6 +2824,14 @@ static uint32_t x86_cpu_get_supported_feature_word(FeatureWord w,
r = kvm_arch_get_supported_cpuid(kvm_state, wi->cpuid_eax,
wi->cpuid_ecx,
wi->cpuid_reg);
+ // BUG!!! We need to compensate for a KVM bug where it doesn't
+ // correctly report support for IBRS (bsc#1082276)
+ if (w == FEAT_7_0_EDX) {
+ uint32_t edx;
+ host_cpuid(7, 0, NULL, NULL, NULL, &edx);
+#define CPUID_7_0_EDX_PRED_CMD (1U << 27)
+ r |= edx & (CPUID_7_0_EDX_SPEC_CTRL | CPUID_7_0_EDX_PRED_CMD);
+ }
} else if (tcg_enabled()) {
r = wi->tcg_features;
} else {

View File

@ -0,0 +1,215 @@
From 3eb1915349b247cd88fd050c0caf37070b5e6977 Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Sat, 28 Oct 2017 21:51:36 +0100
Subject: [PATCH] smbios: support setting OEM strings table
The cloud-init program currently allows fetching of its data by repurposing of
the 'system' type 'serial' field. This is a clear abuse of the serial field that
would clash with other valid usage a virt management app might have for that
field.
Fortunately the SMBIOS defines an "OEM Strings" table whose puporse is to allow
exposing of arbitrary vendor specific strings to the operating system. This is
perfect for use with cloud-init, or as a way to pass arguments to OS installers
such as anaconda.
This patch makes it easier to support this with QEMU. e.g.
$QEMU -smbios type=11,value=Hello,value=World,value=Tricky,,value=test
Which results in the guest seeing dmidecode data
Handle 0x0E00, DMI type 11, 5 bytes
OEM Strings
String 1: Hello
String 2: World
String 3: Tricky,value=test
It is suggested that any app wanting to make use of this OEM strings capability
for accepting data from the host mgmt layer should use its name as a string
prefix. e.g. to expose OEM strings targetting both cloud init and anaconda in
parallel the mgmt app could set
$QEMU -smbios type=11,value=cloud-init:ds=nocloud-net;s=http://10.10.0.1:8000/,\
value=anaconda:method=http://dl.fedoraproject.org/pub/fedora/linux/releases/25/x86_64/os
which would appear as
Handle 0x0E00, DMI type 11, 5 bytes
OEM Strings
String 1: cloud-init:ds=nocloud-net;s=http://10.10.0.1:8000/
String 2: anaconda:method=http://dl.fedoraproject.org/pub/fedora/linux/releases/25/x86_64/os
Use of such string prefixes means the app won't have to care which string slot
its data appears in.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 2d6dcbf93fb01b4a7f45a93d276d4d74b16392dd)
[BR: FATE#323624]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
hw/smbios/smbios.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++
hw/smbios/smbios_build.h | 12 ++++++++
include/hw/smbios/smbios.h | 6 ++++
3 files changed, 90 insertions(+)
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index 1a5437a07d..5d11f01874 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -95,6 +95,11 @@ static struct {
const char *sock_pfx, *manufacturer, *version, *serial, *asset, *part;
} type4;
+static struct {
+ size_t nvalues;
+ const char **values;
+} type11;
+
static struct {
const char *loc_pfx, *bank, *manufacturer, *serial, *asset, *part;
uint16_t speed;
@@ -282,6 +287,14 @@ static const QemuOptDesc qemu_smbios_type4_opts[] = {
{ /* end of list */ }
};
+static const QemuOptDesc qemu_smbios_type11_opts[] = {
+ {
+ .name = "value",
+ .type = QEMU_OPT_STRING,
+ .help = "OEM string data",
+ },
+};
+
static const QemuOptDesc qemu_smbios_type17_opts[] = {
{
.name = "type",
@@ -590,6 +603,27 @@ static void smbios_build_type_4_table(unsigned instance)
smbios_type4_count++;
}
+static void smbios_build_type_11_table(void)
+{
+ char count_str[128];
+ size_t i;
+
+ if (type11.nvalues == 0) {
+ return;
+ }
+
+ SMBIOS_BUILD_TABLE_PRE(11, 0xe00, true); /* required */
+
+ snprintf(count_str, sizeof(count_str), "%zu", type11.nvalues);
+ t->count = type11.nvalues;
+
+ for (i = 0; i < type11.nvalues; i++) {
+ SMBIOS_TABLE_SET_STR_LIST(11, type11.values[i]);
+ }
+
+ SMBIOS_BUILD_TABLE_POST;
+}
+
#define ONE_KB ((ram_addr_t)1 << 10)
#define ONE_MB ((ram_addr_t)1 << 20)
#define ONE_GB ((ram_addr_t)1 << 30)
@@ -832,6 +866,8 @@ void smbios_get_tables(const struct smbios_phys_mem_area *mem_array,
smbios_build_type_4_table(i);
}
+ smbios_build_type_11_table();
+
#define MAX_DIMM_SZ (16ll * ONE_GB)
#define GET_DIMM_SZ ((i < dimm_cnt - 1) ? MAX_DIMM_SZ \
: ((ram_size - 1) % MAX_DIMM_SZ) + 1)
@@ -882,6 +918,38 @@ static void save_opt(const char **dest, QemuOpts *opts, const char *name)
}
}
+
+struct opt_list {
+ const char *name;
+ size_t *ndest;
+ const char ***dest;
+};
+
+static int save_opt_one(void *opaque,
+ const char *name, const char *value,
+ Error **errp)
+{
+ struct opt_list *opt = opaque;
+
+ if (!g_str_equal(name, opt->name)) {
+ return 0;
+ }
+
+ *opt->dest = g_renew(const char *, *opt->dest, (*opt->ndest) + 1);
+ (*opt->dest)[*opt->ndest] = value;
+ (*opt->ndest)++;
+ return 0;
+}
+
+static void save_opt_list(size_t *ndest, const char ***dest,
+ QemuOpts *opts, const char *name)
+{
+ struct opt_list opt = {
+ name, ndest, dest,
+ };
+ qemu_opt_foreach(opts, save_opt_one, &opt, NULL);
+}
+
void smbios_entry_add(QemuOpts *opts, Error **errp)
{
const char *val;
@@ -1035,6 +1103,10 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
save_opt(&type4.asset, opts, "asset");
save_opt(&type4.part, opts, "part");
return;
+ case 11:
+ qemu_opts_validate(opts, qemu_smbios_type11_opts, &error_fatal);
+ save_opt_list(&type11.nvalues, &type11.values, opts, "value");
+ return;
case 17:
qemu_opts_validate(opts, qemu_smbios_type17_opts, &error_fatal);
save_opt(&type17.loc_pfx, opts, "loc_pfx");
diff --git a/hw/smbios/smbios_build.h b/hw/smbios/smbios_build.h
index 68b8b72e09..93b360d520 100644
--- a/hw/smbios/smbios_build.h
+++ b/hw/smbios/smbios_build.h
@@ -63,6 +63,18 @@ extern unsigned smbios_table_cnt;
} \
} while (0)
+#define SMBIOS_TABLE_SET_STR_LIST(tbl_type, value) \
+ do { \
+ int len = (value != NULL) ? strlen(value) + 1 : 0; \
+ if (len > 1) { \
+ smbios_tables = g_realloc(smbios_tables, \
+ smbios_tables_len + len); \
+ memcpy(smbios_tables + smbios_tables_len, value, len); \
+ smbios_tables_len += len; \
+ ++str_index; \
+ } \
+ } while (0)
+
#define SMBIOS_BUILD_TABLE_POST \
do { \
size_t term_cnt, t_size; \
diff --git a/include/hw/smbios/smbios.h b/include/hw/smbios/smbios.h
index 31e8d5f47e..a83adb93d7 100644
--- a/include/hw/smbios/smbios.h
+++ b/include/hw/smbios/smbios.h
@@ -195,6 +195,12 @@ struct smbios_type_4 {
uint16_t processor_family2;
} QEMU_PACKED;
+/* SMBIOS type 11 - OEM strings */
+struct smbios_type_11 {
+ struct smbios_structure_header header;
+ uint8_t count;
+} QEMU_PACKED;
+
/* SMBIOS type 16 - Physical Memory Array (v2.7) */
struct smbios_type_16 {
struct smbios_structure_header header;

View File

@ -0,0 +1,192 @@
From 2327abe59d36fda675560f955923a638fd1eed0d Mon Sep 17 00:00:00 2001
From: Lin Ma <lma@suse.com>
Date: Wed, 14 Mar 2018 14:31:26 +0800
Subject: [PATCH] smbios: Add 1 terminator if any string fields defined in
given table.
If user specifies smbios table files through qemu command line, Then will
get error messages while decoding those table content in guest.
Reproducer:
1. dump a smbios table(say table 1) to a binary file from a pc.
2. load the binary file through command line: 'qemu -smbios file=...'.
3. perform 'dmidecode' or 'dmidecode -t 1' in guest.
It reports 'Invalid entry length...' because qemu doesn't add terminator(s)
correctly for the table.
This patch fixed the issue by:
For smbios tables which have string fields provided, qemu should add 1 terminator.
For smbios tables which dont have string fields provided, qemu should add 2.
[LM: BSC#994082]
[LM: BSC#1084316]
Signed-off-by: Lin Ma <lma@suse.com>
---
hw/smbios/smbios.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++
include/hw/smbios/smbios.h | 44 +++++++++++++++++++++++
2 files changed, 134 insertions(+)
diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c
index 5d11f01874..d9f5f1ef70 100644
--- a/hw/smbios/smbios.c
+++ b/hw/smbios/smbios.c
@@ -954,6 +954,9 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
{
const char *val;
+ int i, terminator_count = 2, table_str_field_count = 0;
+ int *tables_str_field_offset = NULL;
+
assert(!smbios_immutable);
val = qemu_opt_get(opts, "file");
@@ -995,7 +998,94 @@ void smbios_entry_add(QemuOpts *opts, Error **errp)
smbios_type4_count++;
}
+ switch (header->type) {
+ case 0:
+ tables_str_field_offset = g_malloc0(sizeof(int) * \
+ TYPE_0_STR_FIELD_COUNT);
+ tables_str_field_offset = (int []){\
+ TYPE_0_STR_FIELD_OFFSET_VENDOR, \
+ TYPE_0_STR_FIELD_OFFSET_BIOS_VERSION, \
+ TYPE_0_STR_FIELD_OFFSET_BIOS_RELEASE_DATE};
+ table_str_field_count = sizeof(tables_str_field_offset) / \
+ sizeof(tables_str_field_offset[0]);
+ break;
+ case 1:
+ tables_str_field_offset = g_malloc0(sizeof(int) * \
+ TYPE_1_STR_FIELD_COUNT);
+ tables_str_field_offset = (int []){
+ TYPE_1_STR_FIELD_OFFSET_MANUFACTURER, \
+ TYPE_1_STR_FIELD_OFFSET_PRODUCT, \
+ TYPE_1_STR_FIELD_OFFSET_VERSION, \
+ TYPE_1_STR_FIELD_OFFSET_SERIAL, \
+ TYPE_1_STR_FIELD_OFFSET_SKU, \
+ TYPE_1_STR_FIELD_OFFSET_FAMILY};
+ table_str_field_count = sizeof(tables_str_field_offset) / \
+ sizeof(tables_str_field_offset[0]);
+ break;
+ case 2:
+ tables_str_field_offset = g_malloc0(sizeof(int) * \
+ TYPE_2_STR_FIELD_COUNT);
+ tables_str_field_offset = (int []){\
+ TYPE_2_STR_FIELD_OFFSET_MANUFACTURER, \
+ TYPE_2_STR_FIELD_OFFSET_PRODUCT, \
+ TYPE_2_STR_FIELD_OFFSET_VERSION, \
+ TYPE_2_STR_FIELD_OFFSET_SERIAL, \
+ TYPE_2_STR_FIELD_OFFSET_ASSET, \
+ TYPE_2_STR_FIELD_OFFSET_LOCATION};
+ table_str_field_count = sizeof(tables_str_field_offset) / \
+ sizeof(tables_str_field_offset[0]);
+ break;
+ case 3:
+ tables_str_field_offset = g_malloc0(sizeof(int) * \
+ TYPE_3_STR_FIELD_COUNT);
+ tables_str_field_offset = (int []){\
+ TYPE_3_STR_FIELD_OFFSET_MANUFACTURER, \
+ TYPE_3_STR_FIELD_OFFSET_VERSION, \
+ TYPE_3_STR_FIELD_OFFSET_SERIAL, \
+ TYPE_3_STR_FIELD_OFFSET_ASSET, \
+ TYPE_3_STR_FIELD_OFFSET_SKU};
+ table_str_field_count = sizeof(tables_str_field_offset) / \
+ sizeof(tables_str_field_offset[0]);
+ break;
+ case 4:
+ tables_str_field_offset = g_malloc0(sizeof(int) * \
+ TYPE_4_STR_FIELD_COUNT);
+ tables_str_field_offset = (int []){\
+ TYPE_4_STR_FIELD_OFFSET_SOCKET, \
+ TYPE_4_STR_FIELD_OFFSET_PROCESSOR_MANUFACTURER, \
+ TYPE_4_STR_FIELD_OFFSET_PROCESSOR_VERSION, \
+ TYPE_4_STR_FIELD_OFFSET_SERIAL, \
+ TYPE_4_STR_FIELD_OFFSET_ASSET, \
+ TYPE_4_STR_FIELD_OFFSET_PART};
+ table_str_field_count = sizeof(tables_str_field_offset) / \
+ sizeof(tables_str_field_offset[0]);
+ break;
+ case 17:
+ tables_str_field_offset = g_malloc0(sizeof(int) * \
+ TYPE_17_STR_FIELD_COUNT);
+ tables_str_field_offset = (int []){\
+ TYPE_17_STR_FIELD_OFFSET_DEVICE_LOCATOR, \
+ TYPE_17_STR_FIELD_OFFSET_BANK_LOCATOR, \
+ TYPE_17_STR_FIELD_OFFSET_MANUFACTURER, \
+ TYPE_17_STR_FIELD_OFFSET_SERIAL, \
+ TYPE_17_STR_FIELD_OFFSET_ASSET, \
+ TYPE_17_STR_FIELD_OFFSET_PART};
+ table_str_field_count = sizeof(tables_str_field_offset) / \
+ sizeof(tables_str_field_offset[0]);
+ break;
+ default:
+ break;
+ }
+
+ for (i = 0; i < table_str_field_count; i++) {
+ if (*(uint8_t *)(smbios_tables + tables_str_field_offset[i]) > 0) {
+ terminator_count = 1;
+ break;
+ }
+ }
+
smbios_tables_len += size;
+ smbios_tables_len += terminator_count;
if (size > smbios_table_max) {
smbios_table_max = size;
}
diff --git a/include/hw/smbios/smbios.h b/include/hw/smbios/smbios.h
index a83adb93d7..6613f68ad1 100644
--- a/include/hw/smbios/smbios.h
+++ b/include/hw/smbios/smbios.h
@@ -273,4 +273,48 @@ void smbios_get_tables(const struct smbios_phys_mem_area *mem_array,
const unsigned int mem_array_size,
uint8_t **tables, size_t *tables_len,
uint8_t **anchor, size_t *anchor_len);
+
+#define TYPE_0_STR_FIELD_OFFSET_VENDOR 0x4
+#define TYPE_0_STR_FIELD_OFFSET_BIOS_VERSION 0x5
+#define TYPE_0_STR_FIELD_OFFSET_BIOS_RELEASE_DATE 0x8
+#define TYPE_0_STR_FIELD_COUNT 3
+
+#define TYPE_1_STR_FIELD_OFFSET_MANUFACTURER 0x4
+#define TYPE_1_STR_FIELD_OFFSET_PRODUCT 0x5
+#define TYPE_1_STR_FIELD_OFFSET_VERSION 0x6
+#define TYPE_1_STR_FIELD_OFFSET_SERIAL 0x7
+#define TYPE_1_STR_FIELD_OFFSET_SKU 0x19
+#define TYPE_1_STR_FIELD_OFFSET_FAMILY 0x1a
+#define TYPE_1_STR_FIELD_COUNT 6
+
+#define TYPE_2_STR_FIELD_OFFSET_MANUFACTURER 0x4
+#define TYPE_2_STR_FIELD_OFFSET_PRODUCT 0x5
+#define TYPE_2_STR_FIELD_OFFSET_VERSION 0x6
+#define TYPE_2_STR_FIELD_OFFSET_SERIAL 0x7
+#define TYPE_2_STR_FIELD_OFFSET_ASSET 0x8
+#define TYPE_2_STR_FIELD_OFFSET_LOCATION 0xa
+#define TYPE_2_STR_FIELD_COUNT 6
+
+#define TYPE_3_STR_FIELD_OFFSET_MANUFACTURER 0x4
+#define TYPE_3_STR_FIELD_OFFSET_VERSION 0x6
+#define TYPE_3_STR_FIELD_OFFSET_SERIAL 0x7
+#define TYPE_3_STR_FIELD_OFFSET_ASSET 0x8
+#define TYPE_3_STR_FIELD_OFFSET_SKU 0x14
+#define TYPE_3_STR_FIELD_COUNT 5
+
+#define TYPE_4_STR_FIELD_OFFSET_SOCKET 0x4
+#define TYPE_4_STR_FIELD_OFFSET_PROCESSOR_MANUFACTURER 0x7
+#define TYPE_4_STR_FIELD_OFFSET_PROCESSOR_VERSION 0x10
+#define TYPE_4_STR_FIELD_OFFSET_SERIAL 0x20
+#define TYPE_4_STR_FIELD_OFFSET_ASSET 0x21
+#define TYPE_4_STR_FIELD_OFFSET_PART 0x22
+#define TYPE_4_STR_FIELD_COUNT 6
+
+#define TYPE_17_STR_FIELD_OFFSET_DEVICE_LOCATOR 0x10
+#define TYPE_17_STR_FIELD_OFFSET_BANK_LOCATOR 0x11
+#define TYPE_17_STR_FIELD_OFFSET_MANUFACTURER 0x17
+#define TYPE_17_STR_FIELD_OFFSET_SERIAL 0x18
+#define TYPE_17_STR_FIELD_OFFSET_ASSET 0x19
+#define TYPE_17_STR_FIELD_OFFSET_PART 0x1a
+#define TYPE_17_STR_FIELD_COUNT 6
#endif /* QEMU_SMBIOS_H */

View File

@ -0,0 +1,32 @@
From 3c263c86795e5c2325ccdc4ac098a37c60eeb8c4 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Wed, 20 Dec 2017 15:43:07 -0800
Subject: [PATCH] Remove problematic 'evdev 86' key from en-us keymap
This causes LP#1738283. Gerd will have to come up with a better
fix, but just hacking out the problematic key definition should
work for now.
[BR: We see this issue as well, eg via vnc]
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
pc-bios/keymaps/en-us | 6 ------
1 file changed, 6 deletions(-)
diff --git a/pc-bios/keymaps/en-us b/pc-bios/keymaps/en-us
index a70e03adc0..e518a9dc35 100644
--- a/pc-bios/keymaps/en-us
+++ b/pc-bios/keymaps/en-us
@@ -343,12 +343,6 @@ KP_Decimal 0x53 numlock
# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
-# evdev 86 (0x56), QKeyCode "less", number 0x56
-less 0x56
-greater 0x56 shift
-bar 0x56 altgr
-brokenbar 0x56 shift altgr
-
# evdev 87 (0x57), QKeyCode "f11", number 0x57
F11 0x57

View File

@ -7,7 +7,7 @@ echo 'configuring qemu network with bridge for' $*
# If bridge is not specified, try device with default route.
bridge=$2
if [ -z "$bridge" ]; then
bridge=$(/sbin/ip route list | /usr/bin/awk '/^default / { print $5 }')
bridge=$(/usr/sbin/ip route list | /usr/bin/awk '/^default / { print $5 }')
fi
# Exit if $bridge is not a bridge. Exit with 0 status
@ -19,5 +19,5 @@ then
exit 0
fi
/sbin/ip link set $1 up
/sbin/brctl addif $bridge $1 || true
/usr/sbin/ip link set $1 up
/usr/sbin/ip link set $1 master $bridge || true

View File

@ -1,3 +1,32 @@
-------------------------------------------------------------------
Wed Mar 14 18:41:50 UTC 2018 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
* Patches added:
0078-Remove-problematic-evdev-86-key-fro.patch
-------------------------------------------------------------------
Wed Mar 14 06:38:40 UTC 2018 - lma@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
* Patches added:
0077-smbios-Add-1-terminator-if-any-stri.patch
bsc#994082 and bsc#1084316
-------------------------------------------------------------------
Fri Mar 9 20:52:00 UTC 2018 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
* Patches added:
0076-smbios-support-setting-OEM-strings-.patch
-------------------------------------------------------------------
Sat Mar 3 14:24:13 UTC 2018 - brogers@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
* Patches dropped:
0076-i386-Compensate-for-KVM-SPEC_CTRL-f.patch
-------------------------------------------------------------------
Thu Feb 22 12:01:25 UTC 2018 - brogers@suse.com

View File

@ -19,7 +19,7 @@
Name: qemu-linux-user
Url: http://www.qemu.org/
Summary: CPU emulator for user space
License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT
License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 2.11.1
Release: 0
@ -101,7 +101,9 @@ Patch0072: 0072-tests-qmp-test-blacklist-query-sev-.patch
Patch0073: 0073-sev-i386-add-migration-blocker.patch
Patch0074: 0074-cpu-i386-populate-CPUID-0x8000_001F.patch
Patch0075: 0075-migration-warn-about-inconsistent-s.patch
Patch0076: 0076-i386-Compensate-for-KVM-SPEC_CTRL-f.patch
Patch0076: 0076-smbios-support-setting-OEM-strings-.patch
Patch0077: 0077-smbios-Add-1-terminator-if-any-stri.patch
Patch0078: 0078-Remove-problematic-evdev-86-key-fro.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
Source400: update_git.sh
@ -207,6 +209,8 @@ syscall layer occurs on the native hardware and operating system.
%patch0074 -p1
%patch0075 -p1
%patch0076 -p1
%patch0077 -p1
%patch0078 -p1
%build
./configure \

View File

@ -1,3 +1,50 @@
-------------------------------------------------------------------
Wed Mar 14 18:41:48 UTC 2018 - brogers@suse.com
- Fix issue with key codes in qemu v2.11
0078-Remove-problematic-evdev-86-key-fro.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
-------------------------------------------------------------------
Wed Mar 14 06:38:36 UTC 2018 - lma@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
* Patches added:
0077-smbios-Add-1-terminator-if-any-stri.patch
bsc#994082 and bsc#1084316
-------------------------------------------------------------------
Fri Mar 9 20:51:57 UTC 2018 - brogers@suse.com
- Add support for setting OEM strings table (fate#323624)
0076-smbios-support-setting-OEM-strings-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
-------------------------------------------------------------------
Sat Mar 3 14:24:10 UTC 2018 - brogers@suse.com
- SLE15 KVM (as targeted for RC1) now has the feature exposed.
Drop the patch. (bsc#1082276)
0076-i386-Compensate-for-KVM-SPEC_CTRL-f.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
-------------------------------------------------------------------
Fri Mar 2 16:31:15 UTC 2018 - brogers@suse.com
- Change example qemu-ifup script to not depend on bridge-utils.
Also update the paths used for ip binary.
-------------------------------------------------------------------
Wed Feb 28 16:13:08 UTC 2018 - brogers@suse.com
- Eliminate bogus use of CPUID_7_0_EDX_PRED_CMD which we've
carried since the initial Spectre v2 patch was added. EDX bit
27 of CPUID Leaf 07H, Sub-leaf 0 provides status on STIBP, and
not the PRED_CMD MSR. Exposing the STIBP CPUID feature bit to the
guest is wrong in general, since the VM doesn't directly control
the scheduling of physical hyperthreads. This is left strictly to
the L0 hypervisor.
-------------------------------------------------------------------
Thu Feb 22 12:01:21 UTC 2018 - brogers@suse.com

View File

@ -107,7 +107,7 @@
Name: qemu-testsuite
Url: http://www.qemu.org/
Summary: Machine emulator and virtualizer
License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT
License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 2.11.1
Release: 0
@ -205,7 +205,9 @@ Patch0072: 0072-tests-qmp-test-blacklist-query-sev-.patch
Patch0073: 0073-sev-i386-add-migration-blocker.patch
Patch0074: 0074-cpu-i386-populate-CPUID-0x8000_001F.patch
Patch0075: 0075-migration-warn-about-inconsistent-s.patch
Patch0076: 0076-i386-Compensate-for-KVM-SPEC_CTRL-f.patch
Patch0076: 0076-smbios-support-setting-OEM-strings-.patch
Patch0077: 0077-smbios-Add-1-terminator-if-any-stri.patch
Patch0078: 0078-Remove-problematic-evdev-86-key-fro.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -881,6 +883,8 @@ This package provides a service file for starting and stopping KSM.
%patch0074 -p1
%patch0075 -p1
%patch0076 -p1
%patch0077 -p1
%patch0078 -p1
%if 0%{?suse_version} > 1320
%patch1000 -p1

View File

@ -1,3 +1,50 @@
-------------------------------------------------------------------
Wed Mar 14 18:41:48 UTC 2018 - brogers@suse.com
- Fix issue with key codes in qemu v2.11
0078-Remove-problematic-evdev-86-key-fro.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
-------------------------------------------------------------------
Wed Mar 14 06:38:36 UTC 2018 - lma@suse.com
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
* Patches added:
0077-smbios-Add-1-terminator-if-any-stri.patch
bsc#994082 and bsc#1084316
-------------------------------------------------------------------
Fri Mar 9 20:51:57 UTC 2018 - brogers@suse.com
- Add support for setting OEM strings table (fate#323624)
0076-smbios-support-setting-OEM-strings-.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
-------------------------------------------------------------------
Sat Mar 3 14:24:10 UTC 2018 - brogers@suse.com
- SLE15 KVM (as targeted for RC1) now has the feature exposed.
Drop the patch. (bsc#1082276)
0076-i386-Compensate-for-KVM-SPEC_CTRL-f.patch
- Patch queue updated from git://github.com/openSUSE/qemu.git opensuse-2.11
-------------------------------------------------------------------
Fri Mar 2 16:31:15 UTC 2018 - brogers@suse.com
- Change example qemu-ifup script to not depend on bridge-utils.
Also update the paths used for ip binary.
-------------------------------------------------------------------
Wed Feb 28 16:13:08 UTC 2018 - brogers@suse.com
- Eliminate bogus use of CPUID_7_0_EDX_PRED_CMD which we've
carried since the initial Spectre v2 patch was added. EDX bit
27 of CPUID Leaf 07H, Sub-leaf 0 provides status on STIBP, and
not the PRED_CMD MSR. Exposing the STIBP CPUID feature bit to the
guest is wrong in general, since the VM doesn't directly control
the scheduling of physical hyperthreads. This is left strictly to
the L0 hypervisor.
-------------------------------------------------------------------
Thu Feb 22 12:01:21 UTC 2018 - brogers@suse.com

View File

@ -107,7 +107,7 @@
Name: qemu
Url: http://www.qemu.org/
Summary: Machine emulator and virtualizer
License: BSD-3-Clause AND GPL-2.0 AND GPL-2.0+ AND LGPL-2.1+ AND MIT
License: BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND MIT
Group: System/Emulators/PC
Version: 2.11.1
Release: 0
@ -205,7 +205,9 @@ Patch0072: 0072-tests-qmp-test-blacklist-query-sev-.patch
Patch0073: 0073-sev-i386-add-migration-blocker.patch
Patch0074: 0074-cpu-i386-populate-CPUID-0x8000_001F.patch
Patch0075: 0075-migration-warn-about-inconsistent-s.patch
Patch0076: 0076-i386-Compensate-for-KVM-SPEC_CTRL-f.patch
Patch0076: 0076-smbios-support-setting-OEM-strings-.patch
Patch0077: 0077-smbios-Add-1-terminator-if-any-stri.patch
Patch0078: 0078-Remove-problematic-evdev-86-key-fro.patch
# Please do not add QEMU patches manually here.
# Run update_git.sh to regenerate this queue.
@ -881,6 +883,8 @@ This package provides a service file for starting and stopping KSM.
%patch0074 -p1
%patch0075 -p1
%patch0076 -p1
%patch0077 -p1
%patch0078 -p1
%if 0%{?suse_version} > 1320
%patch1000 -p1

View File

@ -716,6 +716,8 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-sev
query-sev-launch-measure
x-blockdev-change
x-blockdev-insert-medium
x-blockdev-remove-medium

View File

@ -654,6 +654,8 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-sev
query-sev-launch-measure
x-blockdev-change
x-blockdev-insert-medium
x-blockdev-remove-medium

View File

@ -679,6 +679,8 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-sev
query-sev-launch-measure
query-tpm
query-tpm-models
query-tpm-types

View File

@ -774,6 +774,8 @@ QEMU Command-Line and Monitor Syntax and Support
nbd-server-add
nbd-server-start
nbd-server-stop
query-sev
query-sev-launch-measure
x-blockdev-change
x-blockdev-insert-medium
x-blockdev-remove-medium