sdk/emulator/qemu.git
12 years agoMerge remote-tracking branch 'qmp/queue/qmp' into staging
Anthony Liguori [Thu, 19 Jan 2012 15:23:16 +0000 (09:23 -0600)]
Merge remote-tracking branch 'qmp/queue/qmp' into staging

* qmp/queue/qmp:
  block: use proper qerrors in qmp_block_resize
  qerror: restore alphabetical order over qerrors
  qerror: add check-qerror.sh to verify alphabetical order
  qmp: Add missing gcc format attribute and fix format string
  qapi: Convert block_set_io_throttle
  qapi: Convert change
  qerror: Extend QERR_DEVICE_ENCRYPTED
  qapi: Introduce change-vnc-password
  monitor: expose readline state
  qapi: Convert eject
  block: eject_device(): Use error_set()
  qapi: Convert expire_password
  qapi: Convert set_password
  vnc: Simplify vnc_display_password()

12 years agoMerge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging
Anthony Liguori [Thu, 19 Jan 2012 15:19:44 +0000 (09:19 -0600)]
Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging

* pmaydell/arm-devs.for-upstream:
  arm: make the number of GIC interrupts configurable
  hw/lan9118: Add save/load support
  arm: Remove incorrect comment in arm_timer
  vexpress, realview: Add (dummy) L2 cache controller

12 years agoMerge remote-tracking branch 'kraxel/usb.37' into staging
Anthony Liguori [Thu, 19 Jan 2012 14:34:38 +0000 (08:34 -0600)]
Merge remote-tracking branch 'kraxel/usb.37' into staging

* kraxel/usb.37:
  usb-redir: Improve some debugging messages
  usb-redir: Try to keep our buffer size near the target size
  usb-redir: Pre-fill our isoc input buffer before sending pkts to the host
  usb-redir: Dynamically adjust iso buffering size based on ep interval
  usb-redir: Clear iso / irq error when stopping the stream
  usb: link packets to endpoints not devices
  usb: add max_packet_size to USBEndpoint
  usb/debug: add usb_ep_dump
  usb-desc: USBEndpoint support
  usb: add ifnum to USBEndpoint
  usb: add USBEndpoint
  xhci: Initial xHCI implementation
  usb: add audio device model
  usb-desc: audio endpoint support
  usb: track altsetting in USBDevice
  usb: track configuration and interface count in USBDevice.
  usb-host: rip out legacy procfs support

12 years agoblock: use proper qerrors in qmp_block_resize
Stefan Hajnoczi [Wed, 4 Jan 2012 22:23:34 +0000 (22:23 +0000)]
block: use proper qerrors in qmp_block_resize

Let's report specific errors so that management tools and users can
identify the problem.

Two new qerrors are needed:
 * QERR_DEVICE_HAS_NO_MEDIUM for ENOMEDIUM
 * QERR_DEVICE_IS_READ_ONLY for EACCES

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqerror: restore alphabetical order over qerrors
Stefan Hajnoczi [Wed, 4 Jan 2012 17:38:22 +0000 (17:38 +0000)]
qerror: restore alphabetical order over qerrors

Over time these must have gotten out of order.  Put everything back in
alphabetical order.

This is purely a clean up.  In practice nothing depends on the order.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqerror: add check-qerror.sh to verify alphabetical order
Stefan Hajnoczi [Wed, 4 Jan 2012 22:23:32 +0000 (22:23 +0000)]
qerror: add check-qerror.sh to verify alphabetical order

We're supposed to keep qerror definitions and table entries in
alphabetical order.  In practice this is not checked.

I haven't found a nice way to integrate this into the makefile yet but
we can at least have this script which verifies that qerrors are in
alphabetical order.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqmp: Add missing gcc format attribute and fix format string
Stefan Weil [Fri, 23 Dec 2011 19:34:38 +0000 (20:34 +0100)]
qmp: Add missing gcc format attribute and fix format string

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqapi: Convert block_set_io_throttle
Luiz Capitulino [Wed, 14 Dec 2011 18:49:14 +0000 (16:49 -0200)]
qapi: Convert block_set_io_throttle

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqapi: Convert change
Luiz Capitulino [Thu, 8 Dec 2011 13:13:50 +0000 (11:13 -0200)]
qapi: Convert change

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqerror: Extend QERR_DEVICE_ENCRYPTED
Luiz Capitulino [Tue, 13 Dec 2011 19:18:30 +0000 (17:18 -0200)]
qerror: Extend QERR_DEVICE_ENCRYPTED

