aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-06-07xhci: Clean up reset functionJan Kiszka
Properly register reset function via the device class. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07usb-storage: migration supportGerd Hoffmann
With all scsi migration support bits in place the final step is pretty simple ;) Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07usb-storage: add scsi_off, remove scsi_bufGerd Hoffmann
Repace the running buffer pointer (scsi_buf) with a buffer offset field (scsi_off). The later is alot easier to live-migrate. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07usb-storage: add usb_msd_packet_complete()Gerd Hoffmann
Factor out packet completion to a separate function which cares to get the MSDState->packet update right. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07usb-storage: remove MSDState->residueGerd Hoffmann
We have the field twice, once in MSDState directly and one in the status word struct. Drop one. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07scsi: prepare migration code for usb-storage supportGerd Hoffmann
usb-storage can't handle requests in one go as the data transfer can be splitted into lots of usb packets. Because of that there can be normal in-flight requests at savevm time and we need to handle that. With other scsi hba's this happens only in case i/o is stopped due to errors and there are pending requests which need to be restarted (req->retry = true). So, first we need to save req->retry and then handle the req->retry = false case. Write requests are handled fine already. For read requests we have to save the buffer as we will not restart the request (and thus not refill the buffer) on the target host. Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07uhci: fix irq routingGerd Hoffmann
The multifunction ich9 ehci controller with uhci companions uses a different interrupt pin for each function. The three uhci devices get pins A, B and C, whereas ehci uses pin D. This way the guest can assign different IRQ lines to each controller. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07uhci: zap uhci_pre_saveGerd Hoffmann
Cancel transactions before saving vmstate is pretty pointless and just causes disruptions. We need to cancel them before *loading* vmstate, but in that case uhci_reset() handles it already and no special action is needed. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07uhci: fix trace format stringsGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07uhci: make bandwidth tunableGerd Hoffmann
Add a property for the uhci bandwidth. Can be used to make uhci emulation run faster than real hardware. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07uhci: use bottom halfGerd Hoffmann
Schedule bottom half on completion of async packets instead of calling uhci_process_frame directly. This way we run uhci_process_frame only once in case multiple packets finish in a row. Also check whenever there is bandwidth left before scheduling uhci_process_frame. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-07uhci: fix bandwidth managementGerd Hoffmann
uhci_process_frame() can be invoked multiple times per frame, so accounting usb bandwith in a local variable doesn't fly, use a variable in UHCIState instead. Also check the limit more frequently. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2012-06-06Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori
* qmp/queue/qmp: (29 commits) Add 'query-events' command to QMP to query async events qapi: convert netdev_del qapi: convert netdev_add net: net_client_init(): use error_set() net: purge the monitor object from all init functions qemu-config: introduce qemu_find_opts_err() qemu-config: find_list(): use error_set() qerror: introduce QERR_INVALID_OPTION_GROUP qemu-option: qemu_opts_from_qdict(): use error_set() qemu-option: introduce qemu_opt_set_err() qemu-option: opt_set(): use error_set() qemu-option: qemu_opts_validate(): use error_set() qemu-option: qemu_opt_parse(): use error_set() qemu-option: parse_option_size(): use error_set() qemu-option: parse_option_bool(): use error_set() qemu-option: parse_option_number(): use error_set() qemu-option: qemu_opts_create(): use error_set() introduce a new monitor command 'dump-guest-memory' to dump guest's memory make gdb_id() generally avialable and rename it to cpu_index() target-i386: Add API to get note's size ...
2012-06-06Merge remote-tracking branch 'afaerber-or/qom-cpu-3' into stagingAnthony Liguori
* afaerber-or/qom-cpu-3: (74 commits) Kill off cpu_state_reset() linux-user: Use cpu_reset() after cpu_init() / cpu_copy() bsd-user: Use cpu_reset() in after cpu_init() leon3: Store SPARCCPU in ResetData leon3: Use cpu_sparc_init() to obtain SPARCCPU sun4u: Store SPARCCPU in ResetData sun4u: Let cpu_devinit() return SPARCCPU sun4u: Use cpu_sparc_init() to obtain SPARCCPU sun4m: Pass SPARCCPU to {main,secondary}_cpu_reset() sun4m: Use cpu_sparc_init() to obtain SPARCCPU target-sparc: Let cpu_sparc_init() return SPARCCPU cpu-exec: Use cpu_reset() in cpu_exec() for TARGET_PPC virtex_ml507: Pass PowerPCCPU to main_cpu_reset() virtex_ml507: Let ppc440_init_xilinx() return PowerPCCPU virtex_ml507: Use cpu_ppc_init() to obtain PowerPCCPU ppc_prep: Pass PowerPCCPU to ppc_prep_reset() ppc_prep: Use cpu_ppc_init() to obtain PowerPCCPU ppc_oldworld: Pass PowerPCCPU to ppc_heathrow_reset() ppc_oldworld: Use cpu_ppc_init() to obtain PowerPCCPU ppc_newworld: Pass PowerPCCPU to ppc_core99_reset() ...
2012-06-06Merge remote-tracking branch 'qemu-kvm/uq/master' into stagingAnthony Liguori
* qemu-kvm/uq/master: kvm: Fix build for non-CAP_IRQ_ROUTING targets
2012-06-06kvm: Fix build for non-CAP_IRQ_ROUTING targetsJan Kiszka
A type definition and a KVMState field initialization escaped the required wrapping with KVM_CAP_IRQ_ROUTING. Also, we need to provide a dummy kvm_irqchip_release_virq as virtio-pci references (but does not use) it. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Acked-by: Ben Collins <bcollins@ubuntu.com> Tested-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
2012-06-05Revert "Revert "rtl8139: do the network/host communication only in normal ↵Anthony Liguori
operating mode"" This reverts commit 9c92bf7f6c3f675e60b8ba8a5287bb88ea1eac36. Per Jason's request. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2012-06-04Kill off cpu_state_reset()Andreas Färber
In commit 1bba0dc932e8826a7d030df3767daf0bc339f9a2 cpu_reset() was renamed to cpu_state_reset(), to allow introducing a new cpu_reset() that would operate on QOM objects. All callers have been updated except for one in target-mips, so drop all implementations except for the one in target-mips and move the declaration there until MIPSCPU reset can be fully QOM'ified. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Michael Walle <michael@walle.cc> (for lm32) Acked-by: Max Filippov <jcmvbkbc@gmail.com> (for xtensa) Acked-by: Edgar E. Iglesias <edgar.iglesias@gmail.com> (for mb + cris) Acked-by: Alexander Graf <agraf@suse.de> (for ppc) Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04linux-user: Use cpu_reset() after cpu_init() / cpu_copy()Andreas Färber
Eliminates cpu_state_reset() usage. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-06-04bsd-user: Use cpu_reset() in after cpu_init()Andreas Färber
Eliminates cpu_state_reset() usage. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04leon3: Store SPARCCPU in ResetDataAndreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset() in main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04leon3: Use cpu_sparc_init() to obtain SPARCCPUAndreas Färber
Needed for main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04sun4u: Store SPARCCPU in ResetDataAndreas Färber
We can now use cpu_reset() in place of cpu_state_reset() in main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04sun4u: Let cpu_devinit() return SPARCCPUAndreas Färber
Needed for main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04sun4u: Use cpu_sparc_init() to obtain SPARCCPUAndreas Färber
This prepares using it in sun4uv_init(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04sun4m: Pass SPARCCPU to {main,secondary}_cpu_reset()Andreas Färber
We can now use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04sun4m: Use cpu_sparc_init() to obtain SPARCCPUAndreas Färber
Needed for {main,secondary}_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04target-sparc: Let cpu_sparc_init() return SPARCCPUAndreas Färber
Make include paths for cpu-qom.h consistent, so that SPARCCPU can be used in cpu.h. Turn cpu_init macro into a static inline function returning CPUSPARCState for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Blue Swirl <blauwirbel@gmail.com>
2012-06-04cpu-exec: Use cpu_reset() in cpu_exec() for TARGET_PPCAndreas Färber
CPUState will be needed for all targets in the future, so place it into the main variable declaration block. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04virtex_ml507: Pass PowerPCCPU to main_cpu_reset()Andreas Färber
Allows us to call cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04virtex_ml507: Let ppc440_init_xilinx() return PowerPCCPUAndreas Färber
Needed for main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04virtex_ml507: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed to change ppc440_init_xilinx() return type. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc_prep: Pass PowerPCCPU to ppc_prep_reset()Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc_prep: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed for ppc_prep_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc_oldworld: Pass PowerPCCPU to ppc_heathrow_reset()Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc_oldworld: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed for ppc_heathrow_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc_newworld: Pass PowerPCCPU to ppc_core99_reset()Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc_newworld: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed for ppc_core99_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc4xx_devs: Pass PowerPCCPU to ppc4xx_reset()Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc4xx_devs: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed for ppc4xx_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc440_bamboo: Pass PowerPCCPU to main_cpu_reset()Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppc440_bamboo: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed for main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04spapr: Pass PowerPCCPU to spapr_cpu_reset()Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04spapr: Use cpu_ppc_init() to obtain PowerPCCPUAndreas Färber
Needed for spapr_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04ppce500_mpc8544ds: Pass PowerPCCPU to mpc8544ds_cpu_reset[_sec]Andreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04target-ppc: Let cpu_ppc_init() return PowerPCCPUAndreas Färber
Adapt e500 mpc8544ds machine accordingly. Turn cpu_init() into a static inline function returning CPUPPCState for backwards compatibility. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Alexander Graf <agraf@suse.de>
2012-06-04mips_r4k: Store MIPSCPU in ResetDataAndreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset() in main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-06-04mips_r4k: Use cpu_mips_init() to obtain MIPSCPUAndreas Färber
Needed for main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-06-04mips_mipssim: Store MIPSCPU in ResetDataAndreas Färber
Allows us to use cpu_reset() in place of cpu_state_reset() in main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-06-04mips_mipssim: Use cpu_mips_init() to obtain MIPSCPUAndreas Färber
Needed for main_cpu_reset(). Signed-off-by: Andreas Färber <afaerber@suse.de>