From 6673ded76c679ef17097782a13754ba905b917f8 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 28 Aug 2019 14:25:55 +0200 Subject: [PATCH 1/5] pc-bios/s390-ccw: Do not pre-initialize empty array Since commit 339686a358b11a231aa5b6d1424e7a1460d7f277 ("pc-bios/s390-ccw: zero out bss section"), we are clearing now the BSS in start.S, so there is no need to pre-initialize the loadparm_str array with zeroes anymore. Reviewed-by: Cornelia Huck Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index a69c73349e..a21b386280 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -17,7 +17,7 @@ char stack[PAGE_SIZE * 8] __attribute__((__aligned__(PAGE_SIZE))); static SubChannelId blk_schid = { .one = 1 }; -static char loadparm_str[LOADPARM_LEN + 1] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +static char loadparm_str[LOADPARM_LEN + 1]; QemuIplParameters qipl; IplParameterBlock iplb __attribute__((__aligned__(PAGE_SIZE))); static bool have_iplb; From 09be82ce53e8269412544521d449c44305beccf3 Mon Sep 17 00:00:00 2001 From: Yifan Luo Date: Wed, 14 Aug 2019 14:14:26 +0800 Subject: [PATCH 2/5] pc-bios/s390-ccw/net: fix a possible memory leak in get_uuid() There is a possible memory leak in get_uuid(). Should free allocated mem before return NULL. Signed-off-by: Yifan Luo Message-Id: <02cf01d55267$86cf2850$946d78f0$@cmss.chinamobile.com> Reviewed-by: Thomas Huth Reviewed-by: Cornelia Huck Signed-off-by: Thomas Huth --- pc-bios/s390-ccw/netmain.c | 1 + 1 file changed, 1 insertion(+) diff --git a/pc-bios/s390-ccw/netmain.c b/pc-bios/s390-ccw/netmain.c index f3542cb2cf..f2dcc01e27 100644 --- a/pc-bios/s390-ccw/netmain.c +++ b/pc-bios/s390-ccw/netmain.c @@ -269,6 +269,7 @@ static const char *get_uuid(void) : "d" (r0), "d" (r1), [addr] "a" (buf) : "cc", "memory"); if (cc) { + free(mem); return NULL; } From 6b2a203579068127d7e93cb6f45d828ca04a2153 Mon Sep 17 00:00:00 2001 From: Thomas Huth Date: Wed, 18 Sep 2019 17:46:02 +0200 Subject: [PATCH 3/5] pc-bios/s390-ccw: Rebuild the s390-netboot.img firmware image The new image now contains the "pc-bios/s390-ccw/net: fix a possible memory leak in get_uuid()" patch. Signed-off-by: Thomas Huth --- pc-bios/s390-netboot.img | Bin 67232 -> 67232 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-netboot.img b/pc-bios/s390-netboot.img index aa90fbccb142470924ad5f0de5a4c6337916c63a..b984ad0da08f1401978b173d44e935d5563dde70 100644 GIT binary patch literal 67232 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 Date: Fri, 13 Sep 2019 11:14:43 +0200 Subject: [PATCH 4/5] s390x/kvm: Officially require at least kernel 3.15 Since QEMU v2.10, the KVM acceleration does not work on older kernels anymore since the code accidentally requires the KVM_CAP_DEVICE_CTRL capability now - it should have been optional instead. Instead of fixing the bug, we asked in the ChangeLog of QEMU 2.11 - 3.0 that people should speak up if they still need support of QEMU running with KVM on older kernels, but seems like nobody really complained. Thus let's make this official now and turn it into a proper error message, telling the users to use at least kernel 3.15 now. Signed-off-by: Thomas Huth Message-Id: <20190913091443.27565-1-thuth@redhat.com> Reviewed-by: David Hildenbrand Signed-off-by: Christian Borntraeger --- hw/intc/s390_flic_kvm.c | 6 ------ hw/intc/trace-events | 1 - target/s390x/kvm.c | 7 +++++++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/hw/intc/s390_flic_kvm.c b/hw/intc/s390_flic_kvm.c index 819aa5e198..cedccba8a9 100644 --- a/hw/intc/s390_flic_kvm.c +++ b/hw/intc/s390_flic_kvm.c @@ -589,12 +589,6 @@ static void kvm_s390_flic_realize(DeviceState *dev, Error **errp) goto fail; } flic_state->fd = -1; - if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) { - error_setg_errno(&errp_local, errno, "KVM is missing capability" - " KVM_CAP_DEVICE_CTRL"); - trace_flic_no_device_api(errno); - goto fail; - } cd.type = KVM_DEV_TYPE_FLIC; ret = kvm_vm_ioctl(kvm_state, KVM_CREATE_DEVICE, &cd); diff --git a/hw/intc/trace-events b/hw/intc/trace-events index 90c9d07c1a..719f46b516 100644 --- a/hw/intc/trace-events +++ b/hw/intc/trace-events @@ -75,7 +75,6 @@ xics_ics_simple_eoi(int nr) "ics_eoi: irq 0x%x" # s390_flic_kvm.c flic_create_device(int err) "flic: create device failed %d" -flic_no_device_api(int err) "flic: no Device Contral API support %d" flic_reset_failed(int err) "flic: reset failed %d" # s390_flic.c diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c index cea71ac7c3..97a662ad0e 100644 --- a/target/s390x/kvm.c +++ b/target/s390x/kvm.c @@ -316,6 +316,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s) MachineClass *mc = MACHINE_GET_CLASS(ms); mc->default_cpu_type = S390_CPU_TYPE_NAME("host"); + + if (!kvm_check_extension(kvm_state, KVM_CAP_DEVICE_CTRL)) { + error_report("KVM is missing capability KVM_CAP_DEVICE_CTRL - " + "please use kernel 3.15 or newer"); + return -1; + } + cap_sync_regs = kvm_check_extension(s, KVM_CAP_SYNC_REGS); cap_async_pf = kvm_check_extension(s, KVM_CAP_ASYNC_PF); cap_mem_op = kvm_check_extension(s, KVM_CAP_S390_MEM_OP); From 7505deca0bfa859136ec6419dbafc504f22fcac2 Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Wed, 18 Sep 2019 16:42:14 +0200 Subject: [PATCH 5/5] s390x/cpumodel: Add the z15 name to the description of gen15a We now know that gen15a is called z15. Reviewed-by: David Hildenbrand Signed-off-by: Christian Borntraeger --- target/s390x/cpu_models.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c index 1d16d7d5e7..009afc38b9 100644 --- a/target/s390x/cpu_models.c +++ b/target/s390x/cpu_models.c @@ -84,7 +84,7 @@ static S390CPUDef s390_cpu_defs[] = { CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"), CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"), CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"), - CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "gen15a", "IBM 8561 GA1"), + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "gen15a", "IBM z15 GA1"), CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "gen15b", "IBM 8562 GA1"), };