Include the name of the encrypted file.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqapi: Introduce change-vnc-password
Luiz Capitulino [Thu, 8 Dec 2011 13:45:55 +0000 (11:45 -0200)]
qapi: Introduce change-vnc-password

New QMP command to change the VNC password.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agomonitor: expose readline state
Anthony Liguori [Fri, 2 Sep 2011 17:34:50 +0000 (12:34 -0500)]
monitor: expose readline state

HMP is now implemented in terms of QMP.  The monitor has a bunch of logic to
deal with HMP right now like readline support.  Export it from the monitor so
we can consume it in hmp.c.

In short time, hmp.c will take over all of the readline bits.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqapi: Convert eject
Luiz Capitulino [Wed, 7 Dec 2011 18:02:36 +0000 (16:02 -0200)]
qapi: Convert eject

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoblock: eject_device(): Use error_set()
Luiz Capitulino [Wed, 7 Dec 2011 17:47:23 +0000 (15:47 -0200)]
block: eject_device(): Use error_set()

Also drops the leftover 'mon' argument.

This is a preparation for the next commits which will port the
eject and change commands to the QAPI.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqapi: Convert expire_password
Luiz Capitulino [Wed, 7 Dec 2011 13:47:57 +0000 (11:47 -0200)]
qapi: Convert expire_password

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoqapi: Convert set_password
Luiz Capitulino [Wed, 7 Dec 2011 13:17:51 +0000 (11:17 -0200)]
qapi: Convert set_password

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agovnc: Simplify vnc_display_password()
Luiz Capitulino [Wed, 7 Dec 2011 12:19:10 +0000 (10:19 -0200)]
vnc: Simplify vnc_display_password()

Drop the qerror_report() call from it and let its callers set the error
themselves. This also allows for dropping the 'ret' variable.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
12 years agoarm: make the number of GIC interrupts configurable
Mark Langsdorf [Tue, 17 Jan 2012 10:54:07 +0000 (10:54 +0000)]
arm: make the number of GIC interrupts configurable

Increase the maximum number of GIC interrupts for a9mp and a11mp to 1020,
and create a configurable property for each defaulting to 96 and 64
(respectively) so that device modelers can set the value appropriately
for their SoC. Other ARM processors also set their maximum number of
used IRQs appropriately.

Set the maximum theoretical number of GIC interrupts to 1020 and
update the save/restore code to only use the appropriate number for
each SoC.

Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
[Peter Maydell: fixed minor whitespace snafu]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agohw/lan9118: Add save/load support
Peter Maydell [Tue, 17 Jan 2012 10:54:07 +0000 (10:54 +0000)]
hw/lan9118: Add save/load support

Implement save/load for the LAN9118.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Andreas Färber <afaerber@suse.de>
12 years agoarm: Remove incorrect comment in arm_timer
Mark Langsdorf [Tue, 17 Jan 2012 10:54:07 +0000 (10:54 +0000)]
arm: Remove incorrect comment in arm_timer

The current comment says that the arm_timers are restricted to between
32 KHz and 1 MHz, but sp804 TRM does not specify those limits.

Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agovexpress, realview: Add (dummy) L2 cache controller
Peter Maydell [Tue, 17 Jan 2012 10:54:07 +0000 (10:54 +0000)]
vexpress, realview: Add (dummy) L2 cache controller

Instantiate the L2 cache controller on the ARM devboards which have one,
since we have a dummy model of it now. Note that the only non-MP board
with an L2x0 is the PB1176, which we don't model.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agousb-redir: Improve some debugging messages
Hans de Goede [Tue, 10 Jan 2012 13:13:08 +0000 (14:13 +0100)]
usb-redir: Improve some debugging messages

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-redir: Try to keep our buffer size near the target size
Hans de Goede [Tue, 10 Jan 2012 13:13:07 +0000 (14:13 +0100)]
usb-redir: Try to keep our buffer size near the target size

Before this patch we would allow the (iso) buffer to grow unlimited
(and it would under certain circumstances) leading to way too high
latencies for iso data streams.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-redir: Pre-fill our isoc input buffer before sending pkts to the host
Hans de Goede [Tue, 10 Jan 2012 13:13:06 +0000 (14:13 +0100)]
usb-redir: Pre-fill our isoc input buffer before sending pkts to the host

