From eac53ac598cc43e325658a6889d9951fd7244e11 Mon Sep 17 00:00:00 2001 From: David Hildenbrand Date: Fri, 6 Apr 2018 11:35:52 +0200 Subject: [PATCH 1/8] s390x/kvm: call cpu_synchronize_state() on every kvm_arch_handle_exit() Manually having to use cpu_synchronize_state() is error prone. And as Christian Borntraeger discovered, e.g. handle_diag() is currently missing a cpu_synchronize_state(), as decode_basedisp_s() uses a general purpose register value internally. So let's do an overall cpu_synchronize_state(), which fixes at least the one mentioned BUG. We will clean up the superfluous cpu_synchronize_state() calls later. We now also call it (although maybe not neded) for - KVM_EXIT_S390_RESET -> s390_reipl_request() - KVM_EXIT_DEBUG -> kvm_arch_handle_debug_exit() - unmanagable/unimplemented intercepts - ICPT_CPU_STOP -> do_stop_interrupt() -> cpu gets halted - Scenarios where we inject an operation exception - handle_stsi() I don't think any of these are performance critical. Especially as we have all information directly contained in kvm_run, there are no additional IOCTLs to issue on modern kernels. Signed-off-by: David Hildenbrand Message-Id: <20180406093552.13016-1-david@redhat.com> Acked-by: Christian Borntraeger Signed-off-by: Cornelia Huck --- target/s390x/kvm.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c index f570896dc1..fb59d92def 100644 --- a/target/s390x/kvm.c +++ b/target/s390x/kvm.c @@ -1778,6 +1778,8 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run) qemu_mutex_lock_iothread(); + cpu_synchronize_state(cs); + switch (run->exit_reason) { case KVM_EXIT_S390_SIEIC: ret = handle_intercept(cpu); From 11ef6d50fcfaa29e547c9755bdc56b093bb9ba67 Mon Sep 17 00:00:00 2001 From: Viktor Mihajlovski Date: Thu, 5 Apr 2018 17:07:22 +0200 Subject: [PATCH 2/8] s390: Refactor IPL parameter block generation Splitting out the the CCW device extraction allows reuse. Signed-off-by: Viktor Mihajlovski Message-Id: <1522940844-12336-2-git-send-email-mihajlov@linux.vnet.ibm.com> Reviewed-by: Farhan Ali Reviewed-by: Thomas Huth Signed-off-by: Cornelia Huck --- hw/s390x/ipl.c | 83 +++++++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 31 deletions(-) diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index fdeaec3a58..58e33c5446 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -279,44 +279,52 @@ static void s390_ipl_set_boot_menu(S390IPLState *ipl) *timeout = cpu_to_be32(splash_time); } -static bool s390_gen_initial_iplb(S390IPLState *ipl) +static CcwDevice *s390_get_ccw_device(DeviceState *dev_st) { - DeviceState *dev_st; + CcwDevice *ccw_dev = NULL; - dev_st = get_boot_device(0); if (dev_st) { VirtioCcwDevice *virtio_ccw_dev = (VirtioCcwDevice *) object_dynamic_cast(OBJECT(qdev_get_parent_bus(dev_st)->parent), - TYPE_VIRTIO_CCW_DEVICE); + TYPE_VIRTIO_CCW_DEVICE); + if (virtio_ccw_dev) { + ccw_dev = CCW_DEVICE(virtio_ccw_dev); + } else { + SCSIDevice *sd = (SCSIDevice *) + object_dynamic_cast(OBJECT(dev_st), + TYPE_SCSI_DEVICE); + if (sd) { + SCSIBus *bus = scsi_bus_from_device(sd); + VirtIOSCSI *vdev = container_of(bus, VirtIOSCSI, bus); + VirtIOSCSICcw *scsi_ccw = container_of(vdev, VirtIOSCSICcw, + vdev); + + ccw_dev = (CcwDevice *)object_dynamic_cast(OBJECT(scsi_ccw), + TYPE_CCW_DEVICE); + } + } + } + return ccw_dev; +} + +static bool s390_gen_initial_iplb(S390IPLState *ipl) +{ + DeviceState *dev_st; + CcwDevice *ccw_dev = NULL; + + dev_st = get_boot_device(0); + if (dev_st) { + ccw_dev = s390_get_ccw_device(dev_st); + } + + /* + * Currently allow IPL only from CCW devices. + */ + if (ccw_dev) { SCSIDevice *sd = (SCSIDevice *) object_dynamic_cast(OBJECT(dev_st), TYPE_SCSI_DEVICE); - VirtIONet *vn = (VirtIONet *) object_dynamic_cast(OBJECT(dev_st), - TYPE_VIRTIO_NET); - - if (vn) { - ipl->netboot = true; - } - if (virtio_ccw_dev) { - CcwDevice *ccw_dev = CCW_DEVICE(virtio_ccw_dev); - - ipl->iplb.len = cpu_to_be32(S390_IPLB_MIN_CCW_LEN); - ipl->iplb.blk0_len = - cpu_to_be32(S390_IPLB_MIN_CCW_LEN - S390_IPLB_HEADER_LEN); - ipl->iplb.pbt = S390_IPL_TYPE_CCW; - ipl->iplb.ccw.devno = cpu_to_be16(ccw_dev->sch->devno); - ipl->iplb.ccw.ssid = ccw_dev->sch->ssid & 3; - } else if (sd) { - SCSIBus *bus = scsi_bus_from_device(sd); - VirtIOSCSI *vdev = container_of(bus, VirtIOSCSI, bus); - VirtIOSCSICcw *scsi_ccw = container_of(vdev, VirtIOSCSICcw, vdev); - CcwDevice *ccw_dev; - - ccw_dev = (CcwDevice *)object_dynamic_cast(OBJECT(scsi_ccw), - TYPE_CCW_DEVICE); - if (!ccw_dev) { /* It might be a PCI device instead */ - return false; - } + if (sd) { ipl->iplb.len = cpu_to_be32(S390_IPLB_MIN_QEMU_SCSI_LEN); ipl->iplb.blk0_len = cpu_to_be32(S390_IPLB_MIN_QEMU_SCSI_LEN - S390_IPLB_HEADER_LEN); @@ -327,12 +335,25 @@ static bool s390_gen_initial_iplb(S390IPLState *ipl) ipl->iplb.scsi.devno = cpu_to_be16(ccw_dev->sch->devno); ipl->iplb.scsi.ssid = ccw_dev->sch->ssid & 3; } else { - return false; /* unknown device */ + VirtIONet *vn = (VirtIONet *) object_dynamic_cast(OBJECT(dev_st), + TYPE_VIRTIO_NET); + + ipl->iplb.len = cpu_to_be32(S390_IPLB_MIN_CCW_LEN); + ipl->iplb.blk0_len = + cpu_to_be32(S390_IPLB_MIN_CCW_LEN - S390_IPLB_HEADER_LEN); + ipl->iplb.pbt = S390_IPL_TYPE_CCW; + ipl->iplb.ccw.devno = cpu_to_be16(ccw_dev->sch->devno); + ipl->iplb.ccw.ssid = ccw_dev->sch->ssid & 3; + + if (vn) { + ipl->netboot = true; + } } if (!s390_ipl_set_loadparm(ipl->iplb.loadparm)) { ipl->iplb.flags |= DIAG308_FLAGS_LP_VALID; } + return true; } From 789b5a401b330510da663b4d4ae1ef8a7410c353 Mon Sep 17 00:00:00 2001 From: Viktor Mihajlovski Date: Thu, 5 Apr 2018 17:07:23 +0200 Subject: [PATCH 3/8] s390: Ensure IPL from SCSI works as expected Operating systems may request an IPL from a virtio-scsi device by specifying an IPL parameter type of CCW. In this case QEMU won't set up the IPLB correctly. The BIOS will still detect it's a SCSI device to boot from, but it will now have to search for the first LUN and attempt to boot from there. However this may not be the original boot LUN if there's more than one SCSI disk attached to the HBA. With this change QEMU will detect that the request is for a SCSI device and will rebuild the initial IPL parameter info if it's the SCSI device used for the first boot. In consequence the BIOS can use the boot LUN from the IPL information block. In case a different SCSI device has been set, the BIOS will find and use the first available LUN. Signed-off-by: Viktor Mihajlovski Message-Id: <1522940844-12336-3-git-send-email-mihajlov@linux.vnet.ibm.com> Reviewed-by: Farhan Ali Reviewed-by: Thomas Huth Signed-off-by: Cornelia Huck --- hw/s390x/ipl.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 58e33c5446..fb554ab156 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -427,7 +427,8 @@ unref_mr: return img_size; } -static bool is_virtio_net_device(IplParameterBlock *iplb) +static bool is_virtio_ccw_device_of_type(IplParameterBlock *iplb, + int virtio_id) { uint8_t cssid; uint8_t ssid; @@ -447,13 +448,23 @@ static bool is_virtio_net_device(IplParameterBlock *iplb) sch = css_find_subch(1, cssid, ssid, schid); if (sch && sch->devno == devno) { - return sch->id.cu_model == VIRTIO_ID_NET; + return sch->id.cu_model == virtio_id; } } } return false; } +static bool is_virtio_net_device(IplParameterBlock *iplb) +{ + return is_virtio_ccw_device_of_type(iplb, VIRTIO_ID_NET); +} + +static bool is_virtio_scsi_device(IplParameterBlock *iplb) +{ + return is_virtio_ccw_device_of_type(iplb, VIRTIO_ID_SCSI); +} + void s390_ipl_update_diag308(IplParameterBlock *iplb) { S390IPLState *ipl = get_ipl_device(); @@ -478,6 +489,22 @@ void s390_reipl_request(void) S390IPLState *ipl = get_ipl_device(); ipl->reipl_requested = true; + if (ipl->iplb_valid && + !ipl->netboot && + ipl->iplb.pbt == S390_IPL_TYPE_CCW && + is_virtio_scsi_device(&ipl->iplb)) { + CcwDevice *ccw_dev = s390_get_ccw_device(get_boot_device(0)); + + if (ccw_dev && + cpu_to_be16(ccw_dev->sch->devno) == ipl->iplb.ccw.devno && + (ccw_dev->sch->ssid & 3) == ipl->iplb.ccw.ssid) { + /* + * this is the original boot device's SCSI + * so restore IPL parameter info from it + */ + ipl->iplb_valid = s390_gen_initial_iplb(ipl); + } + } qemu_system_reset_request(SHUTDOWN_CAUSE_GUEST_RESET); } From e8c7ef288abb05b741a95418ee2de85c1071e0db Mon Sep 17 00:00:00 2001 From: Viktor Mihajlovski Date: Thu, 5 Apr 2018 17:07:24 +0200 Subject: [PATCH 4/8] s390: Do not pass inofficial IPL type to the guest IPL over a virtio-scsi device requires special handling not available in the real architecture. For this purpose the IPL type 0xFF has been chosen as means of communication between QEMU and the pc-bios. However, a guest OS could be confused by seeing an unknown IPL type. This change sets the IPL parameter type to 0x02 (CCW) to prevent this. Pre-existing Linux has looked up the IPL parameters only in the case of FCP IPL. This means that the behavior should stay the same even if Linux checks for the IPL type unconditionally. Signed-off-by: Viktor Mihajlovski Message-Id: <1522940844-12336-4-git-send-email-mihajlov@linux.vnet.ibm.com> Reviewed-by: Christian Borntraeger Signed-off-by: Cornelia Huck --- pc-bios/s390-ccw/bootmap.c | 7 +++++++ pc-bios/s390-ccw/iplb.h | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/pc-bios/s390-ccw/bootmap.c b/pc-bios/s390-ccw/bootmap.c index fc2a9fe33b..9287b7a70f 100644 --- a/pc-bios/s390-ccw/bootmap.c +++ b/pc-bios/s390-ccw/bootmap.c @@ -70,6 +70,13 @@ static void jump_to_IPL_code(uint64_t address) { /* store the subsystem information _after_ the bootmap was loaded */ write_subsystem_identification(); + + /* prevent unknown IPL types in the guest */ + if (iplb.pbt == S390_IPL_TYPE_QEMU_SCSI) { + iplb.pbt = S390_IPL_TYPE_CCW; + set_iplb(&iplb); + } + /* * The IPL PSW is at address 0. We also must not overwrite the * content of non-BIOS memory after we loaded the guest, so we diff --git a/pc-bios/s390-ccw/iplb.h b/pc-bios/s390-ccw/iplb.h index 7dfce4fbcf..5357a36d51 100644 --- a/pc-bios/s390-ccw/iplb.h +++ b/pc-bios/s390-ccw/iplb.h @@ -97,16 +97,27 @@ extern QemuIplParameters qipl; #define S390_IPL_TYPE_CCW 0x02 #define S390_IPL_TYPE_QEMU_SCSI 0xff -static inline bool store_iplb(IplParameterBlock *iplb) +static inline bool manage_iplb(IplParameterBlock *iplb, bool store) { register unsigned long addr asm("0") = (unsigned long) iplb; register unsigned long rc asm("1") = 0; asm volatile ("diag %0,%2,0x308\n" : "+d" (addr), "+d" (rc) - : "d" (6) + : "d" (store ? 6 : 5) : "memory", "cc"); return rc == 0x01; } + +static inline bool store_iplb(IplParameterBlock *iplb) +{ + return manage_iplb(iplb, true); +} + +static inline bool set_iplb(IplParameterBlock *iplb) +{ + return manage_iplb(iplb, false); +} + #endif /* IPLB_H */ From c607bb8f8a6287704fdf06c78ee24d7443a6a8af Mon Sep 17 00:00:00 2001 From: Cornelia Huck Date: Fri, 6 Apr 2018 08:03:28 -0400 Subject: [PATCH 5/8] pc-bios/s390: update images Contains the following commits: - s390: Do not pass inofficial IPL type to the guest For s390-netboot.img, this also contains the following commits (update was forgotten last time): - pc-bios/s390-ccw: Move string arrays from bootmap header to .c file - pc-bios/s390-ccw: Increase virtio timeout to 30 seconds Signed-off-by: Cornelia Huck --- pc-bios/s390-ccw.img | Bin 30568 -> 30520 bytes pc-bios/s390-netboot.img | Bin 83776 -> 83856 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/pc-bios/s390-ccw.img b/pc-bios/s390-ccw.img index d17e85995db582b871f937cf74338b2eaf65a2ef..fdd6809c707274be47b21fac102c41942f1379d7 100644 GIT binary patch delta 2564 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 literal 83776 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 b?gh~x47L|6gG?|wf9=T`XR9 From be4d026f645eb31078e08d431c93a898b895024e Mon Sep 17 00:00:00 2001 From: Greg Kurz Date: Sat, 7 Apr 2018 16:43:46 +0200 Subject: [PATCH 6/8] vfio-ccw: fix memory leaks in vfio_ccw_realize() If the subchannel is already attached or if vfio_get_device() fails, the code jumps to the 'out_device_err' label and doesn't free the string it has just allocated. The code should be reworked so that vcdev->vdev.name only gets set when the device has been attached, and freed when it is about to be detached. This could be achieved with the addition of a vfio_ccw_get_device() function that would be the counterpart of vfio_put_device(). But this is a more elaborate cleanup that should be done in a follow-up. For now, let's just add calls to g_free() on the buggy error paths. Signed-off-by: Greg Kurz Message-Id: <152311222681.203086.8874800175539040298.stgit@bahia> Signed-off-by: Cornelia Huck --- hw/vfio/ccw.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/vfio/ccw.c b/hw/vfio/ccw.c index 4e5855741a..fe34b50769 100644 --- a/hw/vfio/ccw.c +++ b/hw/vfio/ccw.c @@ -357,11 +357,13 @@ static void vfio_ccw_realize(DeviceState *dev, Error **errp) if (strcmp(vbasedev->name, vcdev->vdev.name) == 0) { error_setg(&err, "vfio: subchannel %s has already been attached", vcdev->vdev.name); + g_free(vcdev->vdev.name); goto out_device_err; } } if (vfio_get_device(group, cdev->mdevid, &vcdev->vdev, &err)) { + g_free(vcdev->vdev.name); goto out_device_err; } From 61a17fea6df45f0219537536b7af92a42df6ade6 Mon Sep 17 00:00:00 2001 From: David Hildenbrand Date: Mon, 9 Apr 2018 13:30:18 +0200 Subject: [PATCH 7/8] s390x/mmu: don't overwrite pending exception in mmu translate If we already triggered another exception, don't overwrite it with a protection exception. Only applies to old KVM instances without the virtual memory access IOCTL in KVM. Signed-off-by: David Hildenbrand Message-Id: <20180409113019.14568-2-david@redhat.com> Reviewed-by: Thomas Huth Acked-by: Christian Borntraeger Signed-off-by: Cornelia Huck --- target/s390x/mmu_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c index 1deeb6e6e4..a25deef5dd 100644 --- a/target/s390x/mmu_helper.c +++ b/target/s390x/mmu_helper.c @@ -325,7 +325,7 @@ static int mmu_translate_asce(CPUS390XState *env, target_ulong vaddr, r = mmu_translate_region(env, vaddr, asc, asce, level, raddr, flags, rw, exc); - if (rw == MMU_DATA_STORE && !(*flags & PAGE_WRITE)) { + if (!r && rw == MMU_DATA_STORE && !(*flags & PAGE_WRITE)) { trigger_prot_fault(env, vaddr, asc, rw, exc); return -1; } From b3a184f51fbed3401694a9619e6842f882a64fee Mon Sep 17 00:00:00 2001 From: David Hildenbrand Date: Mon, 9 Apr 2018 13:30:19 +0200 Subject: [PATCH 8/8] s390x: load_psw() should only exchange the PSW for KVM Let's simplify it a bit. On some weird circumstances we would have tried to recompute watchpoints when running under KVM. load_psw() is called from do_restart_interrupt() during a SIGP RESTART if the target CPU is STOPPED. Let's touch watchpoints only in the TCG case - where they are used for PER emulation. Signed-off-by: David Hildenbrand Message-Id: <20180409113019.14568-3-david@redhat.com> Acked-by: Christian Borntraeger Reviewed-by: Thomas Huth Signed-off-by: Cornelia Huck --- target/s390x/helper.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/target/s390x/helper.c b/target/s390x/helper.c index 615fa24ab9..e8548f340a 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -103,16 +103,18 @@ void load_psw(CPUS390XState *env, uint64_t mask, uint64_t addr) env->psw.addr = addr; env->psw.mask = mask; - if (tcg_enabled()) { - env->cc_op = (mask >> 44) & 3; + + /* KVM will handle all WAITs and trigger a WAIT exit on disabled_wait */ + if (!tcg_enabled()) { + return; } + env->cc_op = (mask >> 44) & 3; if ((old_mask ^ mask) & PSW_MASK_PER) { s390_cpu_recompute_watchpoints(CPU(s390_env_get_cpu(env))); } - /* KVM will handle all WAITs and trigger a WAIT exit on disabled_wait */ - if (tcg_enabled() && (mask & PSW_MASK_WAIT)) { + if (mask & PSW_MASK_WAIT) { s390_handle_wait(s390_env_get_cpu(env)); } }