Statistics
| Branch: | Revision:

root / hw @ feature-archipelago

# Date Author Comment
c2cb92f9 03/04/2014 04:50 pm Peter Maydell

Merge remote-tracking branch 'remotes/borntraeger/tags/kvm-s390-20140227' into staging

Several features, fixes and cleanups for kvm/s390:

- sclp event facility: cleanup structure. This allows to use
realize/unrealize as well as migration support via vmsd...

739aa555 03/04/2014 04:25 pm Peter Maydell

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

  • remotes/bonzini/scsi-next:
    block/iscsi: fix segfault if writesame fails
    scsi-disk: Add support for port WWN and index descriptors in VPD page 83h
    block/iscsi: query for supported VPD pages...
d47e95c0 03/04/2014 03:09 pm Peter Maydell

Merge remote-tracking branch 'remotes/mcayland/qemu-sparc' into staging

  • remotes/mcayland/qemu-sparc:
    sun4m: Add Sun CG3 framebuffer initialisation function
    sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM
    sun4m: fix slavio timer RUN/STOP bit...
73795cea 02/27/2014 01:31 pm Peter Maydell

Merge remote-tracking branch 'remotes/awilliam/tags/vfio-pci-for-qemu-20140226.0' into staging

Updates include:
- Coverify fixes for vfio & pci-assign (Markus)
- VFIO blacklisting support for known brokwn PCI option ROMs (Bandan)

  1. gpg: Signature made Wed 26 Feb 2014 18:15:28 GMT using RSA key ID 3BB08B22...
ead4cf04 02/27/2014 12:01 pm Mark Cave-Ayland

sun4m: fix slavio timer RUN/STOP bit

The sun4m architecture has one 'system' timer and one timer per CPU.
The CPU timers can be configured in two modes:

  • 22 bits Counter/Timer. Periodic interrupts.
  • 54 bits User timer. For profiling. In this mode, the Run/Stop bit...
9eb08a43 02/27/2014 12:01 pm Mark Cave-Ayland

sun4m: Add Sun CG3 framebuffer and corresponding OpenBIOS FCode ROM

The CG3 framebuffer is a simple 8-bit framebuffer for use with operating
systems such as early Solaris that do not have drivers for TCX.

Signed-off-by: Mark Cave-Ayland <>...

af87bf29 02/27/2014 12:01 pm Mark Cave-Ayland

sun4m: Add Sun CG3 framebuffer initialisation function

In order to allow the user to choose the framebuffer for sparc-softmmu, add
-vga tcx and -vga cg3 options to the QEMU command line. If no option is
specified, the default TCX framebuffer is used.

Since proprietary FCode ROMs use a resolution of 1152x900, slightly relax the...

7f00eb30 02/27/2014 10:51 am Thomas Huth

s390x/ipl: Fix crash of ELF images with arbitrary entry points

When loading S390 kernels, the current code expects an ELF file with the
start address 0x10000. Other ELF files cause a segmentation fault. To avoid
these crashes, we should get the start address from the ELF file instead...

3a553fc6 02/27/2014 10:51 am Jens Freimann

s390x/kvm: implement floating-interrupt controller device

This patch implements a floating-interrupt controller device (flic)
which interacts with the s390 flic kvm_device.

Signed-off-by: Jens Freimann <>
Reviewed-by: Cornelia Huck <>...

819bd309 02/27/2014 10:51 am Dominik Dingel

s390x/async_pf: Check for apf extension and enable pfault

S390 can also use async page faults, to enhance guest scheduling.
In case of live migration we want to disable the feature and let
all pending request finish.

Signed-off-by: Dominik Dingel <>...

f2c55d17 02/27/2014 10:51 am Thomas Huth

s390x/virtio-hcall: Add range check for hypervisor call

The handler for diag 500 did not check whether the requested function
was in the supported range, so illegal values could crash QEMU in the
worst case.

Signed-off-by: Thomas Huth <>...

77319f22 02/27/2014 10:51 am Thomas Huth

s390x/virtio-hcall: Specification exception for illegal subcodes

So far, the DIAG 500 hypervisor call was only setting -EINVAL in
R2 when a guest tried to call this function with an illegal subcode.
This patch now changes the behavior so that a specification exception...

