* Fri Jan 11 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-4.el8
- kvm-hw-s390x-s390-virtio-ccw-Add-machine-types-for-RHEL8.patch [bz#1656510] - kvm-spapr-Add-H-Call-H_HOME_NODE_ASSOCIATIVITY.patch [bz#1661967] - kvm-redhat-Fixing-.gitpublish-to-include-AV-information.patch [] - Resolves: bz#1656510 (Machine types for qemu-kvm based on rebase to qemu-3.1 (s390x)) - Resolves: bz#1661967 (Kernel prints the message "VPHN is not supported. Disabling polling...")
This commit is contained in:
parent
bfacc7d632
commit
1b2adb97f3
106
kvm-hw-s390x-s390-virtio-ccw-Add-machine-types-for-RHEL8.patch
Normal file
106
kvm-hw-s390x-s390-virtio-ccw-Add-machine-types-for-RHEL8.patch
Normal file
@ -0,0 +1,106 @@
|
||||
From 6c200d665b8730ea86104e7aea2d59035b1398e5 Mon Sep 17 00:00:00 2001
|
||||
From: David Hildenbrand <david@redhat.com>
|
||||
Date: Fri, 21 Dec 2018 14:08:56 +0000
|
||||
Subject: [PATCH 1/3] hw/s390x/s390-virtio-ccw: Add machine types for RHEL8.0.0
|
||||
|
||||
RH-Author: David Hildenbrand <david@redhat.com>
|
||||
Message-id: <20181221150856.26324-3-david@redhat.com>
|
||||
Patchwork-id: 83740
|
||||
O-Subject: [RHEL8 qemu-kvm PATCH v3 2/2] hw/s390x/s390-virtio-ccw: Add machine types for RHEL8.0.0
|
||||
Bugzilla: 1656510
|
||||
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
|
||||
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
||||
|
||||
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1656510
|
||||
Upstream: n/a (downstream only)
|
||||
Branch: rhel8/master-3.1.0
|
||||
|
||||
Downstream s390x machine types for the Advanced Virtualization module.
|
||||
|
||||
s390mc->hpage_1m_allowed has to stay enabled for the rhel7.6.0 machine,
|
||||
because RHEL 8 supports huge pages. For RHEL 7.6-alt, this is fenced
|
||||
using a different mechanism (bail out if huge pages are used right from
|
||||
the start).
|
||||
|
||||
Signed-off-by: Thomas Huth <thuth@redhat.com>
|
||||
Signed-off-by: David Hildenbrand <david@redhat.com>
|
||||
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||
---
|
||||
hw/s390x/s390-virtio-ccw.c | 26 +++++++++++++++++++++++---
|
||||
1 file changed, 23 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
|
||||
index 04f4c1a..776a6d6 100644
|
||||
--- a/hw/s390x/s390-virtio-ccw.c
|
||||
+++ b/hw/s390x/s390-virtio-ccw.c
|
||||
@@ -651,14 +651,14 @@ bool css_migration_enabled(void)
|
||||
} \
|
||||
type_init(ccw_machine_register_##suffix)
|
||||
|
||||
+#if 0 /* Disabled for Red Hat Enterprise Linux */
|
||||
+
|
||||
#define CCW_COMPAT_3_0 \
|
||||
HW_COMPAT_3_0
|
||||
|
||||
#define CCW_COMPAT_2_12 \
|
||||
HW_COMPAT_2_12
|
||||
|
||||
-#if 0 /* Disabled for Red Hat Enterprise Linux */
|
||||
-
|
||||
#define CCW_COMPAT_2_11 \
|
||||
HW_COMPAT_2_11 \
|
||||
{\
|
||||
@@ -899,6 +899,13 @@ DEFINE_CCW_MACHINE(2_4, "2.4", false);
|
||||
#else
|
||||
|
||||
/*
|
||||
+ * like CCW_COMPAT_2_12 + CCW_COMPAT_3_0 (which are empty), but includes
|
||||
+ * HW_COMPAT_RHEL7_6 instead of HW_COMPAT_2_11 and HW_COMPAT_3_0
|
||||
+ */
|
||||
+#define CCW_COMPAT_RHEL7_6 \
|
||||
+ HW_COMPAT_RHEL7_6
|
||||
+
|
||||
+/*
|
||||
* like CCW_COMPAT_2_11, but includes HW_COMPAT_RHEL7_5 (derived from
|
||||
* HW_COMPAT_2_11 and HW_COMPAT_2_10) instead of HW_COMPAT_2_11
|
||||
*/
|
||||
@@ -910,14 +917,26 @@ DEFINE_CCW_MACHINE(2_4, "2.4", false);
|
||||
.value = "off",\
|
||||
},
|
||||
|
||||
+static void ccw_machine_rhel800_instance_options(MachineState *machine)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
+static void ccw_machine_rhel800_class_options(MachineClass *mc)
|
||||
+{
|
||||
+}
|
||||
+DEFINE_CCW_MACHINE(rhel800, "rhel8.0.0", true);
|
||||
+
|
||||
static void ccw_machine_rhel760_instance_options(MachineState *machine)
|
||||
{
|
||||
+ ccw_machine_rhel800_instance_options(machine);
|
||||
}
|
||||
|
||||
static void ccw_machine_rhel760_class_options(MachineClass *mc)
|
||||
{
|
||||
+ ccw_machine_rhel800_class_options(mc);
|
||||
+ SET_MACHINE_COMPAT(mc, CCW_COMPAT_RHEL7_6);
|
||||
}
|
||||
-DEFINE_CCW_MACHINE(rhel760, "rhel7.6.0", true);
|
||||
+DEFINE_CCW_MACHINE(rhel760, "rhel7.6.0", false);
|
||||
|
||||
static void ccw_machine_rhel750_instance_options(MachineState *machine)
|
||||
{
|
||||
@@ -937,6 +956,7 @@ static void ccw_machine_rhel750_class_options(MachineClass *mc)
|
||||
{
|
||||
ccw_machine_rhel760_class_options(mc);
|
||||
SET_MACHINE_COMPAT(mc, CCW_COMPAT_RHEL7_5);
|
||||
+ S390_MACHINE_CLASS(mc)->hpage_1m_allowed = false;
|
||||
}
|
||||
DEFINE_CCW_MACHINE(rhel750, "rhel7.5.0", false);
|
||||
|
||||
--
|
||||
1.8.3.1
|
||||
|
124
kvm-spapr-Add-H-Call-H_HOME_NODE_ASSOCIATIVITY.patch
Normal file
124
kvm-spapr-Add-H-Call-H_HOME_NODE_ASSOCIATIVITY.patch
Normal file
@ -0,0 +1,124 @@
|
||||
From 41c461465fb5b0d23f5826cd4b62a78f25607420 Mon Sep 17 00:00:00 2001
|
||||
From: Laurent Vivier <lvivier@redhat.com>
|
||||
Date: Thu, 3 Jan 2019 12:51:40 +0000
|
||||
Subject: [PATCH 2/3] spapr: Add H-Call H_HOME_NODE_ASSOCIATIVITY
|
||||
|
||||
RH-Author: Laurent Vivier <lvivier@redhat.com>
|
||||
Message-id: <20190103135140.13948-2-lvivier@redhat.com>
|
||||
Patchwork-id: 83848
|
||||
O-Subject: [RHEL8/rhel qemu-kvm PATCH 1/1] spapr: Add H-Call H_HOME_NODE_ASSOCIATIVITY
|
||||
Bugzilla: 1661967
|
||||
RH-Acked-by: Serhii Popovych <spopovyc@redhat.com>
|
||||
RH-Acked-by: Thomas Huth <thuth@redhat.com>
|
||||
RH-Acked-by: David Gibson <dgibson@redhat.com>
|
||||
|
||||
BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1661967
|
||||
|
||||
H_HOME_NODE_ASSOCIATIVITY H-Call returns the associativity domain
|
||||
designation associated with the identifier input parameter
|
||||
|
||||
This fixes a crash when we try to hotplug a CPU in memory-less and
|
||||
CPU-less numa node. In this case, the kernel tries to online the
|
||||
node, but without the information provided by this h-call, the node id,
|
||||
it cannot and the CPU is started while the node is not onlined.
|
||||
|
||||
It also removes the warning message from the kernel:
|
||||
VPHN is not supported. Disabling polling..
|
||||
|
||||
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
|
||||
Reviewed-by: Greg Kurz <groug@kaod.org>
|
||||
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||
(cherry picked from commit c24ba3d0a34f68ad2c6bf1a15bc43770005f6cc0)
|
||||
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
|
||||
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
||||
---
|
||||
hw/ppc/spapr.c | 1 +
|
||||
hw/ppc/spapr_hcall.c | 40 ++++++++++++++++++++++++++++++++++++++++
|
||||
include/hw/ppc/spapr.h | 1 +
|
||||
3 files changed, 42 insertions(+)
|
||||
|
||||
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
|
||||
index 91d38f9..d5d2eb4 100644
|
||||
--- a/hw/ppc/spapr.c
|
||||
+++ b/hw/ppc/spapr.c
|
||||
@@ -1051,6 +1051,7 @@ static void spapr_dt_rtas(sPAPRMachineState *spapr, void *fdt)
|
||||
add_str(hypertas, "hcall-sprg0");
|
||||
add_str(hypertas, "hcall-copy");
|
||||
add_str(hypertas, "hcall-debug");
|
||||
+ add_str(hypertas, "hcall-vphn");
|
||||
add_str(qemu_hypertas, "hcall-memop1");
|
||||
|
||||
if (!kvm_enabled() || kvmppc_spapr_use_multitce()) {
|
||||
diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
|
||||
index ae913d0..f131c7e 100644
|
||||
--- a/hw/ppc/spapr_hcall.c
|
||||
+++ b/hw/ppc/spapr_hcall.c
|
||||
@@ -1663,6 +1663,42 @@ static target_ulong h_client_architecture_support(PowerPCCPU *cpu,
|
||||
return H_SUCCESS;
|
||||
}
|
||||
|
||||
+static target_ulong h_home_node_associativity(PowerPCCPU *cpu,
|
||||
+ sPAPRMachineState *spapr,
|
||||
+ target_ulong opcode,
|
||||
+ target_ulong *args)
|
||||
+{
|
||||
+ target_ulong flags = args[0];
|
||||
+ target_ulong procno = args[1];
|
||||
+ PowerPCCPU *tcpu;
|
||||
+ int idx;
|
||||
+
|
||||
+ /* only support procno from H_REGISTER_VPA */
|
||||
+ if (flags != 0x1) {
|
||||
+ return H_FUNCTION;
|
||||
+ }
|
||||
+
|
||||
+ tcpu = spapr_find_cpu(procno);
|
||||
+ if (tcpu == NULL) {
|
||||
+ return H_P2;
|
||||
+ }
|
||||
+
|
||||
+ /* sequence is the same as in the "ibm,associativity" property */
|
||||
+
|
||||
+ idx = 0;
|
||||
+#define ASSOCIATIVITY(a, b) (((uint64_t)(a) << 32) | \
|
||||
+ ((uint64_t)(b) & 0xffffffff))
|
||||
+ args[idx++] = ASSOCIATIVITY(0, 0);
|
||||
+ args[idx++] = ASSOCIATIVITY(0, tcpu->node_id);
|
||||
+ args[idx++] = ASSOCIATIVITY(procno, -1);
|
||||
+ for ( ; idx < 6; idx++) {
|
||||
+ args[idx] = -1;
|
||||
+ }
|
||||
+#undef ASSOCIATIVITY
|
||||
+
|
||||
+ return H_SUCCESS;
|
||||
+}
|
||||
+
|
||||
static target_ulong h_get_cpu_characteristics(PowerPCCPU *cpu,
|
||||
sPAPRMachineState *spapr,
|
||||
target_ulong opcode,
|
||||
@@ -1822,6 +1858,10 @@ static void hypercall_register_types(void)
|
||||
|
||||
/* ibm,client-architecture-support support */
|
||||
spapr_register_hypercall(KVMPPC_H_CAS, h_client_architecture_support);
|
||||
+
|
||||
+ /* Virtual Processor Home Node */
|
||||
+ spapr_register_hypercall(H_HOME_NODE_ASSOCIATIVITY,
|
||||
+ h_home_node_associativity);
|
||||
}
|
||||
|
||||
type_init(hypercall_register_types)
|
||||
diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h
|
||||
index d2370e5..0cc123e 100644
|
||||
--- a/include/hw/ppc/spapr.h
|
||||
+++ b/include/hw/ppc/spapr.h
|
||||
@@ -442,6 +442,7 @@ struct sPAPRMachineState {
|
||||
#define H_GET_EM_PARMS 0x2B8
|
||||
#define H_SET_MPP 0x2D0
|
||||
#define H_GET_MPP 0x2D4
|
||||
+#define H_HOME_NODE_ASSOCIATIVITY 0x2EC
|
||||
#define H_XIRR_X 0x2FC
|
||||
#define H_RANDOM 0x300
|
||||
#define H_SET_MODE 0x31C
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -68,7 +68,7 @@ Obsoletes: %1-rhev
|
||||
Summary: QEMU is a machine emulator and virtualizer
|
||||
Name: qemu-kvm
|
||||
Version: 3.1.0
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
|
||||
Epoch: 15
|
||||
License: GPLv2 and GPLv2+ and CC-BY
|
||||
@ -136,6 +136,10 @@ Patch25: kvm-pc-Add-x-migrate-smi-count-off-to-PC_RHEL7_6_COMPAT.patch
|
||||
Patch26: kvm-clear-out-KVM_ASYNC_PF_DELIVERY_AS_PF_VMEXIT-for.patch
|
||||
# For bz#1656508 - Machine types for qemu-kvm based on rebase to qemu-3.1 (ppc64le)
|
||||
Patch27: kvm-redhat-define-pseries-rhel8.0.0-machine-type.patch
|
||||
# For bz#1656510 - Machine types for qemu-kvm based on rebase to qemu-3.1 (s390x)
|
||||
Patch28: kvm-hw-s390x-s390-virtio-ccw-Add-machine-types-for-RHEL8.patch
|
||||
# For bz#1661967 - Kernel prints the message "VPHN is not supported. Disabling polling..."
|
||||
Patch29: kvm-spapr-Add-H-Call-H_HOME_NODE_ASSOCIATIVITY.patch
|
||||
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: glib2-devel
|
||||
@ -983,6 +987,14 @@ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jan 11 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-4.el8
|
||||
- kvm-hw-s390x-s390-virtio-ccw-Add-machine-types-for-RHEL8.patch [bz#1656510]
|
||||
- kvm-spapr-Add-H-Call-H_HOME_NODE_ASSOCIATIVITY.patch [bz#1661967]
|
||||
- Resolves: bz#1656510
|
||||
(Machine types for qemu-kvm based on rebase to qemu-3.1 (s390x))
|
||||
- Resolves: bz#1661967
|
||||
(Kernel prints the message "VPHN is not supported. Disabling polling...")
|
||||
|
||||
* Thu Jan 03 2019 Danilo Cesar Lemes de Paula <ddepaula@redhat.com> - 3.1.0-3.el8
|
||||
- kvm-redhat-define-pseries-rhel8.0.0-machine-type.patch [bz#1656508]
|
||||
- Resolves: bz#1656508
|
||||
|
Loading…
Reference in New Issue
Block a user