This is something which should have been done from the first version of
usb-redir, but wasn't.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-redir: Dynamically adjust iso buffering size based on ep interval
Hans de Goede [Tue, 10 Jan 2012 13:13:05 +0000 (14:13 +0100)]
usb-redir: Dynamically adjust iso buffering size based on ep interval

Note the bufpq_target_size id stored in the endpoint info struct,
even though it only used once. This is done because it will be
referenced from other code in a follow up patch.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-redir: Clear iso / irq error when stopping the stream
Hans de Goede [Tue, 10 Jan 2012 13:13:04 +0000 (14:13 +0100)]
usb-redir: Clear iso / irq error when stopping the stream

And ignore status messages from the client which arrive after stream
stop (the stream stop send to the client and an error status reported by
the client my cross each other due to network latency).

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb: link packets to endpoints not devices
Gerd Hoffmann [Tue, 13 Dec 2011 14:58:19 +0000 (15:58 +0100)]
usb: link packets to endpoints not devices

Add USBEndpoint for the control endpoint to USBDevices.  Link async
packets to the USBEndpoint instead of the USBDevice.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb: add max_packet_size to USBEndpoint
Gerd Hoffmann [Wed, 31 Aug 2011 14:09:27 +0000 (16:09 +0200)]
usb: add max_packet_size to USBEndpoint

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb/debug: add usb_ep_dump
Gerd Hoffmann [Mon, 29 Aug 2011 11:45:25 +0000 (13:45 +0200)]
usb/debug: add usb_ep_dump

Add function to dump endpoint data, for debugging purposes.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-desc: USBEndpoint support
Gerd Hoffmann [Tue, 30 Aug 2011 14:42:03 +0000 (16:42 +0200)]
usb-desc: USBEndpoint support

Initialize USBEndpoint structs from USBDesc* data.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb: add ifnum to USBEndpoint
Gerd Hoffmann [Mon, 29 Aug 2011 10:57:48 +0000 (12:57 +0200)]
usb: add ifnum to USBEndpoint

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb: add USBEndpoint
Gerd Hoffmann [Mon, 29 Aug 2011 10:49:46 +0000 (12:49 +0200)]
usb: add USBEndpoint

Start maintaining endpoint state at USBDevice level.  Add USBEndpoint
struct and some helper functions to deal with it.  For now it contains
the endpoint type only.  Moved over some bits from usb-linux.c

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agoxhci: Initial xHCI implementation
Hector Martin [Sun, 27 Feb 2011 20:09:09 +0000 (21:09 +0100)]
xhci: Initial xHCI implementation

Based on the implementation from Hector Martin <hector@marcansoft.com>

Hectors's implementation completely sidestepped the qemu usb system and
used libusb directly for usb device pass through.  So I've ripped out
the libusb bits (or left them in disabled, as reference for further
coding) and hooked up the qemu subsystem instead.  That work is not
complete yet though, partly due to limitations of the qemu usb
subsystem.  Nevertheless I think it is better to continue development
in-tree, especially as the qemu usb bits need a bunch of improvements
too for decent usb 3.0 support.

Current state:
  - usb-storage emulation should work ok.
  - Devices which need constant polling (HID emulation like usb-tablet)
    are known to not work.
  - ISO xfers are not implemented yet.
  - superspeed ports are not implemented yet.
  - usb pass-through is completely untested so far.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agopxa2xx_keypad: fix unbalanced parenthesis.
Andrzej Zaborowski [Tue, 17 Jan 2012 01:14:42 +0000 (02:14 +0100)]
pxa2xx_keypad: fix unbalanced parenthesis.

Breakage introduced by me when ammending a previous patch, sorry.

12 years agohw/arm_boot.c: Make SMP boards specify address to poll in bootup loop
Evgeny Voevodin [Fri, 13 Jan 2012 20:52:40 +0000 (20:52 +0000)]
hw/arm_boot.c: Make SMP boards specify address to poll in bootup loop

The secondary CPU bootloader in arm_boot.c holds secondary CPUs in a
pen until the primary CPU releases them. Make boards specify the
address to be polled to determine whether to leave the pen (it was
previously hardcoded to 0x10000030, which is a Versatile Express/
Realview specific system register address).

Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
12 years agohw/sysbus.h: Increase maximum number of device IRQs.
Evgeny Voevodin [Tue, 17 Jan 2012 01:08:19 +0000 (02:08 +0100)]
hw/sysbus.h: Increase maximum number of device IRQs.

Samsung exynos4210 Interrupt Combiner needs 512 IRQ sources.

