aboutsummaryrefslogtreecommitdiff
path: root/hw
AgeCommit message (Collapse)Author
2012-06-18Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori
* qmp/queue/qmp: build: install qmp-commands.txt Add rate limiting of RTC_CHANGE, BALLOON_CHANGE & WATCHDOG events Add event notification for guest balloon changes Fix some more license versions (GPL2+ instead of GPL2) monitor: Fix memory leak with readline completion qmp: do not include monitor.h from qapi-types-core.h qmp: include monitor.h when needed kvm: add missing include files
2012-06-18Merge remote-tracking branch 'kwolf/for-anthony' into stagingAnthony Liguori
* kwolf/for-anthony: (39 commits) qemu-iotests: add 036 autoclear feature bit test qemu-iotests: add qcow2.py set-feature-bit command fdc-test: introduced qtest read_without_media fdc: fix implied seek while there is no media in drive qcow2: fix autoclear image header update xen: Don't peek behind the BlockDriverState abstraction xen: Don't change -drive if=xen device name during machine init block: Replace bdrv_get_format() by bdrv_get_format_name() qemu-img: document qed format on qemu-img man page qemu-iotests: COW with many AIO requests on the same cluster qemu-iotests: Some backing file COW tests qcow2: Fix avail_sectors in cluster allocation code qcow2: Simplify calculation for COW area at the end qcow2: always operate caches in writeback mode ide: support enable/disable write cache block: always open drivers in writeback mode block: add bdrv_set_enable_write_cache block: copy enable_write_cache in bdrv_append savevm: flush after saving vm state block: flush in writethrough mode after writes ...
2012-06-18Merge remote-tracking branch 'mst/tags/for_anthony' into stagingAnthony Liguori
* mst/tags/for_anthony: pci_bridge_dev: fix error path in pci_bridge_dev_initfn() qdev: release parent properties on dc->init failure msi: Use msi/msix_present more consistently msi: Invoke msi/msix_write_config from PCI core msi: Guard msi/msix_write_config with msi_present msi: Invoke msi/msix_reset from PCI core msi: Guard msi_reset with msi_present ahci: Clean up reset functions intel-hda: Fix reset of MSI function ahci: Fix reset of MSI function rtl8139: honor RxOverflow flag in can_receive method shpc: unparent device before free
2012-06-15Add event notification for guest balloon changesDaniel P. Berrange
After setting a balloon target value, applications have to continually poll 'query-balloon' to determine whether the guest has reacted to this request. The virtio-balloon backend knows exactly when the guest has reacted though, and thus it is possible to emit a JSON event to tell the mgmt application whenever the guest balloon changes. This introduces a new 'qemu_balloon_changed()' API which is to be called by balloon driver backends, whenever they have a change in balloon value. This takes the 'actual' balloon value, as would be found in the BalloonInfo struct. The qemu_balloon_change API emits a JSON monitor event which looks like: {"timestamp": {"seconds": 1337162462, "microseconds": 814521}, "event": "BALLOON_CHANGE", "data": {"actual": 944766976}} * balloon.c, balloon.h: Introduce qemu_balloon_changed() for emitting balloon change events on the monitor * hw/virtio-balloon.c: Invoke qemu_balloon_changed() whenever the guest changes the balloon actual value * monitor.c, monitor.h: Define QEVENT_BALLOON_CHANGE Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Acked-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
2012-06-15fdc: fix implied seek while there is no media in drivePavel Hrdina
The Windows uses 'READ' command at the start of an instalation without checking the 'dir' register. We have to abort the transfer with an abnormal termination if there is no media in the drive. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15xen: Don't peek behind the BlockDriverState abstractionMarkus Armbruster
First offender is xen_config_dev_blk()'s use of disk->bdrv->filename. Get the filename from disk->opts instead. Same result, except for snapshots: there, we now get the filename specified by the user instead of the name of the temporary image created by bdrv_open(). Should be an improvement. Second offender is blk_init()'s use of blkdev->bs->drv->format_name. Simply use the appropriate interface to get the format name. Signed-off-by: Markus Armbruster <armbru@redhat.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15xen: Don't change -drive if=xen device name during machine initMarkus Armbruster
A "top" BlockDriverState has a non-empty device_name. If the user doesn't specify one with -drive parameter id, the system supplies a default name. xen_config_dev_blk() changes this name, during machine initialization. Naughty. Don't do that. Signed-off-by: Markus Armbruster <armbru@redhat.com> Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15ide: support enable/disable write cachePaolo Bonzini
Enabling or disabling the write cache is done with the SET FEATURES command. The command can be issued with sg_sat_set_features from sg3-utils. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15scsi-disk: Don't peek behind the BlockDriverState abstractionMarkus Armbruster
Use the appropriate interface instead. Signed-off-by: Markus Armbruster <armbru@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15Un-inline fdctrl_init_isa()Markus Armbruster
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15xtensa_lx60: add missing #include "blockdev.h"Max Filippov
This should fix the following build failure: /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c: In function 'lx_init': /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c:212: warning: implicit declaration of function 'drive_get' /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c:212: warning: nested extern declaration of 'drive_get' /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c:212: error: 'IF_PFLASH' undeclared (first use in this function) /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c:212: error: (Each undeclared identifier is reported only once /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c:212: error: for each function it appears in.) /home/buildbot/slave-public/block_mingw32/build/hw/xtensa_lx60.c:216: error: dereferencing pointer to incomplete type Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-06-15xilinx_axidma: changed device namePeter A. G. Crosthwaite
Changed device name to xlnx,axi-dma. This is the exact name of the device in the Xilinx EDK development tools. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_axienet: changed device namePeter A. G. Crosthwaite
Changed device name to xlnx,axi-ethernet. This is the exact name of the device in the xilinx EDK development tools. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_axienet: droped the c_ on parametersPeter A. G. Crosthwaite
Even though the xilinx tools do have C_ on all params by default, drop this for consistency with all the other xilinx IP (I.E. param names are the xilinx names without the C_ prefix) Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_ethlite: changed device namePeter A. G. Crosthwaite
Changed device name to xlnx,xps-ethernetlite. This is the exact name of the device in the xilinx EDK development tools. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_ethlite: tweaked naming of ping-pong propsPeter A. G. Crosthwaite
Changed "txpingpong" prop to "tx-ping-pong". Same for rx. This is done to make the property name exactly match what is output by the xilinx tools for this IP. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_intc: changed device namePeter A. G. Crosthwaite
Changed device name to xlnx,xps-intc. This is the exact name of the device in the xilinx EDK development tools. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_timer: changed device namePeter A. G. Crosthwaite
Changed device name to xlnx,xps-timer. This is the exact name of the device in the xilinx EDK development tools. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_timer: changed nr_timers to one_timer_onlyPeter A. G. Crosthwaite
The configurable property for this IP in the Xilinx tools is a boolean switch "one-timer-only" that flicks this timer from being dual channel to single. Updated QEMU to work the same way for better match with the IP core and its TRM. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_timer: added default frequencyPeter A. G. Crosthwaite
Added a reasonable default frequency for the xilinx timer (the 62MHz from s3adsp machine model). Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_uartlite: changed device namePeter A. G. Crosthwaite
Changed device name to xlnx,xps-uartlite. This is the exact name of the device in the xilinx EDK development tools. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_axidma: (un)reversed irq initialisationPeter A. G. Crosthwaite
The axidma irq orders are reversed in both the device model and the instantion. Undid both reversal (for no net change). Also needs to be reversed for consistency with Xilinx tools IRQ listing. Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15xilinx_axi*: Share devices between microblaze and microblazeelAndreas Färber
Speeds up the build. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-15hw/xilinx_*: Share Xilinx devices between ppc and microblazeAndreas Färber
Speeds up the build. xilinx_ethlite uses tswap32() and is thus target-dependent. Signed-off-by: Andreas Färber <afaerber@suse.de> Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
2012-06-11pci_bridge_dev: fix error path in pci_bridge_dev_initfn()Jason Baron
Currently, we do not properly cleanup, if pci_bridge_dev_initfn fails to initialize properly. Make sure to call pci_bridge_exitfn() in the error path. Signed-off-by: Jason Baron <jbaron@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2012-06-11qdev: release parent properties on dc->init failureJason Baron
While looking into hot-plugging bridges, I can create a qemu segfault via: $ device_add pci-bridge Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0. ** ERROR:qom/object.c:389:object_delete: assertion failed: (obj->ref == 0) I'm proposing to fix this by adding a call to 'object_unparent()', before the call to qdev_free(). I see there is already a precedent for this usage pattern as seen in qdev_simple_unplug_cb(): /* can be used as ->unplug() callback for the simple cases */ int qdev_simple_unplug_cb(DeviceState *dev) { /* just zap it */ object_unparent(OBJECT(dev)); qdev_free(dev); return 0; } Signed-off-by: Jason Baron <jbaron@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2012-06-11Merge remote-tracking branch 'qemu-kvm/uq/master' into stagingAnthony Liguori
* qemu-kvm/uq/master: kvm: i8254: Fix conversion of in-kernel to userspace state kvm/apic: correct short memset
2012-06-11Merge remote-tracking branch 'sstabellini/for_1.1.1' into stagingAnthony Liguori
* sstabellini/for_1.1.1: qemu/xendisk: set maximum number of grants to be used
2012-06-11Merge remote-tracking branch 'afaerber-or/qom-cpu-3a' into stagingAnthony Liguori
* afaerber-or/qom-cpu-3a: (27 commits) target-s390x: Pass S390CPU to s390_cpu_restart() s390-virtio: Let s390_cpu_addr2state() return S390CPU s390-virtio: Use cpu_s390x_init() to obtain S390CPU target-s390x: Let cpu_s390x_init() return S390CPU xen_machine_pv: Use cpu_x86_init() to obtain X86CPU arm_pic: Pass ARMCPU to arm_pic_init_cpu() arm_boot: Pass ARMCPU to arm_load_kernel() xilinx_zynq: Use cpu_arm_init() to obtain ARMCPU pxa2xx_gpio: Store ARMCPU in PXA2xxGPIOInfo pxa2xx_pic: Store ARMCPU in PXA2xxPICState pxa2xx: Pass ARMCPU to pxa2xx_pic_init() exynos4210: Use cpu_arm_init() to store ARMCPU vexpress: Use cpu_arm_init() to obtain ARMCPU realview: Use cpu_arm_init() to obtain ARMCPU arm_boot: Pass ARMCPU to arm_boot_info::secondary_cpu_reset_hook() arm_boot: Pass ARMCPU to arm_boot_info::write_secondary_boot() versatilepb: Use cpu_arm_init() to obtain ARMCPU musicpal: Use cpu_arm_init() to obtain ARMCPU integratorcp: Use cpu_arm_init() to obtain ARMCPU strongarm: Use cpu_arm_init() to store ARMCPU in StrongARMState ...
2012-06-11Merge remote-tracking branch 'afaerber-or/qom-next-1' into stagingAnthony Liguori
* afaerber-or/qom-next-1: target-i386: Use uint32 visitor for [x]level properties qdev: Remove PropertyInfo range checking qdev: Switch property accessors to fixed-width visitor interfaces qdev: Use int32_t container for devfn property qapi: Add String visitor coverage to serialization unit tests qapi: String visitor, use %f representation for floats qapi: Unit tests for visitor-based serialization qapi: Add Visitor interfaces for uint*_t and int*_t
2012-06-11Merge remote-tracking branch 'kraxel/usb.52' into stagingAnthony Liguori
* kraxel/usb.52: (37 commits) ehci: rework frame skipping ehci: adaptive wakeup rate. ehci: create ehci_update_frindex ehci: remove unused attach_poll_counter ehci: fix halt status handling ehci: update status bits in ehci_set_state ehci: add ehci_*_enabled() helpers ehci: fix reset ehci: kick async schedule on wakeup ehci: schedule async bh on async packet completion ehci: move async schedule to bottom half ehci: add async field to EHCIQueue ehci: tweak queue initialization ehci: add queuing support ehci: move ehci_flush_qh ehci: cache USBDevice in EHCIQueue ehci: make ehci_execute work on EHCIPacket instead of EHCIQueue ehci: add EHCIPacket xhci: trace: slots xhci: trace: transfers ...
2012-06-11kvm: i8254: Fix conversion of in-kernel to userspace stateJan Kiszka
Due to a offset between the clock used to generate the in-kernel count_load_time (CLOCK_MONOTONIC) and the clock used for processing this in userspace (vm_clock), reading back the output of PIT channel 2 via port 0x61 was broken. One use cases that suffered from it was the CPU frequency calibration of SeaBIOS, which also affected IDE/AHCI timeouts. This fixes it by calibrating the offset between both clocks on kvm_pit_get and adjusting the kernel value before saving it in the userspace state. As the calibration only works while the vm_clock is running, we cache the in-kernel state across stopped phases. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
2012-06-11qemu/xendisk: set maximum number of grants to be usedJan Beulich
Legacy (non-pvops) gntdev drivers may require this to be done when the number of grants intended to be used simultaneously exceeds a certain driver specific default limit. Signed-off-by: Jan Beulich <jbeulich@suse.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2012-06-11kvm/apic: correct short memsetJim Meyering
kvm_put_apic_state's attempt to clear *kapic before setting its bits cleared sizeof(void*) bytes (no more than 8) rather than the intended 1024 (KVM_APIC_REG_SIZE) bytes. Spotted by coverity. Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
2012-06-11s390-virtio: Let s390_cpu_addr2state() return S390CPUAndreas Färber
Convert ipi_states to S390CPU**. Needed for s390_cpu_restart() in handle_sigp(). Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-06-11s390-virtio: Use cpu_s390x_init() to obtain S390CPUAndreas Färber
Needed to store S390CPU in ipi_states[]. Signed-off-by: Andreas Färber <afaerber@suse.de>
2012-06-11xen_machine_pv: Use cpu_x86_init() to obtain X86CPUAndreas Färber
Needed for moving halted field to CPUState. Signed-off-by: Andreas Färber <afaerber@suse.de> Tested-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2012-06-11arm_pic: Pass ARMCPU to arm_pic_init_cpu()Andreas Färber
Pass it through to arm_pic_cpu_handler(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Igor Mitsyanko <i.mitsyanko@samsung.com> (for exynos)
2012-06-11arm_boot: Pass ARMCPU to arm_load_kernel()Andreas Färber
In particular this simplifies the &s->mpu->cpu->env expression again. first_cpu and ->next_cpu are expected to be QOM'ified later. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Igor Mitsyanko <i.mitsyanko@samsung.com> (for exynos) Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11xilinx_zynq: Use cpu_arm_init() to obtain ARMCPUAndreas Färber
Needed for arm_load_kernel(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter A.G. Crosthwaite <peter.crosthwaite@petalogix.com>
2012-06-11pxa2xx_gpio: Store ARMCPU in PXA2xxGPIOInfoAndreas Färber
Prepares for moving halted field into CPUState. Add missing braces. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11pxa2xx_pic: Store ARMCPU in PXA2xxPICStateAndreas Färber
Prepares for moving halted field to CPUState. Add missing braces. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11pxa2xx: Pass ARMCPU to pxa2xx_pic_init()Andreas Färber
Cleans up after storing ARMCPU in PXA2xxState. Prepares for storing ARMCPU in PXA2xxPICState. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11exynos4210: Use cpu_arm_init() to store ARMCPUAndreas Färber
Needed for arm_pic_init_cpu(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Igor Mitsyanko <i.mitsyanko@samsung.com>
2012-06-11vexpress: Use cpu_arm_init() to obtain ARMCPUAndreas Färber
Needed for arm_pic_init_cpu(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11realview: Use cpu_arm_init() to obtain ARMCPUAndreas Färber
Needed for arm_pic_init_cpu(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11arm_boot: Pass ARMCPU to arm_boot_info::secondary_cpu_reset_hook()Andreas Färber
Adapt highbank accordingly. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11arm_boot: Pass ARMCPU to arm_boot_info::write_secondary_boot()Andreas Färber
Adapt exynos4210 and highbank accordingly. The parameter itself is unused. Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org> Acked-by: Igor Mitsyanko <i.mitsyanko@samsung.com> (for exynos)
2012-06-11versatilepb: Use cpu_arm_init() to obtain ARMCPUAndreas Färber
Needed for arm_load_kernel(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>
2012-06-11musicpal: Use cpu_arm_init() to obtain ARMCPUAndreas Färber
Needed for arm_load_kernel(). Signed-off-by: Andreas Färber <afaerber@suse.de> Acked-by: Peter Maydell <peter.maydell@linaro.org>