Statistics
| Branch: | Revision:

root / hw @ 71193433

# Date Author Comment
71193433 10/05/2012 03:35 am Alexander Graf

fdt: move dumpdtb interpretation code to device_tree.c

The dumpdtb code can be useful in more places than just for e500. Move it
to a generic place.

Signed-off-by: Alexander Graf <>

ff9d2afa 10/04/2012 04:54 pm David Gibson

pseries: Remove XICS irq type enum type

Currently the XICS interrupt controller emulation uses a custom enum to
specify whether a given interrupt is level-sensitive or message-triggered.
This enum makes life awkward for saving the state, and isn't particularly...

490d4a2b 10/04/2012 04:54 pm David Gibson

pseries: Remove never used flags field from spapr vio devices

The general device state structure for PAPR VIO emulated devices includes a
'flags' field which was never used. This patch removes it.

Signed-off-by: David Gibson <>...

53724ee5 10/04/2012 04:54 pm David Gibson

pseries: Rework implementation of TCE bypass

On the pseries machine the IOMMU (aka TCE tables) is always active for all
PCI and VIO devices. Mostly to simplify the SLOF firmware, we implement an
extension which allows the IOMMU to be temporarily disabled for certain...

3fe719f4 10/04/2012 04:54 pm David Gibson

pseries: Fix semantics of RTAS int-on, int-off and set-xive functions

Currently the ibm,int-on and ibm,int-off RTAS functions are implemented as
no-ops. This is because when implemented as specified in PAPR they caused
Linux (which calls both int-on/off and set-xive) to end up with interrupts...

5a1972c8 10/04/2012 04:54 pm Stefan Weil

ppc405_uc: Fix buffer overflow

Report from smatch:

ppc405_uc.c:209 dcr_read_pob(12) error: buffer overflow 'pob->besr' 2 <= 2
ppc405_uc.c:232 dcr_write_pob(12) error: buffer overflow 'pob->besr' 2 <= 2

The old code reads and writes besr[POB0_BESR1 - POB0_BESR0] or besr2...

35f9304d 10/04/2012 04:54 pm David Gibson

pseries: Remove unnecessary locking from PAPR hash table hcalls

In the paravirtualized environment provided by PAPR, there is a standard
locking scheme so that hypercalls updating the hash page table from
different guest threads don't corrupt the haah table state. We implement...

382be75d 10/04/2012 04:54 pm David Gibson

pseries: Set hash table size based on RAM size

Currently the pseries machine code always attempts to set the size of the
guests's hash page table to 16MB. However, because of the way the POWER
MMU works, a suitable hash page table size should really depend on memory...

048706d9 10/04/2012 04:54 pm David Gibson

pseries: Fix and cleanup CPU initialization and reset

The current pseries machine init function iterates over the CPUs at several
points, doing various bits of initialization. This is messy; these can
and should be merged into a single iteration doing all the necessary per...

c8787ad4 10/04/2012 04:54 pm David Gibson

pseries: Use new method to correct reset sequence

A number of things need to occur during reset of the PAPR
paravirtualized platform in a specific order. For example, the hash
table needs to be cleared before the CPUs are reset, so that they
initialize their register state correctly, and the CPUs need to have...

7f763a5d 10/04/2012 04:54 pm David Gibson

pseries: Add support for new KVM hash table control call

This adds support for then new "reset htab" ioctl which allows qemu
to properly cleanup the MMU hash table when the guest is reset. With
the corresponding kernel support, reset of a guest now works properly....

4dd96f24 10/04/2012 04:54 pm David Gibson

pseries: Clear TCE and signal state when resetting PAPR VIO devices

When we reset the system, the reset method for VIO bus devices resets
the state of their request queue (if present) as it should. However
it was not resetting the state of their TCE table (DMA translation) if...

eddeed26 10/04/2012 04:54 pm David Gibson

pseries: Reset emulated PCI TCE tables on system reset

The emulated PCI host bridge on the pseries machine incorporates an IOMMU
(PAPR TCE table). Currently the mappings in this IOMMU are not cleared
when we reset the system. This patch fixes this bug. To do this it adds...

256b408a 10/04/2012 04:54 pm David Gibson

pseries: Fix XICS reset