Signed-off-by: Evgeny Voevodin <e.voevodin@samsung.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
12 years agopxa2xx_keypad: make single automatic scans work
Vasily Khoruzhick [Thu, 12 Jan 2012 19:30:34 +0000 (22:30 +0300)]
pxa2xx_keypad: make single automatic scans work

u-boot uses single automatic scans and polling in
pxa2xx_keypad driver, so clear KPC_AS bit immediately
and update keys state even if KPC_AS and KPC_ASACT are
cleared.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
12 years agopxa2xx_lcd: fix palette parser
Vasily Khoruzhick [Thu, 12 Jan 2012 19:30:35 +0000 (22:30 +0300)]
pxa2xx_lcd: fix palette parser

Pallete entry size for 16bpp format is 2 bytes, not 4

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
12 years agoseabios: Update to release 1.6.3.1
Jan Kiszka [Sun, 15 Jan 2012 16:48:25 +0000 (17:48 +0100)]
seabios: Update to release 1.6.3.1

User visible changes in seabios:
 - Probe HPET existence (fix for -no-hpet)
 - Probe PCI existence (fix for -machine isapc)
 - usb: fix boot paths

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
12 years agoisapc: Fix segfault during initialization
Jan Kiszka [Sat, 14 Jan 2012 13:08:28 +0000 (14:08 +0100)]
isapc: Fix segfault during initialization

Obviously, linking the RTC device state to the PIIX does not belong into
the common path that is shared with the isapc.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
12 years agokvm: flush the dirty log when unregistering a slot
Avi Kivity [Sun, 15 Jan 2012 14:13:59 +0000 (16:13 +0200)]
kvm: flush the dirty log when unregistering a slot

Otherwise, the dirty log information is lost in the kernel forever.

Fixes opensuse-12.1 boot screen, which changes the vga windows rapidly.

Signed-off-by: Avi Kivity <avi@redhat.com>
12 years agoarm: Add dummy support for co-processor 15's secure config register
Rob Herring [Fri, 13 Jan 2012 17:25:08 +0000 (17:25 +0000)]
arm: Add dummy support for co-processor 15's secure config register

Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Mark Langsdorf <mark.langsdorf@calxeda.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agotarget-arm: Fix errors in decode of M profile CPS
Peter Maydell [Fri, 13 Jan 2012 17:25:08 +0000 (17:25 +0000)]
target-arm: Fix errors in decode of M profile CPS

Fix errors in the decode of M profile CPS:
 * the decode of the I (affects PRIMASK) and F (affects FAULTMASK)
   bits was reversed
 * the FAULTMASK system register number is 19, not 17

This fixes an issue reported as LP:913925.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
12 years agoprepare for future GPLv2+ relicensing
Paolo Bonzini [Fri, 13 Jan 2012 16:44:23 +0000 (17:44 +0100)]
prepare for future GPLv2+ relicensing

All files under GPLv2 will get GPLv2+ changes starting tomorrow.
event_notifier.c and exec-obsolete.h were only ever touched by Red Hat
employees and can be relicensed now.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovirtio-console: no need to remove char handlers explicitly
Amit Shah [Fri, 13 Jan 2012 09:59:48 +0000 (15:29 +0530)]
virtio-console: no need to remove char handlers explicitly

qdev is now equipped (thanks to the last commit) to disassociate
chardevs from the qdev devices on the devices going away.  So doing it
in the virtio-console driver is not necessary.

Since that was the only thing being done in the qdev exit method, drop
it entirely.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqdev: Add a 'free' method to disassociate chardev from qdev device
Amit Shah [Fri, 13 Jan 2012 09:59:47 +0000 (15:29 +0530)]
qdev: Add a 'free' method to disassociate chardev from qdev device

When a device is removed, remove the association with a chardev, if any,
so that the chardev can be re-used later for other devices.

Reported-by: Qunfang Zhang <qzhang@redhat.com>
Fix-suggested-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovectorize is_dup_page
Paolo Bonzini [Fri, 23 Dec 2011 15:17:26 +0000 (16:17 +0100)]
vectorize is_dup_page

is_dup_page is already proceeding in 32-bit chunks.  Changing it
to 16 bytes using Altivec or SSE is easy.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovirtio-blk: refuse SG_IO requests with scsi=off
Paolo Bonzini [Fri, 23 Dec 2011 14:39:03 +0000 (15:39 +0100)]
virtio-blk: refuse SG_IO requests with scsi=off

