[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 09/20] s390x/ipl: Remove redundant usage of gr7
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PULL 09/20] s390x/ipl: Remove redundant usage of gr7 |
Date: |
Wed, 18 May 2016 12:01:05 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 |
On 17/05/2016 16:46, Cornelia Huck wrote:
> From: Alexander Yarygin <address@hidden>
>
> We don't need to pass device address for pc-bios using gr7 anymore as
> the pcbios completely relies on diag308 now, so we can remove it from
> qemu. devno, ssid and cssid are migrated but the value was never reused,
> so we can safely ignore these fields and migrate 0.
>
> Signed-off-by: Alexander Yarygin <address@hidden>
> Reviewed-by: David Hildenbrand <address@hidden>
> Signed-off-by: Cornelia Huck <address@hidden>
This probably breaks reboot after migration from 2.6.
If that's fine, all the better. :)
Thanks,
Paolo
> ---
> hw/s390x/ipl.c | 33 ++++++---------------------------
> 1 file changed, 6 insertions(+), 27 deletions(-)
>
> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c
> index 2da0f1e..5786b5e 100644
> --- a/hw/s390x/ipl.c
> +++ b/hw/s390x/ipl.c
> @@ -208,50 +208,27 @@ static Property s390_ipl_properties[] = {
> DEFINE_PROP_END_OF_LIST(),
> };
>
> -/*
> - * In addition to updating the iplstate, this function returns:
> - * - 0 if system was ipled with external kernel
> - * - -1 if no valid boot device was found
> - * - ccw id of the boot device otherwise
> - */
> -static uint64_t s390_update_iplstate(S390IPLState *ipl)
> +static bool s390_gen_initial_iplb(S390IPLState *ipl)
> {
> DeviceState *dev_st;
>
> - if (ipl->iplb_valid) {
> - ipl->cssid = 0;
> - ipl->ssid = 0;
> - ipl->devno = ipl->iplb.devno;
> - goto out;
> - }
> -
> - if (ipl->kernel) {
> - return 0;
> - }
> -
> dev_st = get_boot_device(0);
> if (dev_st) {
> VirtioCcwDevice *ccw_dev = (VirtioCcwDevice *) object_dynamic_cast(
> OBJECT(qdev_get_parent_bus(dev_st)->parent),
> TYPE_VIRTIO_CCW_DEVICE);
> if (ccw_dev) {
> - ipl->cssid = ccw_dev->sch->cssid;
> - ipl->ssid = ccw_dev->sch->ssid;
> - ipl->devno = ccw_dev->sch->devno;
> 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;
> - ipl->iplb_valid = true;
> - goto out;
> + return true;
> }
> }
>
> - return -1;
> -out:
> - return (uint32_t) (ipl->cssid << 24 | ipl->ssid << 16 | ipl->devno);
> + return false;
> }
>
> void s390_ipl_update_diag308(IplParameterBlock *iplb)
> @@ -289,7 +266,9 @@ void s390_ipl_prepare_cpu(S390CPU *cpu)
>
> if (!ipl->kernel || ipl->iplb_valid) {
> cpu->env.psw.addr = ipl->bios_start_addr;
> - cpu->env.regs[7] = s390_update_iplstate(ipl);
> + if (!ipl->iplb_valid) {
> + ipl->iplb_valid = s390_gen_initial_iplb(ipl);
> + }
> }
> }
>
>
- [Qemu-devel] [PULL 14/20] s390x/pci: separate s390_pcihost_iommu_configure function, (continued)
- [Qemu-devel] [PULL 14/20] s390x/pci: separate s390_pcihost_iommu_configure function, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 07/20] pc-bios/s390-ccw: Get device address via diag 308/6, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 18/20] s390x/pci: enhance mpcifc_service_call, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 19/20] s390x/pci: add length checking for pci sclp handlers, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 05/20] s390x/ipl: Provide ipl parameter block, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 20/20] s390x/pci: remove whitespace, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 06/20] s390x/ipl: Add ssid field to IplParameterBlock, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 10/20] hw/char: QOM'ify sclpconsole-lm.c, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 15/20] s390x/pci: export pci_dereg_ioat and pci_dereg_irqs, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 09/20] s390x/ipl: Remove redundant usage of gr7, Cornelia Huck, 2016/05/17
- Re: [Qemu-devel] [PULL 09/20] s390x/ipl: Remove redundant usage of gr7,
Paolo Bonzini <=
- [Qemu-devel] [PULL 02/20] s390x: enable runtime instrumentation, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 03/20] s390x/ipl: Extend the IplParameterBlock struct, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 17/20] s390x/pci: fix s390_pci_sclp_deconfigure, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 16/20] s390x/pci: introduce S390PCIBusDevice.iommu_enabled, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 11/20] hw/char: QOM'ify sclpconsole.c, Cornelia Huck, 2016/05/17
- [Qemu-devel] [PULL 08/20] s390-ccw.img: rebuild image, Cornelia Huck, 2016/05/17
- Re: [Qemu-devel] [PULL 00/20] First round of s390x patches for 2.7, Peter Maydell, 2016/05/17