The XICS interrupt controller used on the pseries machine currently has no
reset handler. We can get away with this under some circumstances, but
it's not correct, and can cause failures if the XICS happens to be in the
wrong state at the time of reset....

1dd08894 10/04/2012 04:54 pm David Gibson

pseries: Small cleanup to H_CEDE implementation

The H_CEDE hypercall implementation for the pseries machine doesn't trigger
quite the right path in the main cpu exec loop. We should set exit_request
to pop up one extra level and recheck state, and we should set the...

98ca8c02 10/04/2012 04:54 pm David Gibson

pseries: Remove C bitfields from xics code

The XICS interrupt controller emulation uses some C bitfield variables in
its internal state structure. This makes like awkward for saving the state
because we don't have easy VMSTATE helpers for bitfields.

This patch removes the bitfields, instead using explicit bit masking in a...

0f41dc18 10/01/2012 09:40 pm Anthony Liguori

vfio_pci: fix build on 32-bit systems

We cannot cast directly from pointer to uint64.

Cc: Alex Williamson <>
Cc: Alex Barcelo <>
Reported-by: Alex Barcelo <>
Signed-off-by: Anthony Liguori <>

65501a74 10/01/2012 04:04 pm Alex Williamson

vfio: vfio-pci device assignment driver

This adds the core of the QEMU VFIO-based PCI device assignment driver.
To make use of this driver, enable CONFIG_VFIO, CONFIG_VFIO_IOMMU_TYPE1,
and CONFIG_VFIO_PCI in your host Linux kernel config. Load the vfio-pci...

92e1fb5e 10/01/2012 04:04 pm Alex Williamson

vfio: Enable vfio-pci and mark supported

Enabled for all softmmu guests supporting PCI on Linux hosts. Note
that currently only x86 hosts have the kernel side VFIO IOMMU support
for this. PPC (g3beige) is the only non-x86 guest known to work.
ARM (veratile) hangs in firmware, others untested....

3dc3e7dd 09/26/2012 06:48 pm Francesco Lavra

Versatile Express: Add modelling of NOR flash

This patch adds modelling of the two NOR flash banks found on the
Versatile Express motherboard. Tested with U-Boot running on an emulated
Versatile Express, with either A9 or A15 CoreTile.

Signed-off-by: Francesco Lavra <>...

661bafb3 09/26/2012 06:47 pm Francesco Lavra

Versatile Express: Fix NOR flash 0 address and remove flash alias

In the A series memory map (implemented in the Cortex A15 CoreTile), the
first NOR flash bank (flash 0) is mapped to address 0x08000000, while
address 0x00000000 can be configured as alias to either the first or the...

14c126ba 09/26/2012 06:46 pm Brendan Fennell

pl190: fix read of VECTADDR

Reading VECTADDR was causing us to set the current priority to
the wrong value, the most obvious effect of which was that we
would return the vector for the wrong interrupt as the result
of the read.

Signed-off-by: Brendan Fennell <>...

9892cae3 09/26/2012 06:46 pm Meador Inge

hw/armv7m_nvic: Correctly register GIC region when setting up NVIC

When setting up the NVIC memory regions the memory range
0x100..0xcff is aliased to an IO memory region that belongs
to the ARM GIC. This aliased region should be added to the
NVIC memory container, but the actual GIC IO memory region...

ac05f349 09/26/2012 04:05 am Amos Kong

add a boot parameter to set reboot timeout

Added an option to let qemu transfer a configuration file to bios,
"etc/boot-fail-wait", which could be specified by command
-boot reboot-timeout=T
T have a max value of 0xffff, unit is ms.

With this option, guest will wait for a given time if not find...

f4306941 09/26/2012 02:38 am Gerd Hoffmann

add pc-1.3 machine type

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

183c5eaa 09/26/2012 02:38 am Gerd Hoffmann

compat: turn off msi/msix on xhci for old machine types

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Anthony Liguori <>

c08ba66f 09/26/2012 02:38 am Gerd Hoffmann

ivshmem: add 64bit option

This patch adds a "use64" property which will make the ivshmem driver
register a 64bit memory bar when set, so you have something to play with
when testing 64bit pci bits. It also allows to have quite big shared
memory regions, like this:...

d010f91c 09/26/2012 02:37 am Igor Mammedov

acpi: use notifier for signaling guest system_powerdown command