QEMU does have a "scsi" option (to be used like -device
virtio-blk-pci,drive=foo,scsi=off).  However, it only
masks the feature bit, and does not reject the command
if a malicious guest disregards the feature bits and
issues a request.

Without this patch, using scsi=off does not protect you
from CVE-2011-4127.

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovmstate: extract declarations out of hw/hw.h
Paolo Bonzini [Fri, 13 Jan 2012 16:07:20 +0000 (17:07 +0100)]
vmstate: extract declarations out of hw/hw.h

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoptimer: move declarations to ptimer.h
Paolo Bonzini [Fri, 13 Jan 2012 16:07:19 +0000 (17:07 +0100)]
ptimer: move declarations to ptimer.h

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agortc: clear non-PF bits when reinjecting on ack
Paolo Bonzini [Mon, 21 Nov 2011 18:00:31 +0000 (19:00 +0100)]
rtc: clear non-PF bits when reinjecting on ack

When an rtc interrupt is reinjected immediately after being acked,
other interrupts should not be reinjected, so do clear their bits.

Also, if the periodic interrupts have been disabled before acking,
do not reinject, as the guest might get very confused!

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agortc: raise PF bit when the periodic timer triggers but PIE=0
Paolo Bonzini [Mon, 21 Nov 2011 18:00:30 +0000 (19:00 +0100)]
rtc: raise PF bit when the periodic timer triggers but PIE=0

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agortc: raise AF bit when the alarm is encountered but AIE=0
Paolo Bonzini [Mon, 21 Nov 2011 18:00:29 +0000 (19:00 +0100)]
rtc: raise AF bit when the alarm is encountered but AIE=0

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agortc: fix 12-hour mode
Paolo Bonzini [Mon, 21 Nov 2011 18:00:28 +0000 (19:00 +0100)]
rtc: fix 12-hour mode

Hours in 12-hour mode are in the 1-12 range, not 0-11.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoqdev: fix device_del by refactoring reference counting
Anthony Liguori [Fri, 13 Jan 2012 13:45:55 +0000 (07:45 -0600)]
qdev: fix device_del by refactoring reference counting

Commit 8eb0283 broken device_del by having too overzealous reference counting
checks.  Move the reference count checks to qdev_free(), make sure to remove
the parent link on free, and decrement the reference count on property removal.

Reported-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMerge remote-tracking branch 'stefanha/trivial-patches' into HEAD
Anthony Liguori [Fri, 13 Jan 2012 16:17:49 +0000 (10:17 -0600)]
Merge remote-tracking branch 'stefanha/trivial-patches' into HEAD

* stefanha/trivial-patches:
  bt-host: add missing break statement
  virtfs-proxy-helper: Add missing printf format attribute
  virtfs-proxy-helper: Clean include files
  virtfs-proxy-helper: Fix compilation on newer systems
  hmp: Fix freeing of PciInfoList
  Add 'fall through' comments to case statements without break
  omap_dss: correct chip[1] index in RFBI_READ/RFBI_STATUS
  vnc: fix no-lock-key-sync strncmp() length
  vvfat: avoid leaking file descriptor in commit_one_file()
  Spelling fixes in comments and documentation
  tcg-arm: fix a typo in comments
  configure: Modify detection of supported warning options

12 years agotarget-i386: fix compilation with --enable-debug-tcg
Aurelien Jarno [Fri, 13 Jan 2012 15:01:40 +0000 (16:01 +0100)]
target-i386: fix compilation with --enable-debug-tcg

Commit 2355c16e74ffa4d14e7fc2b4a23b055565ac0221 introduced a new ldmxcsr
helper taking an i32 argument, but the helper is actually passed a long.
Fix that by truncating the long to i32.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
12 years agobt-host: add missing break statement
Stefan Hajnoczi [Thu, 12 Jan 2012 14:17:04 +0000 (14:17 +0000)]
bt-host: add missing break statement

The switch statement in bt_host_read() is missing a break in one case.
Andrzej Zaborowski <andrew.zaborowski@intel.com> confirmed that this is
not an intentional fall-through.

Reviewed-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agovirtfs-proxy-helper: Add missing printf format attribute
Stefan Weil [Wed, 11 Jan 2012 18:47:37 +0000 (19:47 +0100)]
virtfs-proxy-helper: Add missing printf format attribute

Every function with printf like arguments must have it
(see file HACKING), so add it.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agovirtfs-proxy-helper: Clean include files
Stefan Weil [Wed, 11 Jan 2012 18:34:30 +0000 (19:34 +0100)]
virtfs-proxy-helper: Clean include files

