mips_r4k: do not use isa_mmio
This fixes endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-8-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
mips_malta: do not use isa_mmio
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-9-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
ppc440_bamboo: do not use isa_mmio
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-10-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
mipssim: do not use isa_mmio
Untested, this board does not support PCI so it cannot run endianness-test.It should fix endianness bugs in I/O port access.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>...
mips_fulong2e: do not use isa_mmio
This board is little-endian, but still isa_mmio should die. :)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-12-git-send-email-pbonzini@redhat.com...
sparc64: remove indirection for I/O port access
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-13-git-send-email-pbonzini@redhat.com...
ebus: do not use isa_mmio
This is untested, because ebus does not have a libqos module.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-14-git-send-email-pbonzini@redhat.com...
isa_mmio: delete
It is not used anymore.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-15-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
ppc_newworld: do not use isa_mmio
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-4-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
spapr_pci: remove indirection for I/O port access
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-5-git-send-email-pbonzini@redhat.com...
prep: fix I/O port endianness
Do not swap endianness here, it will happen during cpu_{in,out}{b,w,l}.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-6-git-send-email-pbonzini@redhat.com...
mips_jazz: do not use isa_mmio
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-7-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
sh4: do not use isa_mmio
This fixes endianness bugs in I/O port access (for sh4eb).
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-2-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
ppc_oldworld: do not use isa_mmio
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Anthony Liguori <aliguori@us.ibm.com>Message-id: 1374501278-31549-3-git-send-email-pbonzini@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
po/Makefile: Use macro quiet-command for nice looking messages
Suppress also the "... done" message from msgmerge.
Signed-off-by: Stefan Weil <sw@weilnetz.de>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
po/Makefile: Fix and improve help message
The help message contains single quotes which got lost in the output.Fix also a typo and use two instead of three lines.
po/Makefile: Fix *.mo generation for out-of-tree builds (regression)
Commit f84756554e32d97db3aa949db1dd58c7eea62375 added a wildcard searchfor *.po files. This search found no files for out of tree builds, sothose builds no longer created and installed *.mo files....
po/Makefile: Fix generation of messages.po
Merge remote-tracking branch 'quintela/migration.next' into staging
Merge remote-tracking branch 'afaerber/tags/qom-cpu-for-anthony' into staging
QOM CPUState refactorings
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging
QOM device refactorings
migration: add autoconvergence documentation
This hunk got lost during merge. It is documentation.
Spotted-by: Peter Lieven <lieven-lists@dlhnet.de>Signed-off-by: Juan Quintela <quintela@redhat.com>
Fix real mode guest migration
Older KVM versions save CS dpl value to an invalid value for real mode guests(0x3). This patch detect this situation when loading CPU state and set all thesegments dpl to zero.This will allow migration from older KVM on host without unrestricted guest...
Fix real mode guest segments dpl value in savevm
Older KVM version put invalid value in the segments registers dpl field forreal mode guests (0x3).This breaks migration from those hosts to hosts with unrestricted guest support.We detect it by checking CS dpl value for real mode guest and fix the dpl values...
rdma: introduce MIG_STATE_NONE and change MIG_STATE_SETUP state transition
As described in the previous patch, until now, the MIG_STATE_SETUPstate was not really a 'formal' state. It has been used as a 'zero' state(what we're calling 'NONE' here) and QEMU has been unconditionally transitioning...
rdma: account for the time spent in MIG_STATE_SETUP through QMP
Using the previous patches, we're now able to timestamp the SETUPstate. Once we have this time, let the user know about it in theschema.
Reviewed-by: Juan Quintela <quintela@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>...
rdma: allow state transitions between other states besides ACTIVE
This patch is in preparation for the next ones: Until now the MIG_STATE_SETUPstate was not really a 'formal' state. It has been used as a 'zero' stateand QEMU has been unconditionally transitioning into this state when...
rdma: core logic
Code that does need to be visible is keptwell contained inside this file and this is the onlynew additional file to the entire patch.
This file includes the entire protocol and interfacesrequired to perform RDMA migration.
Also, the configure and Makefile modifications to link...
rdma: send pc.ram
This takes advantages of the previous patches:
1. use the new QEMUFileOps hook 'save_page'
2. call out to the right accessor methods to invoke the iteration hooks defined in QEMUFileOps
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>...
rdma: update documentation to reflect new unpin support
As requested, the protocol now includes memory unpinning support.This has been implemented in a non-optimized manner, in such a waythat one could devise an LRU or other workload-specific information...
rdma: bugfix: ram_control_save_page()
We were not checking for a valid 'bytes_sent' pointer before accessing it.
Reviewed-by: Eric Blake <eblake@redhat.com>Signed-off-by: Michael R. Hines <mrhines@us.ibm.com>Signed-off-by: Juan Quintela <quintela@redhat.com>
rdma: introduce ram_handle_compressed()
This gives RDMA shared access to madvise() on the destination sidewhen an entire chunk is found to be zero.
Reviewed-by: Juan Quintela <quintela@redhat.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Chegu Vinod <chegu_vinod@hp.com>...
gdbstub: Change gdb_handlesig() argument to CPUState
Prepares for changing GDBState::c_cpu to CPUState.
Signed-off-by: Andreas Färber <afaerber@suse.de>
gdbstub: Change gdb_{read,write}_register() argument to CPUState
Use CPUState::env_ptr for now.
Prepares for changing GDBState::g_cpu to CPUState.
cpu: Turn cpu_get_phys_page_debug() into a CPUClass hook
Change breakpoint_invalidate() argument to CPUState alongside.
Since all targets now assign a softmmu-only field, we can drop helperscpu_class_set_{do_unassigned_access,vmsd}() and device_class_set_vmsd()....
exec: Change cpu_memory_rw_debug() argument to CPUState
Propagate X86CPU in kvmvapic for simplicity.
cpu: Introduce CPUClass::memory_rw_debug() for target_memory_rw_debug()
Make inline target_memory_rw_debug() always available and change itsargument to CPUState. Let it check if CPUClass::memory_rw_debug providesa specialized callback and fall back to cpu_memory_rw_debug() otherwise....
gdbstub: Change GDBState::{c,g}_cpu and find_cpu() to CPUState
Use CPUState::env_ptr where still needed.
cpu: Move gdb_regs field from CPU_COMMON to CPUState
Prepares for changing gdb_register_coprocessor() argument to CPUState.
gdbstub: Change gdb_register_coprocessor() argument to CPUState
linux-user: Use X86CPU property to retrieve CPUID family
Avoids duplicating the calculation.
Reviewed-by: Igor Mammedov <imammedo@redhat.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
target-moxie: Implement CPUClass::set_pc()
This adds support for GDB's c addr (Continue) and s addr (Single Step).
Prepares for dropping cpu_pc_from_tb().
target-unicore32: Implement CPUClass::set_pc()
cpu: Introduce CPUClass::synchronize_from_tb() for cpu_pc_from_tb()
Where no extra implementation is needed, fall back to CPUClass::set_pc().
Acked-by: Michael Walle <michael@walle.cc> (for lm32)Signed-off-by: Andreas Färber <afaerber@suse.de>
target-alpha: Copy singlestep_enabled to DisasContext
Prepare for removing env from DisasContext.
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Andreas Färber <afaerber@suse.de>
target-alpha: Copy implver to DisasContext
Which allows removing env from DisasContext.
cpu: Move singlestep_enabled field from CPU_COMMON to CPUState
Prepares for changing cpu_single_step() argument to CPUState.
gdbstub: Update gdb_handlesig() and gdb_signalled() Coding Style
In particular reindent to 4 instead of 2 spaces.
Prepares for changing cpu_single_step() argument in gdb_handlesig().
cpu: Change cpu_single_step() argument to CPUState
Needed for GdbState::c_cpu.
kvm: Change kvm_{insert,remove}_breakpoint() argument to CPUState
CPUArchState is no longer directly used since converting CPU loops toCPUState.
gdbstub: Change syscall callback argument to CPUState
Callback implementations were specific to arm and m68k, so can easilycast to ARMCPU and M68kCPU respectively.
cpu: Introduce vaddr type
vaddr is to target_ulong what uintmax_t is to unsigned int.
Its purpose is to allow turning per-target functions with target_ulongarguments into CPUClass hooks.
Suggested-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Andreas Färber <afaerber@suse.de>
HACKING: Document vaddr type usage
Also extend documentation of target_ulong and abi_ulong.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Andreas Färber <afaerber@suse.de>
cpu: Introduce CPUClass::set_pc() for gdb_set_cpu_pc()
This moves setting the Program Counter from gdbstub into target code.Use vaddr type as upper-bound replacement for target_ulong.
target-m68k: Implement CPUClass::set_pc()
gdbstub: Change GDBState::query_cpu to CPUState
Since first_cpu/next_cpu are CPUState, CPUArchState is no longer needed.
This resolves a NULL pointer dereference of query_cpu, introducedwith commit 182735efaf956ccab50b6d74a4fed163e0f35660 and reported by...
hpet: QOM'ify some more
Introduce type constant, avoid FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Renamed parent field and renamed variable]Signed-off-by: Andreas Färber <afaerber@suse.de>
kvm/clock: QOM'ify some more
Introduce type constant and avoid FROM_SYSBUS().
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Renamed parent field]Signed-off-by: Andreas Färber <afaerber@suse.de>
fdc: Use QOM realize for fdc
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Renamed SysBusDevice variable]Signed-off-by: Andreas Färber <afaerber@suse.de>
fdc: Improve error propagation for QOM realize
Rename fdctrl_init_common() to fdctrl_realize_common() and letfdctrl_connect_drives() propagate an Error through it.
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>...
pflash_cfi01: Use QOM realize for pflash_cfi01
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Renamed argument]Signed-off-by: Andreas Färber <afaerber@suse.de>
pflash_cfi02: Use QOM realize for pflash_cfi02
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
ahci: Use QOM realize for ahci
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Avoided repeated SYS_BUS_DEVICE() casts]Signed-off-by: Andreas Färber <afaerber@suse.de>
fw_cfg: Use QOM realize for fw_cfg
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Moved sysbus_init_mmio() to instance_init, renamed variable]Signed-off-by: Andreas Färber <afaerber@suse.de>
scsi/esp: Use QOM realize for scsi esp
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Drop sysbus_esp_init()]Signed-off-by: Andreas Färber <afaerber@suse.de>
megasas: Legacy command line handling fix
Only apply legacy command line handling when the device has not beenhot-plugged. Propagate failure of legacy command line handling.
Cc: qemu-stable@nongnu.orgAcked-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
scsi: Improve error propagation for scsi_bus_legacy_handle_cmdline()
Let scsi_bus_legacy_add_drive() and scsi_bus_legacy_handle_cmdline()return an Error**. Prepare qdev initfns for QOM realize error model.
hpet: Use QOM realize for hpet
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Avoided SYS_BUS_DEVICE() in loop]Signed-off-by: Andreas Färber <afaerber@suse.de>
kvm/clock: Use QOM realize for kvmclock
kvmvapic: Use QOM realize
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Renamed variable]Signed-off-by: Andreas Färber <afaerber@suse.de>
ioapic: Use QOM realize for ioapic
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Tweaked error message]Signed-off-by: Andreas Färber <afaerber@suse.de>
isa-bus: Drop isabus_bridge_init() since it does nothing
This works since commit 4ce5dae88ecf2bafa0cd663de7e923728b1b3672.
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Edited]Signed-off-by: Andreas Färber <afaerber@suse.de>
misc/pci-testdev: QOM parent field cleanup
Replace direct uses of PCITestDevState::dev with QOM casts and rename itto parent_obj.
Acked-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
display/vmware_vga: QOM casting sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST() anddirect -> style casting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>[AF: Renamed to TYPE_VMWARE_VGA and VMWARE_VGA()]Signed-off-by: Andreas Färber <afaerber@suse.de>
display/vmware_vga: QOM parent field cleanup
Replace direct uses of pci_vmsvga_state_s::card with QOM casts andrename it to parent_obj.
misc/ivshmem: QOM Upcast Sweep
Define and use standard QOM cast macro. Remove usages of DO_UPCAST()and direct -> style upcasting.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>[AF: Simplified casts and converted two more DO_UPCAST()s]...
misc/ivshmem: QOM parent field cleanup
Replace direct uses of IVShmemState::dev with QOM casts and rename it toparent_obj.
xen/xen_platform: QOM casting sweep
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>[AF: Dropped opaque casts]Signed-off-by: Andreas Färber <afaerber@suse.de>
xen/xen_platform: QOM parent field cleanup
Replace direct uses of PCIXenPlatformState::pci_dev field with QOM castsand rename it to parent_obj.
sysbus: Document SysBusDeviceClass::init and realize semantics
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Syntax and wording changes]Signed-off-by: Andreas Färber <afaerber@suse.de>
ohci: QOM'ify some more
Introduce type constant and avoid DO_UPCAST().
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Avoid remaining OHCIPCIState::pci_dev uses, rename parent fields]Signed-off-by: Andreas Färber <afaerber@suse.de>
ohci: Use QOM realize for OHCI
i440fx: Use type-safe cast instead of direct access of parent dev
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Converted remaining accesses and renamed to parent_obj]Signed-off-by: Andreas Färber <afaerber@suse.de>
i440fx-pcihost: Use QOM realize for i440fx-pcihost
q35: Use type-safe cast instead of direct access of parent dev
And remove variables if possible.
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Converted remaining access and renamed to parent_obj]Signed-off-by: Andreas Färber <afaerber@suse.de>
q35: Use QOM realize for q35 host bridge
And split off MemoryRegion initialization into instance_init.
fdc: QOM'ify some more
Introduce type constant and avoid DO_UPCAST(), container_of(),and use DEVICE to avoid accessing parent qdev directly.
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>[AF: Renamed parent field and avoided repeated SYS_BUS_DEVICE() casts]...
pflash-cfi01: QOM'ify some more
Introduce type constant and replace FROM_SYSBUS().
pflash-cfi02: QOM'ify some more
ahci: QOM'ify some more
fwcfg: QOM'ify some more
Use type constant if possible and avoid DO_UPCAST().
scsi/esp: QOM'ify some more
scsi/megasas: QOM parent field cleanup
Replace direct uses of MegasasState::dev with QOM casts and rename it toparent_obj.
scsi/esp-pci: QOM Upcast Sweep
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
scsi/esp-pci: QOM parent field cleanup
Replace direct uses of PCIESPState::dev with QOM casts and rename it toparent_obj.
ide/ich: QOM Upcast Sweep
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>[AF: Renamed to TYPE_ICH9_AHCI and used typedef in pci_ich9_reset()]...
ide/ich: QOM parent field cleanup
Replace direct uses of AHCIPCIState::card with QOM casts and rename itto parent_obj.
acpi/piix4: QOM Upcast Sweep
acpi/piix4: QOM parent field cleanup
Replace direct uses of PIIX4PMState::dev with QOM casts and rename it toparent_obj.
misc/pci-testdev: QOM Upcast Sweep
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>[AF: Replaced another DO_UPCAST()]Signed-off-by: Andreas Färber <afaerber@suse.de>