9da45bb2 02/27/2014 10:51 am Christian Borntraeger

s390x/eventfacility: mask out commands

As a followup to commit 5f04c14a10fa7f259bc0808f35a0beda49f7821e
(s390-sclp: Define New SCLP Codes) we should mask the sclp command
not only in base sclp, but also in the event facility.

Based on an initial patch from Ralf Hoppe....

a0fa2cb8 02/27/2014 10:51 am Thomas Huth

s390x/sclp: Fixed the size of sccb and code parameter

The pointer to the SCCB should not be limited to 32 bits only.
In contrast to this, the command word parameter is only 32 bits
(the upper 32 bits should be ignored).

Signed-off-by: Thomas Huth <>...

6e252802 02/27/2014 10:51 am Thomas Huth

s390x/sclp: Add missing checks to SCLP handler

If the 51 most significant bits of the SCCB address are zero or equal to
the prefix, we should throw an specification exception, too.
Also moved the check for privileged mode to sclp_service_call() to have
all program checks in one place now....

65e526c2 02/27/2014 10:51 am Heinz Graalfs

s390x/event-facility: some renaming

Do some renaming to shorten some identifiers and to emphasize sclp.

Signed-off-by: Heinz Graalfs <>
Acked-by: Cornelia Huck <>
Signed-off-by: Christian Borntraeger <>

477a72a1 02/27/2014 10:51 am Heinz Graalfs

s390x/event-facility: code restructure

Code restructure in order to simplify class hierarchy
- remove S390SCLPDevice abstract base class
and move function pointers into new SCLPEventFacilityClass
- implement SCLPEventFacility as SysBusDevice
- use define constants for instance creation strings...

6fbef18a 02/27/2014 10:51 am Heinz Graalfs

s390x/event-facility: add support for live migration

Add support for live migration using VMStateDescription.

Signed-off-by: Heinz Graalfs <>
Reviewed-by: Cornelia Huck <>
Signed-off-by: Christian Borntraeger <>

c804c2a7 02/27/2014 10:51 am Heinz Graalfs

s390x/event-facility: exploit realize/unrealize

init/exit functionality of abstract SCLPEvent class is now exploiting
realize/unrealize.

Signed-off-by: Heinz Graalfs <>
Reviewed-by: Cornelia Huck <>
Signed-off-by: Christian Borntraeger <>

2ce5868c 02/27/2014 12:53 am Peter Maydell

Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140226' into staging

target-arm queue: * fixes for various Coverity-spotted bugs * support new KVM device control API for VGIC * support KVM VGIC save/restore/migration * more AArch64 system mode foundations...

bc3fbad8 02/26/2014 10:04 pm Peter Maydell

Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging

Net patches

  1. gpg: Signature made Tue 25 Feb 2014 13:32:33 GMT using RSA key ID 81AB73C8
  2. gpg: Good signature from "Stefan Hajnoczi <>"
  3. gpg: aka "Stefan Hajnoczi <>"...
28c05edf 02/26/2014 08:22 pm Peter Maydell

Merge remote-tracking branch 'remotes/kraxel/tags/pull-audio-3' into staging

hda-audio: qom cleanups

  1. gpg: Signature made Mon 24 Feb 2014 12:19:48 GMT using RSA key ID D3E87138
  2. gpg: Good signature from "Gerd Hoffmann (work) <>"
  3. gpg: aka "Gerd Hoffmann <>"...
4b943029 02/26/2014 07:33 pm Bandan Das

vfio: blacklist loading of unstable roms

Certain cards such as the Broadcom BCM57810 have rom quirks
that exhibit unstable system behavior duing device assignment. In
the particular case of 57810, rom execution hangs and if a FLR
follows, the device becomes inoperable until a power cycle. This...

82d07945 02/26/2014 07:30 pm Markus Armbruster

pci-assign: Fix potential read beyond buffer on -EBUSY

readlink() doesn't write a terminating null byte.
assign_failed_examine() passes the unterminated string to strrchr().
Oops. Terminate it.

Spotted by Coverity.

Signed-off-by: Markus Armbruster <>...

13665a2d 02/26/2014 07:28 pm Markus Armbruster

vfio: Fix overrun after readlink() fills buffer completely