The common standard include files are already included via qemu-common.h,
and for the socket related include files there is qemu_socket.h, so the
code can be reduced by some lines.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agovirtfs-proxy-helper: Fix compilation on newer systems
Stefan Weil [Wed, 11 Jan 2012 18:34:29 +0000 (19:34 +0100)]
virtfs-proxy-helper: Fix compilation on newer systems

Include file attr/xattr.h is not available on "newer" systems
(for example Fedora 12 or Debian Squeeze).

See comments in qemu-xattr.h for more information.
This file handles the system dependencies automatically.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agohmp: Fix freeing of PciInfoList
Stefan Berger [Wed, 11 Jan 2012 15:51:52 +0000 (10:51 -0500)]
hmp: Fix freeing of PciInfoList

Remember the original PciInfoList in info_list and use
the info variable to traverse the list.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoAdd 'fall through' comments to case statements without break
Stefan Weil [Mon, 9 Jan 2012 17:29:51 +0000 (18:29 +0100)]
Add 'fall through' comments to case statements without break

These comments are used by static code analysis tools and in code reviews
to avoid false warnings because of missing break statements.

The case statements handled here were reported by coverity.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoomap_dss: correct chip[1] index in RFBI_READ/RFBI_STATUS
Stefan Hajnoczi [Sat, 7 Jan 2012 11:59:59 +0000 (11:59 +0000)]
omap_dss: correct chip[1] index in RFBI_READ/RFBI_STATUS

The RFBI_READ/RFBI_STATUS code incorrectly uses chip[0] when it should
be using chip[1].  Andrzej Zaborowski <balrog@zabor.org> confirmed this
bug since I don't know this code well.

Reported-by: Dr David Alan Gilbert <davidagilbert@uk.ibm.com>
Reviewed-by: Andrzej Zaborowski <andrew.zaborowski@intel.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agovnc: fix no-lock-key-sync strncmp() length
Stefan Hajnoczi [Fri, 6 Jan 2012 16:57:45 +0000 (16:57 +0000)]
vnc: fix no-lock-key-sync strncmp() length

The no-lock-key-sync option is being parsed incorrectly because of an
outdated strcmp() length value.  Use the correct length so that invalid
option names do not match.

Reported-by: Dr David Alan Gilbert <davidagilbert@uk.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agovvfat: avoid leaking file descriptor in commit_one_file()
Stefan Hajnoczi [Fri, 6 Jan 2012 16:57:44 +0000 (16:57 +0000)]
vvfat: avoid leaking file descriptor in commit_one_file()

Reported-by: Dr David Alan Gilbert <davidagilbert@uk.ibm.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoSpelling fixes in comments and documentation
Stefan Weil [Sun, 8 Jan 2012 18:35:09 +0000 (19:35 +0100)]
Spelling fixes in comments and documentation

Codespell detected these new spelling issues.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agotcg-arm: fix a typo in comments
Aurelien Jarno [Sat, 7 Jan 2012 20:00:25 +0000 (21:00 +0100)]
tcg-arm: fix a typo in comments

ARM still doesn't support 16GB buffers in 32-bit modes, replace the
16GB by 16MB in the comment.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agoconfigure: Modify detection of supported warning options
Stefan Weil [Wed, 4 Jan 2012 21:47:16 +0000 (22:47 +0100)]
configure: Modify detection of supported warning options

Reversing the order of the warning options and -Werror is important
when clang is used instead of gcc. It changes nothing for gcc.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
12 years agocris: Update paths to match the move of tests/cris
Edgar E. Iglesias [Fri, 13 Jan 2012 10:09:56 +0000 (11:09 +0100)]
cris: Update paths to match the move of tests/cris

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
12 years agousb: add audio device model
H. Peter Anvin [Fri, 10 Sep 2010 21:47:56 +0000 (14:47 -0700)]
usb: add audio device model

This brings a usb audio device to qemu.  Output only, fixed at
16bit stereo @ 480000 Hz.  Based on a patch from
H. Peter Anvin <hpa@linux.intel.com>

Usage: add '-device usb-audio' to your qemu command line.

Works sorta ok on a idle machine.  Known issues:

 * Is *very* sensitive to latencies.
 * Burns quite some CPU due to usb polling.