In addition, there is no need to allocate an extra irq just for
rising SCI in irq handler. Just rise SCI right from notifier
handler instead.

Signed-off-by: Igor Mammedov <>...

c72ddb1e 09/26/2012 02:37 am Igor Mammedov

target-arm: use notifier for signaling guest system_powerdown command

Acked-by: Peter Maydell <>
Signed-off-by: Igor Mammedov <>
Signed-off-by: Anthony Liguori <>

bea42280 09/26/2012 02:37 am Igor Mammedov

target-sparc: use notifier for signaling guest system_powerdown command

Signed-off-by: Igor Mammedov <>
Signed-off-by: Anthony Liguori <>

d352210a 09/26/2012 12:06 am Anthony Liguori

Merge remote-tracking branch 'bonzini/scsi-next' into staging

  • bonzini/scsi-next:
    SCSI: Standard INQUIRY data should report HiSup flag as set.
    scsi-disk: use scsi_data_cdb_length
    scsi: introduce scsi_cdb_length and scsi_data_cdb_length
    scsi-disk: fix check for out-of-range LBA...
3988475b 09/26/2012 12:06 am Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

  • stefanha/trivial-patches:
    w32: Always use standard instead of native format strings
    net/socket: Fix compiler warning (regression for MinGW)
    linux-user: Remove redundant null check and replace free by g_free...
5d40097f 09/23/2012 09:11 am Stefan Weil

cadence_uart: Fix buffer overflow

Report from smatch:
hw/cadence_uart.c:413 uart_read(13) error: buffer overflow 's->r' 18 <= 18

This fixes read access to s->r[R_MAX] which is behind the limits of s->r.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

81396266 09/23/2012 09:11 am Stefan Weil

lm4549: Fix buffer overflow

Report from smatch:
lm4549.c:234 lm4549_write_samples(14) error:
buffer overflow 's->buffer' 1024 <= 1024

There must be enough space to add two entries starting with index
s->buffer_level, therefore the old check was wrong.
...

997f1567 09/23/2012 09:11 am Stefan Weil

ioh3420: Remove unreachable code

Report from smatch:
hw/ioh3420.c:128 ioh3420_initfn(35) info: ignoring unreachable code.

Signed-off-by: Stefan Weil <>
Reviewed-by: Juan Quintela <>
Signed-off-by: Stefan Hajnoczi <>

12dabc79 09/23/2012 09:11 am Stefan Weil

pflash_cfi01: Fix warning caused by unreachable code

Report from smatch:
hw/pflash_cfi01.c:431 pflash_write(180) info: ignoring unreachable code.

Instead of removing the return statement after the switch statement,
the patch replaces the return statements in the switch statement by...

cfb75cb9 09/21/2012 08:53 pm Aurelien Jarno

Merge branch 'usb.65' of git://git.kraxel.org/qemu

  • 'usb.65' of git://git.kraxel.org/qemu:
    uhci: Don't queue up packets after one with the SPD flag set
    usb-redir: Revert usb-redir part of commit 93bfef4c
    usb-redir: Add chardev open / close debug logging...
e93176d5 09/21/2012 05:17 pm Paolo Bonzini

scsi-disk: use scsi_data_cdb_length

This simplifies and unifies the parsing of READ, WRITE and WRITE SAME
commands.

Signed-off-by: Paolo Bonzini <>

1109c894 09/21/2012 05:17 pm Ronnie Sahlberg

SCSI: Standard INQUIRY data should report HiSup flag as set.

QEMU as far as I know only reports LUN numbers using the modes that
are described in SAM4.
As such, since all LUN numbers generated by the SCSI emulation in QEMU
follow SAM4, we should set the HiSup bit in the standard INQUIRY data...

bb729f75 09/21/2012 05:14 pm Paolo Bonzini

scsi: introduce scsi_cdb_length and scsi_data_cdb_length

Signed-off-by: Paolo Bonzini <>

444bc908 09/21/2012 05:12 pm Paolo Bonzini

scsi-disk: introduce check_lba_range

Abstract the test for an out-of-range (starting block, block count)
pair.

Signed-off-by: Paolo Bonzini <>

12ca76fc 09/21/2012 05:12 pm Paolo Bonzini

scsi-disk: fix check for out-of-range LBA

This fix is needed to correctly handle 0-block read and writes.
Without it, a 0-block access at LBA 0 would underflow.