readlink() returns the number of bytes written to the buffer, and it
doesn't write a terminating null byte. vfio_init() writes it itself.
Overruns the buffer when readlink() filled it completely....

c04018e9 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: implement dmaadnh instruction

Implement the missing DMAADNH instruction. This is a minor variant
of the DMAADDH instruction, so factor out to a common implementation
for both (dmaadxh).

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

024c6e2e 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: Fix misleading type

This type really should just be a regular int as no usages rely on it's
32 bitness (it's only meaningful as a bit position and not a bit mask).
This also fixes a printf which uses the variable with a regular %d.

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

c3143ba8 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: printf format type sweep.

Use PRI formats as appropriate rather than raw %x and %d. This fixes
debug printfery on some host platforms. Fix types of debug only
variables as appropriate.

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

1c8be73d 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: Rename parent_obj

As per current QOM conventions.

Signed-off-by: Peter Crosthwaite <>
Reviewed-by: Peter Maydell <>
Message-id: ...

432a0a13 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: Add event debugging printfs

These are helpful to anyone trying to debug event sequencing.

Signed-off-by: Peter Crosthwaite <>
Reviewed-by: Peter Maydell <>
Message-id: ...

a5ae7e39 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: Fix buffer depth

This is the product of the data-width and the depth arguments, I.e the
depth of the FIFO is in terms of data entries and not bytes (which is
what the original implementation was suggesting). Fix.

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

63a31905 02/26/2014 07:20 pm Peter Crosthwaite

dma/pl330: Delete overly verbose debug printf

When using event synchronisation, this particular debug printf floods.
Just delete it.

Signed-off-by: Peter Crosthwaite <>
Reviewed-by: Peter Maydell <>
Message-id: ...

4cc35614 02/26/2014 07:20 pm Peter Maydell

target-arm: Store AIF bits in env->pstate for AArch32

To avoid complication in code that otherwise would not need to
care about whether EL1 is AArch32 or AArch64, we should store
the interrupt mask bits (CPSR.AIF in AArch32 and PSTATE.DAIF
in AArch64) in one place consistently regardless of EL1's mode....

327ed10f 02/26/2014 07:20 pm Peter Maydell

target-arm: Implement AArch64 TTBR*

Implement the AArch64 TTBR* registers. For v7 these were already 64 bits
to handle LPAE, but implemented as two separate uint32_t fields.
Combine them into a single uint64_t which can be used for all purposes.
Since this requires touching every use, take the opportunity to rename...

855011be 02/26/2014 07:20 pm Christoffer Dall

hw: arm_gic_kvm: Add KVM VGIC save/restore logic

Save and restore the ARM KVM VGIC state from the kernel. We rely on
QEMU to marshal the GICState data structure and therefore simply
synchronize the kernel state with the QEMU emulated state in both
directions....

1da41cc1 02/26/2014 07:20 pm Christoffer Dall

arm: vgic device control api support

Support creating the ARM vgic device through the device control API and
setting the base address for the distributor and cpu interfaces in KVM
VMs using this API.

Because the older KVM_CREATE_IRQCHIP interface needs the irq chip to be...

cf143ad3 02/26/2014 07:19 pm Peter Maydell

hw/arm/musicpal: Remove nonexistent CDTP2, CDTP3 registers

The ethernet device in the musicpal only has two tx queues,
but we modelled it with four CTDP registers, presumably a
cut and paste from the rx queue registers. Since the tx_queue[]
array is only 2 entries long this allowed a guest to overrun...

6453fa99 02/26/2014 07:19 pm Christoffer Dall

hw/intc/arm_gic: Fix GIC_SET_LEVEL

The GIC_SET_LEVEL macro unfortunately overwrote the entire level
bitmask instead of just or'ing on the necessary bits, causing active
level PPIs on a core to clear PPIs on other cores.

Cc:
Reported-by: Rob Herring <>...

106a73b6 02/26/2014 07:19 pm Peter Maydell

hw/net/stellaris_enet: Avoid unintended sign extension

Add a cast to avoid an unintended sign extension that
would mean we returned 0xffffffff in the high 32 bits
for an IA0 read if bit 31 in the MAC address was 1.
(This is harmless since we'll only be doing 4 byte...

cba933b2 02/26/2014 07:19 pm Peter Maydell

hw/timer/arm_timer: Avoid array overrun for bad addresses

The integrator's timer read/write functions log an error for
bad addresses in guest accesses, but were falling through and
using an out of bounds array index rather than returning early.
Fix this....

fce0a826 02/26/2014 07:19 pm Peter Maydell

hw/intc/exynos4210_combiner: Don't overrun output_irq array in init

The Exynos4210 combiner has IIC_NIRQ inputs and IIC_NGRP outputs;
use the correct constant in the loop initializing our output
sysbus IRQs so that we don't overrun the output_irq[] array....

ec1efab9 02/26/2014 07:19 pm Peter Maydell

hw/misc/arm_sysctl: Fix bad boundary check on mb clock accesses

Fix incorrect use of sizeof() rather than ARRAY_SIZE() to guard
accesses into the mb_clock[] array, which was allowing a malicious
guest to overwrite the end of the array.

Signed-off-by: Peter Maydell <>...

05a738c4 02/26/2014 06:54 am Peter Crosthwaite

microblaze/s3adsp_1800: Define macros for irq map

Define macros for the interrupt map for the sake of self documentation.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

81cce07e 02/26/2014 06:54 am Peter Crosthwaite

ppc/virtex_ml507: Define macros for irq/memory maps

Define macros for the interrupt and memory maps for the sake of self
documentation.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

8174196b 02/26/2014 06:54 am Peter Crosthwaite

microblaze/ml605: Define macros for irq/memory maps

Define (missing) macros for the interrupt and memory maps for the sake
of self documentation.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

13c9bfbf 02/26/2014 06:54 am Peter Crosthwaite

xilinx: Inline usages of xilinx_intc_create()

Inline these usages. Converts these init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

29873712 02/26/2014 06:54 am Peter Crosthwaite

xilinx: Inline usages of xilinx_timer_create()

Inline these usages. Converts these init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

b8d4e1c4 02/26/2014 06:54 am Peter Crosthwaite

xilinx: Inline usage of xilinx_ethlite_create()

Inline the only usage. Converts this init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

d91a68a7 02/26/2014 06:54 am Peter Crosthwaite

xilinx: Inline usages of xilinx_axi*_init()

Inline the only usage of each of xilinx_axiethernet_init and
xilinx_axidma_init. Converts this init to at least a semi-recent QOM
styling.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

d5001cf7 02/26/2014 06:54 am Peter Crosthwaite

xilinx: Delete hw/include/xilinx.h

This is now obsolete - remove the header and all its inclusions.

Signed-off-by: Peter Crosthwaite <>
Signed-off-by: Edgar E. Iglesias <>

a89d97df 02/25/2014 05:17 pm Peter Maydell

Merge remote-tracking branch 'remotes/spice/tags/pull-spice-3' into staging

qxl: add sanity check

  1. gpg: Signature made Mon 24 Feb 2014 12:01:27 GMT using RSA key ID D3E87138
  2. gpg: Good signature from "Gerd Hoffmann (work) <>"
  3. gpg: aka "Gerd Hoffmann <>"...
d6085e3a 02/25/2014 03:31 pm Stefan Hajnoczi

net: remove implicit peer from offload API

The virtio_net offload APIs are used on the NIC's peer (i.e. the tap
device). The API was defined to implicitly use nc->peer, saving the
caller the trouble.

This wasn't ideal because:
1. There are callers who have the peer but not the NIC. Currently they...

e3e48565 02/25/2014 03:31 pm Stefan Hajnoczi

vhost_net: use offload API instead of bypassing it

There is no need to access backend->info->has_vnet_hdr() and friends
anymore. Use the qemu_has_vnet_hdr() API instead.

Signed-off-by: Stefan Hajnoczi <>

ad37bb3b 02/25/2014 03:31 pm Stefan Hajnoczi

virtio-net: use qemu_get_queue() where possible

qemu_get_queue() is a shorthand for qemu_get_subqueue(n->nic, 0). Use
the shorthand where possible.

Signed-off-by: Stefan Hajnoczi <>

05fd3bf2 02/25/2014 01:54 pm Peter Maydell

Merge remote-tracking branch 'remotes/xtensa/tags/20140224-xtensa' into staging

Xtensa fixes and improvements queue 2014-02-24:
- add support for ML605 and KC705 FPGA boards;
- flush opencores_eth queue when new RX descriptor is available;
- add basic checks to cache opcodes;...

cf528b89 02/25/2014 12:50 pm Vincenzo Maffione

net: virtio-net and vmxnet3 use offloading API

With this patch, virtio-net and vmxnet3 frontends make
use of the qemu_peer_* API for backend offloadings manipulations,
instead of calling TAP-specific functions directly.
We also remove the existing checks which prevent those frontends...

6e50d188 02/25/2014 12:50 pm Max Filippov

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

The following registers control whether MAC can receive frames:
- MODER.RXEN bit that enables/disables receiver;
- TX_BD_NUM register that specifies number of RX descriptors.
Notify QEMU networking core when the MAC is ready to receive frames....

e7a1d6c5 02/25/2014 12:50 pm Peter Maydell

Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging

Block patches

  1. gpg: Signature made Fri 21 Feb 2014 21:42:24 GMT using RSA key ID C88F2FD6
  2. gpg: Good signature from "Kevin Wolf <>"
  • remotes/kevin/tags/for-upstream: (54 commits)...
c58e2915 02/24/2014 06:12 pm Peter Maydell

Merge remote-tracking branch 'remotes/sstabellini/xen-140220' into staging

  • remotes/sstabellini/xen-140220:
    xen_disk: fix io accounting
    Call pci_piix3_xen_ide_unplug from unplug_disks

Signed-off-by: Peter Maydell <>

9c70434f 02/24/2014 02:00 pm Gerd Hoffmann

qxl: add sanity check

Signed-off-by: Gerd Hoffmann <>
Reviewed-by: Laszlo Ersek <>

cd6c8830 02/24/2014 11:42 am Gerd Hoffmann

hda-audio: qom cleanups

Add HDA_AUDIO type and macro, drop DO_UPCAST().

Had to add a abstract hda audio class as parent
for all hda-* variants to make that fly. Killed
some init code duplication while being at it.

Cc: Andreas Färber <>...

e0db904d 02/24/2014 02:47 am Max Filippov

hw/xtensa: add support for ML605 and KC705 FPGA board

Signed-off-by: Max Filippov <>
Reviewed-by: Andreas Färber <>

b807b5ff 02/24/2014 02:47 am Max Filippov

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

The following registers control whether MAC can receive frames:
- MODER.RXEN bit that enables/disables receiver;
- TX_BD_NUM register that specifies number of RX descriptors.
Notify QEMU networking core when the MAC is ready to receive frames....

64cc2284 02/22/2014 11:02 am Roland Dreier

scsi-disk: Add support for port WWN and index descriptors in VPD page 83h

To make a VM more convincing to my application, it's useful to be able
to add a port WWN and relative target port index to the descriptors
returned for VPD page 83h. Add device properties to allow setting...

c5f52875 02/22/2014 11:02 am Fam Zheng

scsi: Change scsi sense buf size to 252

Current buffer size fails the assersion check in like

hw/scsi/scsi-bus.c:1655:    assert(req->sense_len <= sizeof(req->sense));

when backend (block/iscsi.c) returns more data then 96.

Exercise the core dump path by booting an Gentoo ISO with scsi-generic...

703dd81a 02/22/2014 11:02 am Paolo Bonzini

scsi: report thin provisioning errors with werror=report

SCSI defines a status code for when a thin-provisioned LUNs would
exceed the allocated space, map ENOSPC to it.

Reviewed-by: Stefan Hajnoczi <>
Signed-off-by: Paolo Bonzini <>

7ef8cf9a 02/22/2014 11:02 am Markus Armbruster

scsi-bus: Fix transfer length for VERIFY with BYTCHK=11b

The transfer length depends on field BYTCHK, which is encoded in byte
1, bits 1..2. However, the guard for for case BYTCHK=11b doesn't
work, and we get case 01b instead. Fix it.

Note that since emulated scsi-hd fails the command outright, it takes...

ddf5636d 02/21/2014 10:02 pm Max Reitz

block: Add reference parameter to bdrv_open()

Allow bdrv_open() to handle references to existing block devices just as
bdrv_file_open() is already capable of.

Signed-off-by: Max Reitz <>
Signed-off-by: Kevin Wolf <>

f67503e5 02/21/2014 10:02 pm Max Reitz

block: Change BDS parameter of bdrv_open() to **

Make bdrv_open() take a pointer to a BDS pointer, similarly to
bdrv_file_open(). If a pointer to a NULL pointer is given, bdrv_open()
will create a new BDS with an empty name; if the BDS pointer is not
NULL, that existing BDS will be reused (in the same way as bdrv_open()...

105a0601 02/21/2014 05:04 pm Peter Maydell

Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20140220' into staging

target-arm queue: * Fix a bug causing an assertion in the NVIC on ARMv7M models * More A64 Neon instructions * Refactor cpreg API to separate out access check functions, as...

58da5b1e 02/20/2014 07:57 pm Olaf Hering

xen_disk: fix io accounting

bdrv_acct_done was called unconditional. But in case the ioreq has no
segments there is no matching bdrv_acct_start call. This could lead to
bogus accounting values.

Found by code inspection.

Signed-off-by: Olaf Hering <>...

15e8159e 02/20/2014 07:28 pm Stefano Stabellini

Call pci_piix3_xen_ide_unplug from unplug_disks

Signed-off-by: Stefano Stabellini <>
Acked-by: Paolo Bonzini <>

2ca92bb9 02/20/2014 05:25 pm Peter Maydell

Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-3' into staging

- xhci improvements and fixes.
- uhci bugfix.
- cleanups.

  1. gpg: Signature made Tue 18 Feb 2014 15:48:10 GMT using RSA key ID D3E87138
  2. gpg: Good signature from "Gerd Hoffmann (work) <>"...
61e8a923 02/20/2014 03:05 pm Peter Maydell

Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-peter' into staging

QOM infrastructure fixes and device conversions

  • QTest cleanups and test cases for PCI NICs
  • NAND fix for "info qtree"
  • Cleanup and extension of QOM machine tests...
4c0c9bbe 02/20/2014 02:10 pm Peter Maydell

Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging

  • remotes/qmp-unstable/queue/qmp:
    monitor: Add object_add class argument completion.
    monitor: Add object_del id argument completion.
    monitor: Add device_add device argument completion....
c4241c7d 02/20/2014 12:35 pm Peter Maydell

target-arm: Drop success/fail return from cpreg read and write functions

All cpreg read and write functions now return 0, so we can clean up
their prototypes: * write functions return void * read functions return the value rather than taking a pointer
to write the value to...

87316902 02/20/2014 12:35 pm Peter Maydell

hw/intc/arm_gic: Fix NVIC assertion failure

Commit 40d225009ef accidentally changed the behaviour of
gic_acknowledge_irq() for the NVIC. The NVIC doesn't have SGIs,
so this meant we hit an assertion:
gic_acknowledge_irq: Assertion `s->sgi_pending[irq][cpu] != 0' failed....

c348e481 02/18/2014 04:39 pm Gerd Hoffmann

uhci: invalidate queue on device address changes

Signed-off-by: Gerd Hoffmann <>

786ad214 02/18/2014 04:39 pm Gerd Hoffmann

xhci iso: fix time calculation

Frameid specifies frames not microframes, so we
need to shift it to get the microframe index.

Signed-off-by: Gerd Hoffmann <>

cc03ff9d 02/18/2014 04:39 pm Gerd Hoffmann

xhci iso: allow for some latency

Allow the scheduled transfer time be a bit behind, to
compensate for latencies. Without this xhci will wait
way to often for the mfindex wraparound, assuming the
scheduled time is in the future just because qemu is
a bit behind in processing the iso transfer requests....

4f9cc734 02/18/2014 04:39 pm Gerd Hoffmann

xhci: switch debug printf to tracepoint

Signed-off-by: Gerd Hoffmann <>

d6bb65fc 02/18/2014 04:39 pm Gerd Hoffmann

xhci: use DPRINTF instead of fprintf(stderr, ...)

So we don't spam stderr with (guest-triggerable) messages by default.

Signed-off-by: Gerd Hoffmann <>

bd93976a 02/18/2014 04:39 pm Pantelis Koukousoulas

usb: Remove magic constants from device bmAttributes

Replace magic constants in device bmAttributes with symbolic ones
from Linux kernel ch9.h

Signed-off-by: Pantelis Koukousoulas <>
Signed-off-by: Gerd Hoffmann <>

f6969b9f 02/18/2014 04:39 pm Gerd Hoffmann

xhci: fix overflow in usb_xhci_post_load

Found by Coverity.

Reported-by: Markus Armbruster <>
Signed-off-by: Gerd Hoffmann <>

84d18f06 02/17/2014 06:57 pm Markus Armbruster

Use error_is_set() only when necessary

error_is_set(&var) is the same as var != NULL, but it takes
whole-program analysis to figure that out. Unnecessarily hard for
optimizers, static checkers, and human readers. Dumb it down to
obvious.

Gets rid of several dozen Coverity false positives....

078a1c37 02/15/2014 06:36 pm Peter Maydell

Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-2014-02-15' into staging

trivial patches for 2014-02-15

  1. gpg: Signature made Sat 15 Feb 2014 12:10:46 GMT using RSA key ID 74F0C838
  2. gpg: Good signature from "Michael Tokarev <>"...
c1570e2a 02/15/2014 02:10 pm Sebastian Huber

sparc/leon3: Initialize stack pointer

A lot of real world LEON3 systems are shipped with the GRMON boot
loader. This boot loader initializes the stack pointer with the end of
RAM address. The application can use this to detect the RAM size of a
particular board variant....

88c1ee73 02/15/2014 02:10 pm Peter Crosthwaite

char/serial: Fix emptyness check

This was guarding against a full fifo rather than an empty fifo when
popping. Fix.

Signed-off-by: Peter Crosthwaite <>
Reviewed-by: Martin Kletzander <>
Reviewed-by: Dr. David Alan Gilbert <>...

104059da 02/14/2014 10:12 pm Paolo Bonzini

qdev: Add enum property types to QAPI schema

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

85ca1202 02/14/2014 10:12 pm Paolo Bonzini

qdev: Use QAPI type names for properties

Use "drive", "chr", etc. only for legacy_name (which shows up
in -device foo,? output).

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>...

c7bcc85d 02/14/2014 10:12 pm Paolo Bonzini

qdev: Remove hex8/32/64 property types

Replace them with uint8/32/64.

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

f31c41ff 02/14/2014 10:12 pm Paolo Bonzini

block: Handle "rechs" and "large" translation options

Sure, CHS translation is an obscure topic, and legacy options for
hard-disk geometries are obscure as well. But since QEMU does nothing
with it except telling the BIOS, and since there "large" and "rechs"...

515f2346 02/14/2014 10:12 pm Paolo Bonzini

qdev: Remove most legacy printers

Their functionality is either aesthetic only (e.g. on/off vs. true/false)
or obtained by the "human mode" of StringOutputVisitor.

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>...

7d926864 02/14/2014 10:12 pm Paolo Bonzini

qdev: Sizes are now parsed by StringInputVisitor

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

9e4d9620 02/14/2014 10:12 pm Paolo Bonzini

qdev: Remove legacy parsers for hex8/32/64

The hexNN property types have not been accepting values not prefixed
by "0x" since QEMU 1.2. Parse those values as decimals now.

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>...

03ff7770 02/14/2014 10:12 pm Paolo Bonzini

qdev: Legacy properties are now read-only

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

7ce7ffe0 02/14/2014 10:12 pm Paolo Bonzini

qdev: Legacy properties are just strings

prop->info->legacy_name is still used by "-device foo,?".

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

98a65284 02/14/2014 10:12 pm Paolo Bonzini

qdev: Inline qdev_prop_parse()

Reviewed-by: Igor Mammedov <>
Reviewed-by: Eric Blake <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

1f9c4cfd 02/14/2014 10:11 pm Andreas Färber

ipack: Move IndustryPack out of hw/char/

Move the header defining an IPackBus and IPackDevice base class into
a new include/ directory and move their implementation and a
PCI-IndustryPack bridge out of hw/char/ directory into a new hw/ipack/.

Acked-by: Alberto Garcia <>...

08c9cacf 02/14/2014 10:07 pm Andreas Färber

ipoctal232: QOM parent field cleanup

Clean up accesses to IPOctalState::dev field and rename it.

Acked-by: Alberto Garcia <>
Signed-off-by: Andreas Färber <>