In short:  It brings the qemu usb emulation to its limits.  Enjoy!

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-desc: audio endpoint support
Gerd Hoffmann [Wed, 10 Aug 2011 12:10:04 +0000 (14:10 +0200)]
usb-desc: audio endpoint support

Add support for audio endpoints which have two more fields in the
descriptor.  Also add support for extra class specific endpoint
descriptors.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb: track altsetting in USBDevice
Gerd Hoffmann [Tue, 30 Aug 2011 11:21:27 +0000 (13:21 +0200)]
usb: track altsetting in USBDevice

Also handle {GET,SET}_INTERFACE in common code (usb-desc.c).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb: track configuration and interface count in USBDevice.
Gerd Hoffmann [Tue, 30 Aug 2011 09:11:29 +0000 (11:11 +0200)]
usb: track configuration and interface count in USBDevice.

Move fields from USBHostDevice to USBDevice.
Add bits to usb-desc.c to fill them for emulated devices too.
Also allow to set configuration 0 (== None) for emulated devices.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agousb-host: rip out legacy procfs support
Gerd Hoffmann [Fri, 16 Dec 2011 10:54:11 +0000 (11:54 +0100)]
usb-host: rip out legacy procfs support

This patch removes support for parsing /proc/bus/usb/devices for device
discovery.  The code lacks a few features compared to the sysfs code and
is also bitrotting as everybody has sysfs these days.

This implies having sysfs mounted is mandatory now to use the usb-host
driver.  udev isn't required though.  qemu will prefer the udev-managed
device nodes below /dev/bus/usb, but in case this directory isn't preset
qemu will use the device nodes below /proc/bus/usb (default usbfs mount
point).

Bottom line: make sure you have both sysfs and usbfs mounted properly,
and everything should continue to work as it did before.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
12 years agocheck-qstring: remove check.h include
Anthony Liguori [Thu, 12 Jan 2012 17:33:22 +0000 (11:33 -0600)]
check-qstring: remove check.h include

Reported-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoMAINTAINERS: update tracing repo git URL
Stefan Hajnoczi [Wed, 11 Jan 2012 10:02:43 +0000 (10:02 +0000)]
MAINTAINERS: update tracing repo git URL

I have moved git hosting services.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoSupport for UDP unicast network backend
Benjamin [Wed, 11 Jan 2012 00:20:54 +0000 (09:20 +0900)]
Support for UDP unicast network backend

Signed-off-by: Benjamin MARSILI <mlspirat42@gmail.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocleanup, save a syscall
Lai Jiangshan [Thu, 12 Jan 2012 09:05:35 +0000 (17:05 +0800)]
cleanup, save a syscall

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocleanup, Remove duplicated code
Lai Jiangshan [Thu, 12 Jan 2012 09:05:34 +0000 (17:05 +0800)]
cleanup, Remove duplicated code

These two blocks of code are exactly the same, remove one.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agotest: eliminate libcheck tests and have make check use gtester
Anthony Liguori [Tue, 10 Jan 2012 19:10:51 +0000 (13:10 -0600)]
test: eliminate libcheck tests and have make check use gtester

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qjson: enable disabled tests
Anthony Liguori [Tue, 10 Jan 2012 19:10:50 +0000 (13:10 -0600)]
check-qjson: enable disabled tests