Signed-off-by: Paolo Bonzini <>

262e1eaa 09/19/2012 10:40 pm Aurelien Jarno

pflash_cfi01: fix vendor specific extended query

pflash_cfi01 announces a version number of 1.1, which implies
"Protection Register Information" and "Burst Read information"
sections, which are not provided.

Decrease the version number to 1.0 so that only the "Protection...

eb99c9a9 09/19/2012 10:40 pm Peter Maydell

hw/pflash_cfi012: Use host-utils.h ctz32()

Drop the private reimplementation of ctz32() from pflash_cfi012
in favour of using the standard version from host-utils.h.

Signed-off-by: Peter Maydell <>
Reviewed-by: Stefan Weil <>...

8354cd72 09/19/2012 07:48 pm Chris Wulff

xilinx_timer: Fix a compile error if debug enabled

There was a missing include of qemu-log and a variable name in a printf was out
of date.

Signed-off-by: Chris Wulff <>
Signed-off-by: Peter A. G. Crosthwaite <>

c0a1dcb9 09/19/2012 07:48 pm Peter A. G. Crosthwaite

xilinx_timer: Removed comma in device name

Fixes an error in a61e4b07a30c062260d2d01771773f14820d1eb7

Signed-off-by: Peter A. G. Crosthwaite <>

e03377ae 09/19/2012 07:48 pm Peter A. G. Crosthwaite

xilinx_timer: Send dbg msgs to stderr not stdout

Signed-off-by: Peter A. G. Crosthwaite <>

919f89f4 09/19/2012 07:48 pm Peter A. G. Crosthwaite

xilinx_timer: Fixed "frequency" prop name

The "frequency" qdev prop matches the "clock-frequency" property in Xilinx EDK.
Renamed "frequency" -> "clock-frequency" accordingly.

Signed-off-by: Peter A. G. Crosthwaite <>

4b5e5210 09/19/2012 07:48 pm Peter A. G. Crosthwaite

xilinx.h: Error check when setting links

Assert that the ethernet and dma controller are sucessfully linked to their
peers.

Signed-off-by: Peter A. G. Crosthwaite <>

c9b6e1f6 09/19/2012 07:48 pm Peter A. G. Crosthwaite

xilinx: fix names of ethernet and dma links.

These names were incorrect. Fixed to match to actual link names

Signed-off-by: Peter A. G. Crosthwaite <>

109820df 09/17/2012 06:23 pm Anthony Liguori

Merge remote-tracking branch 'kwolf/for-anthony' into staging

  • kwolf/for-anthony:
    block: Don't forget to delete temporary file
    Don't require encryption password for 'qemu-img info' command
    qemu-img: Add json output option to the info command.
    qapi: Add SnapshotInfo and ImageInfo....
509e9c46 09/17/2012 06:21 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/trivial-patches' into staging

  • stefanha/trivial-patches:
    configure: fix seccomp check
    arch_init.c: add missing '%' symbols before PRIu64 in debug printfs
    kvm: Fix warning from static code analysis
    qapi: Fix enumeration typo error...
cd6dcc71 09/17/2012 06:21 pm Anthony Liguori

Merge remote-tracking branch 'spice/spice.v60' into staging

  • spice/spice.v60:
    hw/qxl: support client monitor configuration via device
    qxl: add trace-event for QXL_IO_LOG
    hw/qxl: tracing fixes
    qxl: better cleanup for surface destroy
    qxl: Ignore set_client_capabilities pre/post migrate...
de71bd6f 09/17/2012 06:20 pm Anthony Liguori

Merge remote-tracking branch 'stefanha/net' into staging

  • stefanha/net:
    net: EAGAIN handling for net/socket.c TCP
    net: EAGAIN handling for net/socket.c UDP
    net: asynchronous send/receive infrastructure for net/socket.c
    net: broadcast hub packets if at least one port can receive...
31e165f1 09/17/2012 06:20 pm Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/uq/master' into staging

  • qemu-kvm/uq/master:
    kvm: Rename irqchip_inject_ioctl to irq_set_ioctl
    kvm: Stop flushing coalesced MMIO on vmexit
    VGA: Flush coalesced MMIO on related MMIO/PIO accesses
    memory: Flush coalesced MMIO on mapping and state changes...
