summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20170830' into stagingPeter Maydell2017-08-3162-853/+1257
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First batch of s390x patches: - 2.11 compat machine - support the new --s390-pgste linker option, making it possible to avoid enabling the global vm.allocate_pgste systl if all pieces are in place - correctly identify some devices as not hotpluggable - clean up some tests and enable them for s390x - wire up the diag288 watchdog in tcg - clean up dependencies on CONFIG_PCI, making it possible to disable it by hand - lots of cleanup in target/s390x/ - fix alignment of the ccw1 structure in the s390-ccw bios - and some more bugfixes # gpg: Signature made Wed 30 Aug 2017 17:40:34 BST # gpg: using RSA key 0xDECF6B93C6F02FAF # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" # gpg: aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" # gpg: aka "Cornelia Huck <cornelia.huck@de.ibm.com>" # gpg: aka "Cornelia Huck <cohuck@kernel.org>" # gpg: aka "Cornelia Huck <cohuck@redhat.com>" # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0 18CE DECF 6B93 C6F0 2FAF * remotes/cohuck/tags/s390x-20170830: (44 commits) s390x/pci: fixup trap_msix() pc-bios/s390-ccw.img: update image s390-ccw: Fix alignment for CCW1 s390x/s390-stattrib: Mark the storage attribute as not user_creatable target/s390x: cleanup cpu.h s390x/kvm: move KVM declarations and stubs to separate files s390x: avoid calling kvm_ functions outside of target/s390x/ target/s390x: move a couple of functions to cpu.c target/s390x: introduce internal.h target/s390x: move get_per_in_range() to misc_helper.c target/s390x: move s390_do_cpu_reset() to diag.c target/s390x: move psw_key_valid() to mem_helper.c target/s390x: move cpu_mmu_idx_to_asc() to excp_helper.c target/s390x: move cc_name() to helper.c target/s390x: move gtod_*() declarations to s390-virtio.h s390x: drop inclusion of sysemu/kvm.h from some files s390x/cpumodel: factor out determination of default model name target/s390x: no need to pass kvm_state to savevm_gtod handlers target/s390x: simplify gs_allowed() target/s390x: simplify ri_allowed() ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
| * s390x/pci: fixup trap_msix()Yi Min Zhao2017-08-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The function trap_msix() is to check if pcistg instruction would access msix table entries. The correct boundary condition should be [table_offset, table_offset+entries*entry_size). But the current condition calculated misses the last entry. So let's fixup it. Acked-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> Signed-off-by: Yi Min Zhao <zyimin@linux.vnet.ibm.com> Message-Id: <1503907487-2764-2-git-send-email-zyimin@linux.vnet.ibm.com> Cc: qemu-stable@nongnu.org Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * pc-bios/s390-ccw.img: update imageCornelia Huck2017-08-301-0/+0
| | | | | | | | | | | | | | | | Contains the following commit: - s390-ccw: Fix alignment for CCW1 Cc: qemu-stable@nongnu.org Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390-ccw: Fix alignment for CCW1Farhan Ali2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit 198c0d1f9df8c4 s390x/css: check ccw address validity exposes an alignment issue in ccw bios. According to PoP the CCW must be doubleword aligned. Let's fix this in the bios. Cc: qemu-stable@nongnu.org Signed-off-by: Farhan Ali <alifm@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Reviewed-by: Eric Farman <farman@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Message-Id: <3ed8b810b6592daee6a775037ce21f850e40647d.1503667215.git.alifm@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/s390-stattrib: Mark the storage attribute as not user_creatableThomas Huth2017-08-302-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | The storage attribute devices are only meant to be instantiated one time, internally. They can not be used by the user, so mark them with user_creatable = false. Suggested-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1503576029-24264-1-git-send-email-thuth@redhat.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: cleanup cpu.hDavid Hildenbrand2017-08-301-69/+68Star
| | | | | | | | | | | | | | | | | | | | | | Let's reshuffle the function prototypes so we get a cleaner outline of the files. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-19-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/kvm: move KVM declarations and stubs to separate filesDavid Hildenbrand2017-08-3013-119/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's do it just like the other architectures. Introduce kvm-stub.c for stubs and kvm_s390x.h for the declarations. Change license to GPL2+ and keep copyright notice. As we are dropping the sysemu/kvm.h include from cpu.h, fix up includes. Suggested-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-18-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x: avoid calling kvm_ functions outside of target/s390x/David Hildenbrand2017-08-303-3/+9
| | | | | | | | | | | | | | | | | | | | | | Let's just introduce an helper. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-17-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move a couple of functions to cpu.cDavid Hildenbrand2017-08-302-79/+89
| | | | | | | | | | | | | | | | | | | | | | | | Prepare to move more stuff (especially KVM related) from cpu.h to internal.h. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-16-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: introduce internal.hDavid Hildenbrand2017-08-3020-343/+409
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cpu.h should only contain what really has to be accessed outside of target/s390x/. Add internal.h which can only be used inside target/s390x/. Move everything that isn't fast enough to run away and restructure it right away. We'll move all kvm_* stuff later. Minor style fixes to avoid checkpatch warning to: - struct Lowcore: "{" goes into same line as typedef - struct LowCore: add spaces around "-" in array length calculations - time2tod() and tod2time(): move "{" to separate line - get_per_atmid(): add space between ")" and "?". Move cases by one char. - get_per_atmid(): drop extra paremthesis around (1 << 6) Change license of new file to GPL2+ and keep copyright notice. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-15-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move get_per_in_range() to misc_helper.cDavid Hildenbrand2017-08-302-11/+11
| | | | | | | | | | | | | | | | | | | | | | Only used in that file. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-14-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move s390_do_cpu_reset() to diag.cDavid Hildenbrand2017-08-302-7/+7
| | | | | | | | | | | | | | | | | | | | | | Only used in that file. Also drop the comment, not really needed. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-13-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move psw_key_valid() to mem_helper.cDavid Hildenbrand2017-08-302-11/+11
| | | | | | | | | | | | | | | | | | | | | | Only used in that file. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-12-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move cpu_mmu_idx_to_asc() to excp_helper.cDavid Hildenbrand2017-08-302-14/+14
| | | | | | | | | | | | | | | | | | | | | | Only used in that file. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-11-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move cc_name() to helper.cDavid Hildenbrand2017-08-302-47/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | While at it, move the translations into the function and properly pass enum cc_op as parameter. We can't move it to cc_helper.c as this would break --disable-tcg. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-10-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: move gtod_*() declarations to s390-virtio.hDavid Hildenbrand2017-08-302-3/+2Star
| | | | | | | | | | | | | | | | | | | | The functions are not used in target/s390x/ so a header in hw/s390x/ is a better place. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-9-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x: drop inclusion of sysemu/kvm.h from some filesDavid Hildenbrand2017-08-304-4/+1Star
| | | | | | | | | | | | | | | | s390-stattrib.c needs definition of TARGET_PAGE_SIZE, solve it via cpu.h. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-8-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/cpumodel: factor out determination of default model nameDavid Hildenbrand2017-08-303-6/+10
| | | | | | | | | | | | | | | | | | Now we can drop inclusion of "sysemu/kvm.h" from "s390-virtio.c". Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-7-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: no need to pass kvm_state to savevm_gtod handlersDavid Hildenbrand2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | Let's avoid any KVM stuff in s390-virtio-ccw.c. This parameter is simply ignored. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-6-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: simplify gs_allowed()David Hildenbrand2017-08-301-12/+2Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No need for kvm_enabled() as this function is only called from KVM and there is no reason why it shouldn't be allowed for tcg. It is simply not available under tcg. Also, there is no need to check for the machine type anymore. Just like ri_enabled(), we can directly use the stored flag, which results in "true" for the "none" machine. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-5-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * target/s390x: simplify ri_allowed()David Hildenbrand2017-08-301-3/+0Star
| | | | | | | | | | | | | | | | | | | | Only used in KVM and there is no reason why it shouldn't be allowed for tcg - it is simply not available. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-4-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/kvm: drop KVMState parameter from kvm_s390_set_mem_limit()David Hildenbrand2017-08-302-10/+9Star
| | | | | | | | | | | | | | | | | | | | Not needed at that point. Also drop it from kvm_s390_query_mem_limit() we call in kvm_s390_set_mem_limit(). Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-3-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/kvm: drop KVMState parameter from s390_get_memslot_count()David Hildenbrand2017-08-303-7/+7
| | | | | | | | | | | | | | | | | | Not needed at that point. Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170818114353.13455-2-david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/s390-skeys: Mark the storage key devices with user_creatable = falseThomas Huth2017-08-302-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEMU currently aborts if the user tries to create a skey device: $ s390x-softmmu/qemu-system-s390x -nographic -device s390-skeys-qemu qemu-system-s390x: hw/s390x/s390-skeys.c:30: s390_get_skeys_device: Assertion `ss' failed. Aborted (core dumped) The storage key devices are only meant to be instantiated one time, internally. They can not be used by the user, so mark them with user_creatable = false. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1503569328-22197-1-git-send-email-thuth@redhat.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x: refine pci dependenciesCornelia Huck2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | VIRTIO_PCI should properly depend on CONFIG_PCI. With this change, we can switch off pci for s390x by removing 'CONFIG_PCI=y' from the default config. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/pci: fence off instructions for non-pciCornelia Huck2017-08-301-13/+41
| | | | | | | | | | | | | | | | | | | | If a guest running on a machine without zpci issues a pci instruction, throw them an exception. Reviewed-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/sclp: properly guard pci-specific functionsCornelia Huck2017-08-304-29/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we do not provide zpci, pci reconfiguration via sclp is not available either. I/O adapter configuration, however, should always be present. Rename the values that refer to I/O adapter configuration (instead of only pci) to make things clearer. Move length checking of the sccb for I/O adapter configuration into the common sclp code (out of the pci code). This also fixes an issue that the pci code would refer to a field in the sccb before checking whether it was actually long enough. Check for the adapter type in the sccb and return unrecognized adapter type if the guest tries to issue I/O adapter configure/deconfigure for a type other than pci or for pci if the zpci facility is not provided. Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/ccw: create s390 phb conditionallyCornelia Huck2017-08-301-6/+8
| | | | | | | | | | | | | | | | | | Don't create the s390 pci host bridge if we do not provide the zpci facility. Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/pci: do not advertise pci on non-pci buildsCornelia Huck2017-08-301-1/+3
| | | | | | | | | | | | | | | | | | Only set the zpci feature bit on builds that actually support pci. Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x: chsc nt2 events are pci-onlyCornelia Huck2017-08-304-6/+22
| | | | | | | | | | | | | | | | | | The nt2 event class is pci-only - don't look for events if pci is not in the active cpu model. Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/pci: add stubsCornelia Huck2017-08-303-1/+79
| | | | | | | | | | | | | | | | | | | | Some non-pci code calls into zpci code. Provide some stubs for builds without pci. Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * kvm: remove hard dependency on pciCornelia Huck2017-08-304-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The msi routing code in kvm calls some pci functions: provide some stubs to enable builds without pci. Also, to make this more obvious, guard them via a pci_available boolean (which also can be reused in other places). Fixes: e1d4fb2de ("kvm-irqchip: x86: add msi route notify fn") Fixes: 767a554a0 ("kvm-all: Pass requester ID to MSI routing functions") Reviewed-by: Pierre Morel <pmorel@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * 9pfs: fix dependenciesCornelia Huck2017-08-303-8/+5Star
| | | | | | | | | | | | | | | | | | | | Nothing in fsdev/ or hw/9pfs/ depends on pci; it should rather depend on CONFIG_VIRTFS and CONFIG_VIRTIO/CONFIG_XEN only. Acked-by: Greg Kurz <groug@kaod.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * configure: enable --s390-pgste linker optionChristian Borntraeger2017-08-301-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | KVM guests on s390 need a different page table layout than normal processes (2kb page table + 2kb page status extensions vs 2kb page table only). As of today this has to be enabled via the vm.allocate_pgste sysctl. Newer kernels (>= 4.12) on s390 check for an S390_PGSTE program header and enable the pgste page table extensions in that case. This makes the vm.allocate_pgste sysctl unnecessary. We enable this program header for the s390 system emulation (qemu-system-s390x) if we build on s390 - for s390 system emulation - the linker supports --s390-pgste (binutils >= 2.29) - KVM is enabled This will allow distributions to disable the global vm.allocate_pgste sysctl, which will improve the page table allocation for non KVM processes as only 2kb chunks are necessary. Cc: Christian Ehrhardt <christian.ehrhardt@canonical.com> Cc: Alexander Graf <agraf@suse.de> Cc: Dan Horak <dhorak@redhat.com> Cc: David Hildenbrand <david@redhat.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Janosch Frank <frankja@linux.vnet.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <1503483383-199649-1-git-send-email-borntraeger@de.ibm.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x: wire up diag288 in tcgCornelia Huck2017-08-301-0/+4
| | | | | | | | | | | | | | Make the diag288 watchdog useable via tcg as well. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * watchdog/wdt_diag288: Mark diag288 watchdog as non-hotpluggableThomas Huth2017-08-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QEMU currently aborts when the user tries to hot-unplug a diag288 device: $ qemu-system-s390x -nographic -nodefaults -S -monitor stdio QEMU 2.9.92 monitor - type 'help' for more information (qemu) device_add diag288,id=x (qemu) device_del x ** ERROR:qemu/qdev-monitor.c:872:qdev_unplug: assertion failed: (hotplug_ctrl) Aborted (core dumped) The device is not designed as hot-pluggable (it should only be used via the "-watchdog" parameter), so let's simply remove the possibility to hotplug it to prevent that users can run into this ugly situation. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1502892528-22618-1-git-send-email-thuth@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/tcg: specification exception for unknown diagCornelia Huck2017-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | While the PoP is silent on the issue, z/VM documentation states that unknown diagnose codes trigger a specification exception. We already do that when running with kvm, so change tcg to do so as well. Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * tests: Add network filter tests to the check-qtest-s390x listThomas Huth2017-08-304-9/+36
| | | | | | | | | | | | | | | | | | | | | | With some small modifications, we can also use the the netfilter, the filter-mirror and the filter-redirector tests on s390x. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <1502951113-4246-3-git-send-email-thuth@redhat.com> Reviewed-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * tests: Run filter-redirector and -mirror test only on POSIX systemsThomas Huth2017-08-303-19/+4Star
| | | | | | | | | | | | | | | | | | | | | | | | This way we can get rid of the ugly #ifdefs in the code which makes it easier to extend later. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <1502951113-4246-2-git-send-email-thuth@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Zhang Chen <zhangchen.fnst@cn.fujitsu.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * tests/pxe: Check virtio-net-ccw on s390xThomas Huth2017-08-303-0/+28
| | | | | | | | | | | | | | | | | | | | | | Now that we've got a firmware that can do TFTP booting on s390x (i.e. the pc-bios/s390-netboot.img), we can enable the PXE tester for this architecture, too. Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <1502431076-22849-3-git-send-email-thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * tests/boot-sector: Do not overwrite the x86 buffer on other architecturesThomas Huth2017-08-301-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-using the boot_sector code buffer from x86 for other architectures is not very nice, especially if we add more architectures later. It's also ugly that the test uses a huge pre-initialized array at all - the size of the executable is very huge due to this array. So let's use a separate buffer for each architecture instead, allocated from the heap, so that we really just use the memory that we need. Suggested-by: Michael Tsirkin <mst@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Message-Id: <1502431076-22849-2-git-send-email-thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/ipl: The s390-ipl device is not hot-pluggableThomas Huth2017-08-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The s390-ipl device can not be created by the user, since it is meant only to be instantiated once internally to load the ROMs and kernel. If the user tries to do a "device_add s390-ipl" via the monitor later, QEMU aborts with a "ROM images must be loaded at startup" error message. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1502861458-30270-1-git-send-email-thuth@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x: introduce 2.11 compat machineCornelia Huck2017-08-302-1/+19
| | | | | | | | | | | | Reviewed-by: David Hildenbrand <david@redhat.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/css: generate solicited crw for rchp completion signalingDong Jia Shi2017-08-302-7/+12
| | | | | | | | | | | | | | | | | | | | | | | | A successful completion of rchp should signal a solicited channel path initialized CRW (channel report word), while the current implementation always generates an un-solicited one. Let's fix this. Reported-by: Halil Pasic <pasic@linux.vnet.ibm.com> Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Message-Id: <20170803003527.86979-3-bjsdjshi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
| * s390x/css: use macro for event-information pending error recover codeDong Jia Shi2017-08-302-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | Let's use a macro for the ERC (error recover code) when generating a Channel Subsystem Event-information pending CRW (channel report word). While we are at it, let's also add all other ERCs. Signed-off-by: Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com> Reviewed-by: Halil Pasic <pasic@linux.vnet.ibm.com> Message-Id: <20170803003527.86979-2-bjsdjshi@linux.vnet.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
* | slirp: fix clearing ifq_so from pending packetsSamuel Thibault2017-08-311-16/+23
| | | | | | | | | | | | | | | | | | | | | | The if_fastq and if_batchq contain not only packets, but queues of packets for the same socket. When sofree frees a socket, it thus has to clear ifq_so from all the packets from the queues, not only the first. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* | Open 2.11 development treePeter Maydell2017-08-311-1/+1
|/ | | | Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* Update version for v2.10.0 releasePeter Maydell2017-08-301-1/+1
| | | | Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* Update version for v2.10.0-rc4 releasePeter Maydell2017-08-241-1/+1
| | | | Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
* Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2017-08-23' into ↵Peter Maydell2017-08-2310-25/+170
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | staging nbd patches for 2017-08-23 - Fam Zheng: 0/4 block: Fix non-shared storage migration - Stefan Hajnoczi: qemu-iotests: add 194 non-shared storage migration test - Stefan Hajnoczi: nbd-client: avoid spurious qio_channel_yield() re-entry # gpg: Signature made Wed 23 Aug 2017 17:22:53 BST # gpg: using RSA key 0xA7A16B4A2527436A # gpg: Good signature from "Eric Blake <eblake@redhat.com>" # gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" # gpg: aka "[jpeg image of size 6874]" # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * remotes/ericb/tags/pull-nbd-2017-08-23: nbd-client: avoid spurious qio_channel_yield() re-entry qemu-iotests: add 194 non-shared storage migration test block: Update open_flags after ->inactivate() callback mirror: Mark target BB as "force allow inactivate" block-backend: Allow more "can inactivate" cases block-backend: Refactor inactivate check Signed-off-by: Peter Maydell <peter.maydell@linaro.org>