scsi: VMWare PVSCSI paravirtual device implementation
Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>Signed-off-by: Yan Vugenfirer <yan@daynix.com>[ Rename files to vmw_pvscsi, fix setting of hostStatus in pvscsi_request_cancelled - Paolo ]Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
scsi: avoid assertion failure on VERIFY command
A verify command is not an actual read (we do not implementcompare mode) and thus does not have an AIOCB attached. Donot crash in scsi_dma_complete.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
configure: eliminate target_libs_softmmu
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
virtio-net-s390: switch to the new API.
Here the virtio-net-s390 is modified for the new API. The devicevirtio-net-s390 extends virtio-s390-device as before. It creates andconnects a virtio-net-device during the init. The properties are not modified.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>...
virtio-net-ccw: switch to the new API.
Here the virtio-net-ccw is modified for the new API. The devicevirtio-net-ccw extends virtio-ccw-device as before. It creates andconnects a virtio-net-device during the init. The properties are not modified.
virtio-net: cleanup: use QOM cast.
As the virtio-net-pci and virtio-net-s390 are switched to the new API,we can use QOM casts.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>Message-id: 1365690602-22729-7-git-send-email-fred.konrad@greensocs.com...
virtio-net: cleanup: init and exit function.
This remove old init and exit function as they are no longer needed.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>Message-id: 1365690602-22729-8-git-send-email-fred.konrad@greensocs.com...
virtio-net-pci: switch to the new API.
Here the virtio-net-pci is modified for the new API. The devicevirtio-net-pci extends virtio-pci. It creates and connects avirtio-net-device during the init. The properties are not changed.
virtio-net: add the virtio-net device.
Create virtio-net-device which extends virtio-device, so it can be connected onvirtio-bus.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>Tested-by: Cornelia Huck <cornelia.huck@de.ibm.com>Message-id: 1365690602-22729-3-git-send-email-fred.konrad@greensocs.com...
Merge remote-tracking branch 'kraxel/usb.80' into staging
Merge remote-tracking branch 'spice/spice.v69' into staging
Merge remote-tracking branch 'kraxel/pixman.v11' into staging
Merge remote-tracking branch 'afaerber/qom-cpu' into staging
xhci: use slotid as device address
Is good enougth for unique device addresses and avoids the need for anystate for device addressing. Makes live migration support easier. Alsomakes device->slot lookups trivial.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
xhci: fix address device
Zero-initialize the set-address dummy USBPacket,also add buffer to avoid sanity checks triggering.
https://bugzilla.redhat.com/show_bug.cgi?id=929019
use libusb for usb-host
Reimplement usb-host on top of libusb.Reasons to do this:
(1) Largely rewritten from scratch, nice opportunity to kill historical cruft. (2) Offload usbfs handling to libusb. (3) Have a single portable code base instead of bsd + linux variants....
usb-serial: Remove double call to qemu_chr_add_handlers( NULL )
usb-serial has a qdev chardev property, and hw/qdev-properties-system.calready contains:
static void release_chr(Object *obj, const char *name, void *opaque) { DeviceState *dev = DEVICE;...
xhci: remove leftover debug printf
xhci: add xhci_cap_write
xhci: fix portsc writes
Check for port reset first and skip everything else then.Add sanity checks for PLS updates.Add PLC notification when entering PLS_U0 state.
This gets host-initiated port resume going on win8.
spice: (32 bit only) fix surface cmd tracking destruction
No change for 64 bit arches, but for 32 bit previously we zeroed halfthe surfaces cmd array, instead of all of it.
Signed-off-by: Alon Levy <alevy@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
virtio-console: Also throttle when less was written then requested
This is necessary so that we get properly woken up to write the rest.
This patch also changes the len argument to the have_data callback, toavoid doing an unsigned signed comparison.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>...
virtio-console: Remove any pending watches on close
Signed-off-by: Hans de Goede <hdegoede@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
qxl: add 2000x2000 and 2048x2048 video modes
m25p80: Fix debug messages.
Some dodgy casts were making a mess of these msgs.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
m25p80: Convert guest errors to LOG_GUEST_ERROR
Some of the debug printfs in m25p80 are really guest errors.Changed over to qemu_log_mask(LOG_GUEST_ERROR accordingly.
m25p80.c: Multiple debug verbosity levels
The debug printfs on every page program/read is extremely verbose. Adda second level of debug for this.
m25p80: Add debug message for no bdrv
If there is no backing bdrv, let the debugging developer know about it.
xilinx_axidma: Fix rx/tx halted bit.
If there is no DMA buffer descriptor, the DMA halts, not idles.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
stream: Add flow control API
Add basic flow control to stream. A stream slave may return short, indicatingthat it is not capable of accepting any more data at the present time. Pollingor a callback can be used via the can_push() function to determine when the...
xilinx_axienet/dma: Implement rx path flow control
Implement flow control for the RX data path from xilinx_axienet->xilinx_axidma.On short return from axidma, then ethernet sets up the notify callback to resumetransfer from where it left off.
This also allows the ethernet to track whether there is an in progress transaction...
stream: Remove app argument hack
The uint32_t *app argument doesn't exist in real hardware. It was a hack inxilinx_axidma/enet to fake the (secondary) control stream connection. Removedthe argument and added the second stream to axienet/dma.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>...
xilinx_axienet: typedef XilinxAXIEnet struct
Typedef xilinx_axienets object state struct to shorten the repeated usages ofstruct XilinxAXIEnet.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Reviewed-by: Andreas Färber <afaerber@suse.de>...
xilinx_axienet: Defined and use type cast macro
Standard QOM cast macro. Replaces usages of FROM_SYSBUS
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Reviewed-by: Andreas Färber <afaerber@suse.de>Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>...
xilinx_axienet: Register reset properly
Register the reset function and the Device::reset function rather thanexplicitly call it from the sysbus::init.
xilinx_axienet: converted init->realize
The prescribed transition from SysBusDevice::init to Device::realize. Im goingwith Andreas suggestion to move the sysbus foo to Object::init for early IRQvisibility.
xilinx_axidma: typedef XilinxAXIDMA struct
Typedef xilinx_axidma's object state struct to shorten the repeated usages ofstruct XilinxAXIDMA.
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>Acked-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>...
xilinx_axidma: Defined and use type cast macro
xilinx_axidma: Register reset properly
Register the reset function as the Device::reset function rather thanexplicitly call it from the sysbus::init.
xilinx_axidma: converted init->realize
The prescribed transition from SysBusDevice::init to Device::realize. I'm goingwith Andreas suggestion to move the sysbus foo to Object::init for early IRQvisibility.
petalogix_ml605_mmu: Fix machine node attachment
Just attach devices straight to the root machine node, rather than the"unattached node"
petalogix_ml605_mmu: Attach ethernet to machine
Explicitly make the ethernet a child of the machine. This is needed to setand use links pre-realize. Also makes the ethernet initialization consistentwith its peer DMA.
xilinx_axienet: Create Proxy object for stream
Create a separate child object to proxy the stream slave connection. This issetup for future work where a second stream slave connection is needed. Thenew child object is created at qdev init time and is linked back to the parent...
xilinx_axidma: Create Proxy object for stream
qxl: register QemuConsole for secondary cards
Hook secondary qxl cards properly into the qemu console subsystem.
xen: re-enable refresh interval reporting for xenfb
xenfb informs the guest about the gui refresh interval so it can avoidpointless work. That logic was temporarely disabled for theDisplayState reorganization. Restore it now, with a proper interfacefor it....
console: allow pinning displaychangelisteners to consoles
DisplayChangeListener gets a new QemuConsole field, which can be set tonon-NULL before registering. This will pin the QemuConsole, so thatparticular DisplayChangeListener will not follow console switches....
qxl: add 4k + 8k resolutions
console: add GraphicHwOps
Pass a single GraphicHwOps struct pointer to graphic_console_init,instead of a bunch of function pointers.
console: rename vga_hw_*, add QemuConsole param
Add QemuConsole parameter to vga_hw_*, so the interface allows to updatenon-active consoles (the actual code can't handle this yet, see nextpatch). Passing NULL is allowed and updates the active console, like...
console: simplify screendump
Screendumps are alot simpler as we can update non-activeQemuConsoles now. So we only need to update the QemuConsolewe want write out, then dump the DisplaySurface content intoa ppm file. Done.
No console switching needed. No special support code in the...
hw/vmware_vga.c: add tracepoints for mmio reads+writes
hw/vmware_vga.c: various vmware vga fixes.
Hardcode depth to 32 bpp. It effectively was that way before becausethat is the default surface depth, this just makes it explicit in thecode.
Rename depth to new_depth to make it consistent with the new_width +...
exynos4210_fimd.c: fix display resize bug introduced after console revamp
In exynos4210 display update function, we were acquiring DisplaySurfacepointer before calling screen resize function, not paying attention that resizeprocedure can replace current DisplaySurface with newly allocated one....
hw/vmware_vga.c: fix screen resize bug introduced after console revamp
In vmsvga display update function, a pointer to DisplaySurface must be acquiredafter a call to vmsvga_check_size since this function might replace currentDisplaySurface with a new one....
qdev: Add qdev property for bool type
Signed-off-by: Igor Mammedov <imammedo@redhat.com>[AF: Use new qdev_prop_set_after_realize()]Signed-off-by: Andreas Färber <afaerber@suse.de>
kvmvapic: Replace FROM_SYSBUS() with QOM type cast
... and define type name and type cast macro for kvmvapic accordingto accepted convention.
Signed-off-by: Igor Mammedov <imammedo@redhat.com>Signed-off-by: Andreas Färber <afaerber@suse.de>
ioapic: Replace FROM_SYSBUS() with QOM type cast
qdev: Set device's parent before calling realize() down inheritance chain
Currently device_set_realized() sets parent only after device was realized,but qdev_device_add() sets it before device is realized.Make behavior consistent and alter device_set_realized() to behave like...
virtio-balloon: fix dynamic properties.
To keep compatibility with the old virtio-balloon-x, add the dynamic propertiesto virtio-balloon-pci and virtio-balloon-ccw.
Cc: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>...
Merge remote-tracking branch 'bonzini/hw-dirs' into staging
qdev: Fix QOM unrealize behavior
Since commit 249d41720b7dfbb5951b430b9eefdbee7464f515 (qdev: Prepare"realized" property) setting realized = true would register the device'sVMStateDescription, but realized = false would not unregister it. Fix that.
Moving the code from unparenting also revealed that we were calling...
include: avoid useless includes of exec/ headers
Headers in include/exec/ are for the deepest innards of QEMU,they should almost never be included directly.
tpm: reorganize headers and split hardware part
The TPM subsystem does not have a full front-end/back-end separation.The sole available backend, tpm_passthrough, depends on the datastructures of the sole available frontend, tpm_tis.
However, we can at least try to split the user interface (tpm.c) from the...
sysemu: avoid proliferation of include/ subdirectories
virtio-serial-s390: switch to the new API.
Here the virtio-serial-s390 is modified for the new API. The devicevirtio-serial-s390 extends virtio-s390-device as before. It creates andconnects a virtio-serial during the init. The properties are notmodified....
virtio-serial-ccw: switch to the new API.
Here the virtio-serial-ccw is modified for the new API. The devicevirtio-serial-ccw extends virtio-ccw-device as before. It creates andconnects a virtio-serial during the init. The properties are not modified....
virtio-serial: cleanup: init and exit functions.
Signed-off-by: KONRAD Frederic <fred.konrad@greensocs.com>Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>...
virtio-serial: cleanup: use QOM casts.
As the virtio-serial-pci and virtio-serial-s390 are switched to the newAPI, we can use QOM casts.
virtio-serial: cleanup: remove qdev field.
The qdev field is no longer needed, just drop it.
virtio-serial: add the virtio-serial device.
Create virtio-serial which extends virtio-device, so it can be connectedon virtio-bus.
virtio-serial-pci: switch to the new API.
Here the virtio-serial-pci is modified for the new API. The devicevirtio-serial-pci extends virtio-pci. It creates and connects avirtio-serial during the init. The properties are not changed.
acpi: move declarations from pc.h to acpi.h
Functions defined in acpi/ should be declared inacpi.h
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arm: fix location of some include files
The recent rearrangement of include files had some minor errors: devices.h is not ARM specific and should not be in arm/ arm.h should be in arm/
Move these two headers to correct this.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
ide: refuse WIN_READ_NATIVE_MAX on empty device
What is the highest addressable sector on an empty CD-ROM? Nothing isaddressable so produce an error.
This patch prevents a divide-by-zero in ide_set_sector() sinces->sectors and s->heads would be 0. Not to mention that a sector=-1...
sh7750: Change cpu field type to SuperHCPU
This brings us a step closer to QOM'ified SH7750 SoC andfixes b350ab75 (target-sh4: Move PVR/PRR/CVR into SuperHCPUClass)assuming SuperHCPU type for SUPERH_CPU_GET_CLASS().
Fix Coding Style issues while at it (indentation, braces)....
shix: Catch CPU initialization errors
Print an error message as done for the r2d machine and exit.
Signed-off-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Typo, spelling and grammatical fixes
Minor fixes to documentation and code comments.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
virtio-9p: Fix virtio-9p no longer building after hw-dirs branch merge
Signed-off-by: Hans de Goede <hdegoede@redhat.com>Message-id: 1365495755-10902-1-git-send-email-hdegoede@redhat.comCc: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Merge remote-tracking branch 'stefanha/net' into staging
Message-id: 1365435829-23535-1-git-send-email-stefanha@redhat.com...
hw: move interrupt controllers to hw/intc/, configure with default-configs/
hw: move GPIO interfaces to hw/gpio/, configure with default-configs/
hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/
hw: move other devices to hw/misc/, configure with default-configs/
hw: move ARM CPU cores to hw/cpu/, configure with default-configs/
hw: move hw/kvm/ to hw/i386/kvm
Peter requested the KVM GIC to be in hw/intc.
hw: move last file to hw/arm/
hw: move private headers to hw/ subdirectories.
Many headers are used only in a single directory. These can bekept in hw/.
hw: move more files to hw/xen/
hw: move char devices to hw/char/, configure via default-configs/
hw: move ISA bridges and devices to hw/isa/, configure with default-configs/
hw: move timer devices to hw/timer/, configure with default-configs/
hw: move SD/MMC devices to hw/sd/, configure with default-configs/
hw: move PCI bridges to hw/pci-* or hw/ARCH
hw: move VFIO and ivshmem to hw/misc/
hw: move DMA controllers to hw/dma/, configure with default-configs/
hw: move I2C controllers to hw/i2c/, configure via default-configs/
hw: move SSI controllers to hw/ssi/, configure via default-configs/
hw: move SCSI controllers to hw/scsi/, configure via default-configs/