ed0ec1aa 09/17/2012 06:18 pm Jan Kiszka

pc: Drop practically unused BOCHS BIOS debug ports

We have debugcon these days to listen on those ports that receive debug
messages. Also drop the others that have no effect anymore.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Anthony Liguori <>

89c33337 09/15/2012 08:51 pm Blue Swirl

Remove unused CONFIG_TCG_PASS_AREG0 and dead code

Now that CONFIG_TCG_PASS_AREG0 is enabled for all targets,
remove dead code and support for !CONFIG_TCG_PASS_AREG0 case.

Remove dyngen-exec.h and all references to it. Although included by
hw/spapr_hcall.c, it does not seem to use it....

f237ddbb 09/14/2012 10:40 am Stefan Hajnoczi

net: clean up usbnet_receive()

The USB network interface has two code paths depending on whether or not
RNDIS mode is enabled. Refactor usbnet_receive() so that there is a
common path throughout the function instead of duplicating everything
across if (is_rndis(s)) ... else ... code paths....

190563f9 09/14/2012 10:40 am Stefan Hajnoczi

net: fix usbnet_receive() packet drops

The USB network interface has a single buffer which the guest reads
from. This patch prevents multiple calls to usbnet_receive() from
clobbering the input buffer. Instead we queue packets until buffer
space becomes available again....

987a9b48 09/14/2012 10:40 am Paolo Bonzini

net: notify iothread after flushing queue

virtio-net has code to flush the queue and notify the iothread
whenever new receive buffers are added by the guest. That is
fine, and indeed we need to do the same in all other drivers.
However, notifying the iothread should be work for the network...

e8b4c680 09/14/2012 10:40 am Paolo Bonzini

e1000: flush queue whenever can_receive can go from false to true

When the guests replenish the receive ring buffer, the network device
should flush its queue of pending packets. This is done with
qemu_flush_queued_packets.

e1000's can_receive can go from false to true when RCTL or RDT are...

a98b1402 09/14/2012 10:40 am Paolo Bonzini

xen: flush queue when getting an event

xen does not have a register that, when written, will cause can_receive
to go from false to true. However, flushing the queue can be attempted
whenever the front-end raises its side of the Xen event channel. There...

1069985f 09/14/2012 10:40 am Bo Yang

eepro100: Fix network hang when rx buffers run out

This is reported by QA. When installing os with pxe, after the initial
kernel and initrd are loaded, the procedure tries to copy files from install
server to local harddisk, the network becomes stall because of running out of...

0546b8c2 09/14/2012 10:21 am Stefan Weil

Spelling fixes in comments and documentation

These wrong spellings were detected by codespell:

  • successully -> successfully
  • alot -> a lot
  • wanna -> want to
  • infomation -> information
  • occured -> occurred