gtest does the right thing here so there's no need to comment these tests out.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qjson: convert to gtest
Anthony Liguori [Tue, 10 Jan 2012 19:10:49 +0000 (13:10 -0600)]
check-qjson: convert to gtest

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qlist: convert to gtest
Anthony Liguori [Tue, 10 Jan 2012 19:10:48 +0000 (13:10 -0600)]
check-qlist: convert to gtest

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qstring: convert to gtest
Anthony Liguori [Tue, 10 Jan 2012 19:10:47 +0000 (13:10 -0600)]
check-qstring: convert to gtest

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qint: convert to gtest
Anthony Liguori [Tue, 10 Jan 2012 19:10:46 +0000 (13:10 -0600)]
check-qint: convert to gtest

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qfloat: convert to gtest
Anthony Liguori [Tue, 10 Jan 2012 19:10:45 +0000 (13:10 -0600)]
check-qfloat: convert to gtest

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agocheck-qdict: convert to gtest
Anthony Liguori [Tue, 10 Jan 2012 19:10:44 +0000 (13:10 -0600)]
check-qdict: convert to gtest

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agobuild: split unit test builds to a separate makefile fragment
Anthony Liguori [Tue, 10 Jan 2012 19:10:43 +0000 (13:10 -0600)]
build: split unit test builds to a separate makefile fragment

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agotests: mv tests/* -> tests/tcg
Anthony Liguori [Tue, 10 Jan 2012 19:10:42 +0000 (13:10 -0600)]
tests: mv tests/* -> tests/tcg

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agovga: optimize ppm_save() divisions
Avi Kivity [Tue, 3 Jan 2012 13:32:57 +0000 (15:32 +0200)]
vga: optimize ppm_save() divisions

ppm_save() spends upwards of 50% of its time doing divisions. Replace them
with shifts.

Reviewed-by: Alon Levy <alevy@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoFix qapi code generation fix
Avi Kivity [Wed, 28 Dec 2011 10:26:58 +0000 (12:26 +0200)]
Fix qapi code generation fix

The fixes to qapi code generation had multiple bugs:
- the Null class used to drop output was missing some methods
- in some scripts it was never instantiated, leading to a None return,
  which is missing even more methods
- the --source and --header options were swapped

Luckily, all those bugs were hidden by a makefile bug which caused the
old behaviour (with the race) to be invoked.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
12 years agoetraxfs-dma: Model metadata and eop
Lars Persson [Wed, 21 Dec 2011 14:11:35 +0000 (15:11 +0100)]
etraxfs-dma: Model metadata and eop

- Send EOP flags to the out channels.
- Send data descriptor metadata to the out channels.

Signed-off-by: Lars Persson <larper@axis.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
12 years agomicroblaze: Break the tb at memory barriers
Edgar E. Iglesias [Tue, 10 Jan 2012 09:33:37 +0000 (10:33 +0100)]
microblaze: Break the tb at memory barriers

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
12 years agomicroblaze: Emulate the hw stackprotector
Edgar E. Iglesias [Tue, 10 Jan 2012 09:27:11 +0000 (10:27 +0100)]
microblaze: Emulate the hw stackprotector

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
12 years agomicroblaze: Add support for the clz insn
Edgar E. Iglesias [Tue, 10 Jan 2012 09:17:21 +0000 (10:17 +0100)]
microblaze: Add support for the clz insn

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
12 years agotarget-i386: fix SSE rounding and flush to zero
Aurelien Jarno [Sat, 7 Jan 2012 14:20:12 +0000 (15:20 +0100)]
target-i386: fix SSE rounding and flush to zero

SSE rounding and flush to zero control has never been implemented. However
given that softfloat-native was using a single state for FPU and SSE and
given that glibc is setting both FPU and SSE state in fesetround(), this
was working correctly up to the switch to softfloat.

Fix that by adding an update_sse_status() function similar to
update_fpu_status(), and callin git on write to mxcsr.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
12 years agotarget-i386: fix dpps and dppd SSE2 instructions
Aurelien Jarno [Sat, 7 Jan 2012 14:20:12 +0000 (15:20 +0100)]
target-i386: fix dpps and dppd SSE2 instructions

The helpers implemented dpps and dppd SSE instructions are not passing
the correct argument types to the softfloat functions. While they do
work anyway providing a correct behaviour, this patch fixes that.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
12 years agotarget-i386: fix round{pd,ps,sd,ss} SSE2 instructions
Aurelien Jarno [Sat, 7 Jan 2012 14:20:11 +0000 (15:20 +0100)]
target-i386: fix round{pd,ps,sd,ss} SSE2 instructions

roundps and roundss SSE2 instructions have been broken when switching
target-i386 to softfloat. They use float64_round_to_int to convert a
float32, and while the implicit conversion from float32 to float64 was
correct for softfloat-native, it is not for pure softfloat. Fix that by
using the correct registers and correct functions.

Also fix roundpd and roundsd implementation at the same time, even if
these functions are behaving correctly.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
12 years agotarget-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions
Aurelien Jarno [Sat, 7 Jan 2012 14:20:11 +0000 (15:20 +0100)]
target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions

minpd, minps, minsd, minss and maxpd, maxps, maxsd, maxss SSE2
instructions have been broken when switching target-i386 to softfloat.
It's not possible to use comparison instructions on float types anymore
to softfloat, so use the floatXX_lt function instead, as the
float_XX_min and float_XX_max functions can't be used due to the Intel
specific behaviour.

As it implements the correct NaNs behaviour, let's remove the
corresponding entry from the TODO.

It fixes GDM screen display on Debian Lenny.

Thanks to Peter Maydell and Jason Wessel for their analysis of the
problem.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>