History | View | Annotate | Download (9 kB)
s390x: initialize virtio dev region
When running the s390x virtio machine we can potentially use uninitializedmemory for the virtio device backing ram. That can lead to weird breakge.
So let's better initialize it to 0 properly.
Reported-by: Andreas Färber <afaerber@suse.de>...
s390: fix reset hypercall to reset the status
This patch fixes the reset hypercall which is supposed to alsoreset the device status in device memory.This fixes the following bug:
[root@localhost driver]# echo virtio0 > unbind[ 35.056966] ------------[ cut here ]------------...
s390: fix short kernel command lines
The default kernel command line for s390 is"root=/dev/ram0 ro"
When overriding this line, we have to ensure to also copy the \0 toavoid false lines, for example, -append "root=/dev/vda" will result in"root=/dev/vda0 ro" with the current code....
s390: Fix cpu shutdown for KVM
On s390 a shutdown is the state of all CPUs being either stoppedor disabled (for interrupts) waiting. We have to track the overallnumber of running CPUs to call the shutdown sequence accordingly.This patch implements the counting and shutdown handling for the...
s390-virtio: convert to memory API
Signed-off-by: Avi Kivity <avi@redhat.com>
monitor: Restrict pic/irq_info to supporting targets
This allows to drop various stubs and move the i8359 into hwlib.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Use glib memory allocation and free functions
qemu_malloc/qemu_free no longer exist after this commit.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
s390-virtio: use specific endian ld/st_phys
Signed-off-by: Alexander Graf <agraf@suse.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
s390x: fix memory detection for guests > 64GB
the s390 memory detection has a 16bit field that specifies the amount ofincrements. This patch adopts the memory size to always fit into thatscheme. This also fixes virtio detection for these guests, since the...
s390x: virtio machine storage keys
For emulation (and migration) we need to know about the guest's storage keys.These are separate from actual RAM contents, so we need to allocate them inparallel to RAM.
While touching the file, this patch also adjusts the hypercall function...
s390x: Prepare cpu.h for emulation
We need to add some more logic to the CPU description to leverage emulationof an s390x CPU. This patch adds all the required helpers, fields in CPUStateand constant definitions required for user and system emulation....
Replace cpu_physical_memory_rw were possible
Using cpu_physical_memory_read, cpu_physical_memory_write and ldub_physimproves readability and allows removing some type casts.
lduw_phys and ldl_phys were not used because both require alignedaddresses. Therefore it is not possible to simply replace existing...
s390: Fix memory leak
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
s390: compile fixes
The s390 target doesn't compile out of the box anymore. This patch fixes allthe obvious glitches that got introduced in the last few weeks.
Signed-off-by: Alexander Graf <agraf@suse.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
qemu_ram_alloc: Add DeviceState and name parameters
These will be used to generate unique id strings for ramblocks. The namefield is required, the device pointer is optional as most callers don'thave a device. When there's no device or the device isn't a child of...
qdev: Decouple qdev_prop_drive from DriveInfo
Make the property point to BlockDriverState, cutting out the DriveInfomiddleman. This prepares the ground for block devices that don't havea DriveInfo.
Currently all user-defined ones have a DriveInfo, because the only way...
block: Catch attempt to attach multiple devices to a blockdev
For instance, -device scsi-disk,drive=foo -device scsi-disk,drive=foohappily creates two SCSI disks connected to the same block device.It's all downhill from there.
Device usb-storage deliberately attaches twice to the same blockdev,...
target-s390: add firmware code
This patch adds a firmware blob to the S390 target. The blob is a simpleimplementation of a virtio client that tries to read the second stagebootloader from sectors described as of offset 0x20 in the MBR.
In combination with an updated zipl this allows for booting from virtio...
Implement virtio reset
The guest may issue a RESET command for virtio. So far we didn't botherto implement it, but with my new bootloader we actually need it for Linuxto get back to a safe state.
KVM: Rework VCPU state writeback API
This grand cleanup drops all reset and vmsave/load relatedsynchronization points in favor of four(!) generic hooks:
- cpu_synchronize_all_states in qemu_savevm_state_complete (initial sync from kernel before vmsave)...
virtio-console: qdev conversion, new virtio-serial-bus
This commit converts the virtio-console device to create a newvirtio-serial bus that can host console and generic serial ports. Thefile hosting this code is now called virtio-serial-bus.c.
The virtio console is now a very simple qdev device that sits on the...
S390: Bail out without KVM
Currently only the S390 KVM target works. To keep users from accidently notusing KVM, let's not even initialize the machine when KVM is not used.
S390: Loop through virtio console devices
We used to always create one single virtio console device. This breaks wheneither zero of multiple virtio console devices are requested, so let's usethe same code as on x86.
Signed-off-by: Alexander Graf <agraf@suse.de>...
s390: Fix buggy assignment
nd->model keeps dynamically allocated model names.So casting of a constant string is wrong here.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Acked-by: Alexander Graf <agraf@suse.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
s390: typo fix
s390 code has an obvious typo, which results in:hw/s390-virtio.c: At top level:hw/s390-virtio.c:249: error: request for member ‘no_vga’ in something not a structure or union
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>Acked-by: Alexander Graf <agraf@suse.de>...
s390: fix build on 32 bit host
Building on 32 bit host we get:hw/s390-virtio.c: In function ‘s390_init’:hw/s390-virtio.c:184: error: integer constant is too large for ‘unsigned long’ type64 bit values must be ULL.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
Set default console to virtio on S390x
All "normal" system emulation targets in qemu I'm aware of displayoutput on either VGA or serial output.
Our S390x virtio machine doesn't have such kind of legacy hardware. Soinstead we need to default to a virtio console....
Add S390x virtio machine description
In order to use the new S390x virtio bus we just introduced, we alsoneed a machine description that sets up the machine according to ourPV specification.
Let's add that machine description and be happy!