["also is" -> "is also" and "ressources" -> "resources" suggested by...

aade7b91 09/14/2012 10:21 am Stefan Weil

Fix spelling (licenced -> licensed) in GPL

The patch also fixes the case of "written".

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

52a8e968 09/14/2012 10:21 am Stefan Weil

Spelling fixes in comments and macro names (ressource -> resource)

Macro XEN_HOST_PCI_RESOURCE_BUFFER_SIZE is only used locally,
so the change should be safe.

Signed-off-by: Stefan Weil <>
Signed-off-by: Stefan Hajnoczi <>

93d3ad2a 09/14/2012 10:21 am Stefan Weil

srp: Don't use QEMU_PACKED for single elements of a structured type

QEMU_PACKED results in a MinGW compiler warning when it is
used for single structure elements:

warning: 'gcc_struct' attribute ignored

Using QEMU_PACKED for the whole structure avoids the compiler warning...

fc3f6e1b 09/13/2012 10:50 am Hans de Goede

usb-redir: Add support for migration

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

09054d19 09/13/2012 10:50 am Hans de Goede

usb-redir: Add chardev open / close debug logging

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

35efba2c 09/13/2012 10:50 am Hans de Goede

usb-redir: Revert usb-redir part of commit 93bfef4c

Commit 93bfef4c6e4b23caea9d51e1099d06433d8835a4 makes qemu-devices
which report the qemu version string to the guest in some way use a
qemu_get_version function which reports a machine-specific version string....

72a04d0c 09/13/2012 10:50 am Hans de Goede

uhci: Don't queue up packets after one with the SPD flag set

Don't queue up packets after a packet with the SPD (short packet detect)
flag set. Since we won't know if the packet will actually be short until it
has completed, and if it is short we should stop the queue....

8f5457eb 09/13/2012 10:50 am Hans de Goede

ehci: Don't set seen to 0 when removing unseen queue-heads

When removing unseen queue-heads from the async queue list, we should not
set the seen flag to 0, as this may cause them to be removed by
ehci_queues_rip_unused() during the next call to ehci_advance_async_state()...

ceab6f96 09/13/2012 10:50 am Hans de Goede

ehci: Walk async schedule before and after migration

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

8e60452a 09/13/2012 10:50 am Hans de Goede

usb-redir: Change cancelled packet code into a generic packet-id queue

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

9a8d4067 09/13/2012 10:50 am Hans de Goede

usb-redir: Add an already_in_flight packet-id queue

After a live migration, the usb-hcd will re-queue all packets by
walking over the schedule in the guest memory again, but requests which
were encountered on the migration source before will already be in flight,...

3f4be328 09/13/2012 10:50 am Hans de Goede

usb-redir: Store max_packet_size in endp_data

So that we've a place to migrate it to / from to allow restoring it after
migration.

Signed-off-by: Hans de Goede <>
Signed-off-by: Gerd Hoffmann <>

a639ab04 09/13/2012 08:31 am Alon Levy

hw/qxl: support client monitor configuration via device

Until now we used only the agent to change the monitor count and each
monitor resolution. This patch introduces the qemu part of using the
device as the mediator instead of the agent via virtio-serial....

917ae08c 09/13/2012 08:31 am Alon Levy

hw/qxl: tracing fixes

Add two new trace events:
qxl_send_events(int qid, uint32_t events) "%d %d"
qxl_set_guest_bug(int qid) "%d"

Change qxl_io_unexpected_vga_mode parameters to be equivalent to those
of qxl_io_write for easier grouping under a single systemtap probe....

1a1bc085 09/13/2012 08:31 am Alon Levy

qxl: add trace-event for QXL_IO_LOG

Signed-off-by: Alon Levy <>
Signed-off-by: Gerd Hoffmann <>

ce560dcf 09/12/2012 04:50 pm Ronnie Sahlberg

ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0

The START STOP UNIT command will only eject/load media if
power condition is zero.

If power condition is !0 then LOEJ and START will be ignored.

From MMC (sbc contains similar wordings too)...

1e53537f 09/12/2012 04:50 pm Stefan Weil

ide: Fix error messages from static code analysis (no real error)

Report from smatch:
hw/ide/core.c:1472 ide_exec_cmd(423) error: buffer overflow 'smart_attributes' 8 <= 29
hw/ide/core.c:1474 ide_exec_cmd(425) error: buffer overflow 'smart_attributes' 8 <= 29...

2a4f4f34 09/12/2012 04:50 pm Jason Baron

ahci: properly reset PxCMD on HBA reset

While testing q35, I found that windows 7 (specifically, windows 7 ultimate
with sp1 x64), wouldn't install because it can't find the cdrom or disk drive.
The failure message is: 'A required cd/dvd device driver is missing. If you...

3e4f910c 09/12/2012 09:09 am Gerd Hoffmann

ehci: switch to new-style memory ops

Also register different memory regions for capabilities,
operational registers and port status registers. Create
separate tracepoints for operational regs and port status
regs. Ditch a bunch of sanity checks because the memory...

ffa1f2e0 09/12/2012 09:09 am Hans de Goede

ehci: Fix interrupts stopping when Interrupt Threshold Control is 8

If Interrupt Threshold Control is 8 or a multiple of 8, then
s->usbsts_frindex can become exactly 0x4000, at which point
(s->usbsts_frindex > s->frindex) will never become true, as
s->usbsts_frindex will not be lowered / reset in this case....

8f74ed1e 09/12/2012 09:09 am Hans de Goede

ehci: Don't process too much frames in 1 timer tick (v2)

The Linux ehci isoc scheduling code fills the entire schedule ahead of
time minus 80 frames. If we make a large jump in where we are in the
schedule, ie 40 frames, then the scheduler all of a sudden will only have...

ccc2960d 09/12/2012 09:09 am Dunrong Huang

qxl: dont update invalid area

This patch fixes the following error:

$ ~/usr/bin/qemu-system-x86_64 enable-kvm -m 1024 -spice port=5900,disable-ticketing -vga qxl -cdrom ~/Images/linuxmint-13-mate-dvd-32bit.iso
(/home/mathslinux/usr/bin/qemu-system-x86_64:10068): SpiceWorker-CRITICAL **: red_worker.c:4599:red_update_area: condition `area
>left >= 0 && area->top >= 0 && area->left < area->right && area->top < area->bottom' failed...

ab902981 09/12/2012 09:09 am Hans de Goede

qxl: Ignore set_client_capabilities pre/post migrate

The recent introduction of set_client_capabilities has broken
(seamless) migration by trying to call qxl_send_events pre (seamless
incoming) and post (*) migration, triggering the following assert:
qxl_send_events: Assertion `qemu_spice_display_is_running(&d->ssd)' failed....

63587e31 09/12/2012 09:09 am Gerd Hoffmann

usb-host: allow emulated (non-async) control requests without USBPacket

xhci needs this for USB_REQ_SET_ADDRESS due to the way
usb addressing is handled by the xhci hardware.

Signed-off-by: Gerd Hoffmann <>

753b8b0d 09/12/2012 09:09 am Uri Lublin

qxl: better cleanup for surface destroy

Add back a call to qxl_spice_destroy_surface_wait_complete() in qxl_spice_destroy_surface_wait(),
that was removed by commit c480bb7da465186b84d8427e068ef7502e47ffbf

It is needed to complete surface-removal cleanup, for non async....

b1af98ba 09/12/2012 09:09 am Gerd Hoffmann

spice: switch to queue for vga mode updates

Signed-off-by: Gerd Hoffmann <>

bd8f2f5d 09/12/2012 12:15 am Jan Kiszka

VGA: Flush coalesced MMIO on related MMIO/PIO accesses

In preparation of stopping to flush coalesced MMIO unconditionally on
vmexits, mark VGA MMIO and PIO regions as synchronous /wrt coalesced
MMIO and flush the buffer explicitly on PIO accesses that do not use...

4c47f800 09/11/2012 08:43 am Gerd Hoffmann

xhci: add msix support

Signed-off-by: Gerd Hoffmann <>

2cae4119 09/11/2012 08:43 am Gerd Hoffmann

xhci: move register update into xhci_intr_raise

Now that we have a separate function to raise an IRQ we can move
some comon code into the function.

Signed-off-by: Gerd Hoffmann <>

962d11e1 09/11/2012 08:43 am Gerd Hoffmann

xhci: add XHCIInterrupter

Move all state belonging to the (single) interrupter into a separate
struct. First step in adding support for multiple interrupters.

Signed-off-by: Gerd Hoffmann <>

43d9d604 09/11/2012 08:43 am Gerd Hoffmann

xhci: prepare xhci_runtime_{read,write} for multiple interrupters

Prepare xhci runtime register access function for multiple interrupters.

Signed-off-by: Gerd Hoffmann <>

2d1de850 09/11/2012 08:43 am Gerd Hoffmann

xhci: pick target interrupter

Pick the correct interrupter when queuing an event.

Signed-off-by: Gerd Hoffmann <>

fa8ee89e 09/11/2012 08:43 am Gerd Hoffmann

xhci: support multiple interrupters

Everything is in place, flip the big switch now
and enable support for multiple interrupters.

Signed-off-by: Gerd Hoffmann <>

1b067564 09/11/2012 08:43 am Gerd Hoffmann

xhci: kill xhci_mem_{read,write} dispatcher functions

... and register subregions instead, so we offload the dispatching
to the the memory subsystem which is designed to handle it.

Signed-off-by: Gerd Hoffmann <>

6ee021d4 09/11/2012 08:43 am Gerd Hoffmann

xhci: allow bytewise capability register reads

Some guests need this according to
Alejandro Martinez Ruiz <>

Signed-off-by: Gerd Hoffmann <>

4c4abe7c 09/11/2012 08:43 am Gerd Hoffmann

xhci: rework interrupt handling

Split xhci_irq_update into a function which handles intx updates
(including lowering the irq line once the guests acks the interrupt)
and one which is used for raising an irq only.

Signed-off-by: Gerd Hoffmann <>