1. 08 3月, 2018 1 次提交
    • T
      hw/s390x: Add the possibility to specify the netboot image on the command line · 3c4e9baa
      Thomas Huth 提交于
      The file name of the netboot binary is currently hard-coded to
      "s390-netboot.img", without a possibility for the user to select
      an alternative firmware image here. That's unfortunate, especially
      since the basics are already there: The filename is a property of
      the s390-ipl device. So we just have to add a check whether the user
      already provided the property and only set the default if the string
      is still empty. Now it is possible to select a different firmware
      image with "-global s390-ipl.netboot_fw=/path/to/s390-netboot.img".
      Signed-off-by: NThomas Huth <thuth@redhat.com>
      Message-Id: <1519731154-3127-1-git-send-email-thuth@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      3c4e9baa
  2. 26 2月, 2018 1 次提交
  3. 09 2月, 2018 3 次提交
  4. 19 1月, 2018 1 次提交
    • I
      possible_cpus: add CPUArchId::type field · d342eb76
      Igor Mammedov 提交于
      Remove dependency of possible_cpus on 1st CPU instance,
      which decouples configuration data from CPU instances that
      are created using that data.
      
      Also later it would be used for enabling early cpu to numa node
      configuration at runtime qmp_query_hotpluggable_cpus() should
      provide a list of available cpu slots at early stage,
      before machine_init() is called and the 1st cpu is created,
      so that mgmt might be able to call it and use output to set
      numa mapping.
      
      Use MachineClass::possible_cpu_arch_ids() callback to set
      cpu type info, along with the rest of possible cpu properties,
      to let machine define which cpu type* will be used.
      
      * for SPAPR it will be a spapr core type and for ARM/s390x/x86
        a respective descendant of CPUClass.
      
      Move parse_numa_opts() in vl.c after cpu_model is parsed into
      cpu_type so that possible_cpu_arch_ids() would know which
      cpu_type to use during layout initialization.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Message-Id: <1515597770-268979-1-git-send-email-imammedo@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      d342eb76
  5. 15 12月, 2017 5 次提交
    • C
      s390-ccw-virtio: allow for systems larger that 7.999TB · bb223055
      Christian Borntraeger 提交于
      KVM does not allow memory regions > KVM_MEM_MAX_NR_PAGES, basically
      limiting the memory per slot to 8TB-4k. As memory slots on s390/kvm must
      be a multiple of 1MB we need start a new memory region if we cross
      8TB-1M.
      
      With that (and optimistic overcommitment in the kernel) I was able to
      start a 24TB guest on a 1TB system.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Message-Id: <20171211122146.162430-1-borntraeger@de.ibm.com>
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      [CH: 1UL -> 1ULL in KVM_MEM_MAX_NR_PAGES; build fix on 32 bit hosts]
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      bb223055
    • D
      s390x: change the QEMU cpu model to a stripped down z12 · 35b4df64
      David Hildenbrand 提交于
      We are good enough to boot upstream Linux kernels / Fedora 26/27. That
      should be sufficient for now.
      
      As the QEMU CPU model is migration safe, let's add compatibility code.
      Generate the feature list to reduce the chance of messing things up in the
      future.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20171208165529.14124-1-david@redhat.com>
      [CH: squashed 's390x/cpumodel: make qemu cpu model play with "none" machine'
      (20171213132407.5227-1-david@redhat.com) and 's390x/tcg: don't include z13
      features in the qemu model' (20171213171512.17601-1-david@redhat.com) into
      patch]
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      35b4df64
    • H
      s390x: deprecate s390-squash-mcss machine prop · d69969e5
      Halil Pasic 提交于
      With the cssids unrestricted (commit "s390x/css: unrestrict cssids") the
      s390-squash-mcss machine property should not be used.  Actually Libvirt
      never supported this, so the expectation is that removing it should be
      pretty painless.  But let's play nice and deprecate it first.
      Signed-off-by: NHalil Pasic <pasic@linux.vnet.ibm.com>
      Message-Id: <20171206144438.28908-3-pasic@linux.vnet.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      d69969e5
    • H
      s390x/css: unrestrict cssids · 99577c49
      Halil Pasic 提交于
      The default css 0xfe is currently restricted to virtual subchannel
      devices. The hope when the decision was made was, that non-virtual
      subchannel devices will come around when guest can exploit multiple
      channel subsystems. Since the guests generally don't do, the pain
      of the partitioned (cssid) namespace outweighs the gain.
      
      Let us remove the corresponding restrictions (virtual devices
      can be put only in 0xfe and non-virtual devices in any css except
      the 0xfe -- while s390-squash-mcss then remaps everything to cssid 0).
      
      At the same time, change our schema for generating css bus ids to put
      both virtual and non-virtual devices into the default css (spilling over
      into other css images, if needed). The intention is to deprecate
      s390-squash-mcss. With this change devices without a specified devno
      won't end up hidden to guests not supporting multiple channel subsystems,
      unless this can not be avoided (default css full).
      
      Let us also advertise the changes to the management software (so it can
      tell are cssids unrestricted or restricted).
      
      The adverse effect of getting rid of the restriction on migration should
      not be too severe.  Vfio-ccw devices are not live-migratable yet, and for
      virtual devices using the extra freedom would only make sense with the
      aforementioned guest support in place.
      
      The auto-generated bus ids are affected by both changes. We hope to not
      encounter any auto-generated bus ids in production as Libvirt is always
      explicit about the bus id.  Since 8ed179c9 ("s390x/css: catch section
      mismatch on load", 2017-05-18) the worst that can happen because the same
      device ended up having a different bus id is a cleanly failed migration.
      I find it hard to reason about the impact of changed auto-generated bus
      ids on migration for command line users as I don't know which rules is
      such an user supposed to follow.
      
      Another pain-point is down- or upgrade of QEMU for command line users.
      The old way and the new way of doing vfio-ccw are mutually incompatible.
      Libvirt is only going to support the new way, so for libvirt users, the
      possible problems at QEMU downgrade are the following. If a domain
      contains virtual devices placed into a css different than 0xfe the domain
      will refuse to start with a QEMU not having this patch. Putting devices
      into a css different that 0xfe however won't make much sense in the near
      future (guest support). Libvirt will refuse to do vfio-ccw with a QEMU
      not having this patch. This is business as usual.
      Signed-off-by: NHalil Pasic <pasic@linux.vnet.ibm.com>
      Acked-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Reviewed-by: NDong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
      Message-Id: <20171206144438.28908-2-pasic@linux.vnet.ibm.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      99577c49
    • C
  6. 30 10月, 2017 1 次提交
    • C
      s390x/kvm: use cpu model for gscb on compat machines · 0280b3eb
      Christian Borntraeger 提交于
      Starting a guest with
         <os>
          <type arch='s390x' machine='s390-ccw-virtio-2.9'>hvm</type>
        </os>
        <cpu mode='host-model'/>
      
      on an IBM z14 results in
      
      "qemu-system-s390x: Some features requested in the CPU model are not
      available in the configuration: gs"
      
      This is because guarded storage is fenced for compat machines that did
      not have guarded storage support. While this prevents future migration
      abort (by not starting the guest at all), not being able to start a
      "host-model" guest is very much unexpected.  As it turns out, even if we
      would modify libvirt to not expand the cpu model to contain "gs" for
      compat machines, it cannot guarantee that a migration will succeed. For
      example if the kernel changes its features (or the user has nested=1 on
      one host but not on the other) the migration will fail nevertheless.  So
      instead of fencing "gs" for machines <= 2.9 lets allow it for all
      machine types that support the CPU model. This will make "host-model"
      runnable all the time, while relying on the CPU model to reject invalid
      migration attempts. We also need to change the migration for guarded
      storage.
      Additional discussions about host-model are still pending but are out
      of scope of this patch.
      Suggested-by: NDavid Hildenbrand <david@redhat.com>
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Acked-by: NDavid Hildenbrand <david@redhat.com>
      Acked-by: NCornelia Huck &lt;Cornelia Huck <cohuck@redhat.com>
      Acked-by: NHalil Pasic <pasic@linux.vnet.ibm.com>
      0280b3eb
  7. 20 10月, 2017 4 次提交
  8. 06 10月, 2017 6 次提交
  9. 20 9月, 2017 8 次提交
  10. 31 8月, 2017 6 次提交
  11. 21 7月, 2017 1 次提交
  12. 14 7月, 2017 3 次提交