Statistics
| Branch: | Revision:

root / hw @ a1bc20df

# Date Author Comment
626c7a17 10/29/2012 12:45 pm Alexander Graf

xen_platform: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

a1bc20df 10/29/2012 12:45 pm Alexander Graf

PPC: e500: Map PIO space into core memory region

On PPC, we don't have PIO. So usually PIO space behind a PCI bridge is
accessible via MMIO. Do this mapping explicitly by mapping the PIO space
of our PCI bus into a memory region that lives in memory space....

f3726fd7 10/29/2012 12:45 pm Alexander Graf

es1370: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

0505bcde 10/29/2012 12:45 pm Alexander Graf

i8254: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

087bd055 10/29/2012 12:45 pm Alexander Graf

m48t59: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

0da8c842 10/29/2012 12:45 pm Alexander Graf

mc146818rtc: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

93ef4192 10/29/2012 12:45 pm Alexander Graf

pc port92: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

d540bfe0 10/29/2012 12:45 pm Alexander Graf

pckbd: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

1bebb0ad 10/29/2012 12:45 pm Alexander Graf

rtl8139: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

5ec3a23e 10/29/2012 12:45 pm Alexander Graf

serial: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

360d613e 10/29/2012 12:45 pm Alexander Graf

vmport: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

5232fa59 10/29/2012 12:45 pm Alexander Graf

PPC: Bamboo: Fix memory size DT property

Device tree properties need to be specified in big endian. Fix the
bamboo memory size property accordingly.

Signed-off-by: Alexander Graf <>
CC:

59de4f98 10/29/2012 12:45 pm Bharat Bhushan

e500: Fix serial initialization

it was wrongly using serial_hds0 instead of serial_hds1

Signed-off-by: Bharat Bhushan <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

094b287f 10/29/2012 12:45 pm zhlcindy@gmail.com

Add USB option in machine options

When -usb option is used, global varible usb_enabled is set.
And all the plaform will create one USB controller according
to this variable. In fact, global varibles make code hard
to read.

So this patch is to remove global variable usb_enabled and...

c89d5299 10/29/2012 12:45 pm David Gibson

pseries: Don't allow duplicate registration of hcalls or RTAS calls

Currently the pseries machine code allows a callback to be registered
for a hypercall number twice, as long as it's the same callback the second
time. We don't test for duplicate registrations of RTAS callbacks at all...

1bfb37d1 10/29/2012 12:45 pm David Gibson

target-ppc: Rework storage of VPA registration state

With PAPR guests, hypercalls allow registration of the Virtual Processor
Area (VPA), SLB shadow and dispatch trace log (DTL), each of which allow
for certain communication between the guest and hypervisor. Currently, we...

74d042e5 10/29/2012 12:45 pm David Gibson

pseries: Implement qemu initiated shutdowns using EPOW events

At present, using 'system_powerdown' from the monitor or otherwise
instructing qemu to (cleanly) shut down a pseries guest will not work,
because we did not have a method of signalling the shutdown request to the...

d6a6d362 10/29/2012 12:45 pm Alexander Graf

ac97: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

df6db5b3 10/29/2012 12:45 pm Alexander Graf

virtio-pci: convert PIO to new memory api read/write

Signed-off-by: Alexander Graf <>

50cd7214 10/27/2012 06:04 pm Max Filippov

hw/xtensa_sim: get rid of intermediate xtensa_sim_init

Remove xtensa_sim_init that only explodes machine init args, rename
sim_init to xtensa_sim_init.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

d64ed08e 10/27/2012 06:03 pm Max Filippov

hw/xtensa_lx60: don't prematurely explode QEMUMachineInitArgs

Don't explode QEMUMachineInitArgs before passing it to lx_init.

Signed-off-by: Max Filippov <>
Signed-off-by: Blue Swirl <>

a8170e5e 10/23/2012 04:58 pm Avi Kivity

Rename target_phys_addr_t to hwaddr

target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
reserved) and its purpose doesn't match the name (most target_phys_addr_t
addresses are not target specific). Replace it with a finger-friendly,...

50d2b4d9 10/22/2012 10:49 pm Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/memory/urgent' into staging

  • qemu-kvm/memory/urgent:
    memory: abort if a memory region is destroyed during a transaction
    i440fx: avoid destroying memory regions within a transaction
    memory: Make eventfd adhere to device endianness
248bbe74 10/22/2012 10:48 pm Anthony Liguori

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

  • awilliam/tags/vfio-pci-for-qemu-20121017.0:
    vfio-pci: Mark non-migratable
    vfio-pci: Fix debug build
488cb996 10/22/2012 09:26 pm Gerd Hoffmann

serial: split serial.c

Split serial.c into serial.c, serial.h and serial-isa.c. While being at
creating a serial.h header file move the serial prototypes from pc.h to
the new serial.h. The latter leads to s/pc.h/serial.h/ in tons of
boards which just want the serial bits from pc.h...

419ad672 10/22/2012 09:26 pm Gerd Hoffmann

serial: add pci variant

So we get a hot-pluggable 16550 uart.

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

d66bbea4 10/22/2012 09:26 pm Gerd Hoffmann

serial: add 2x + 4x pci variant

Add multiport serial card implementation, with two variants, one
featuring two and one featuring four ports.

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

90734e02 10/22/2012 09:26 pm Gerd Hoffmann

serial: add pci-serial documentation

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

70330fb3 10/22/2012 09:26 pm Gerd Hoffmann

usb-serial: don't magically zap chardev on umplug

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

da124e62 10/22/2012 09:26 pm Gerd Hoffmann

usb-serial: only expose device in guest when the chardev is open

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

f526f3c3 10/22/2012 09:26 pm Anthony Liguori

Merge remote-tracking branch 'quintela/migration-next-20121017' into staging

  • quintela/migration-next-20121017: (41 commits)
    cpus: create qemu_in_vcpu_thread()
    savevm: make qemu_file_put_notify() return errors
    savevm: un-export qemu_file_set_error()...
d3e2efc5 10/22/2012 09:26 pm Anthony Liguori

Merge remote-tracking branch 'qemu-kvm/memory/dma' into staging

  • qemu-kvm/memory/dma: (23 commits)
    pci: honor PCI_COMMAND_MASTER
    pci: give each device its own address space
    memory: add address_space_destroy()
    dma: make dma access its own address space...
b90600ee 10/22/2012 03:50 pm Avi Kivity

dma: make dma access its own address space

Instead of accessing the cpu address space, use an address space
configured by the caller.

Eventually all dma functionality will be folded into AddressSpace,
but we have to start from something.

Reviewed-by: Anthony Liguori <>...

817dcc53 10/22/2012 03:50 pm Avi Kivity

pci: give each device its own address space

Accesses from different devices can resolve differently
(depending on bridge settings, iommus, and PCI_COMMAND_MASTER), so
set up an address space for each device.

Currently iommus are expressed outside the memory API, so this doesn't...

1c380f94 10/22/2012 03:50 pm Avi Kivity

pci: honor PCI_COMMAND_MASTER

Currently we ignore PCI_COMMAND_MASTER completely: DMA succeeds even when
the bit is clear.

Honor PCI_COMMAND_MASTER by inserting a memory region into the device's
bus master address space, and tying its enable status to PCI_COMMAND_MASTER....

f6790af6 10/22/2012 03:50 pm Avi Kivity

memory: use AddressSpace for MemoryListener filtering

Using the AddressSpace type reduces confusion, as you can't accidentally
supply the MemoryRegion you're interested in.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Avi Kivity <>

051c02b6 10/20/2012 10:56 am Peter Maydell

hw/hw.h: Add include of qemu-log.h

Add an include of qemu-log.h to hw.h, so that device model
code has access to these logging functions without the need
to directly include qemu-log.h.

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

9351d708 10/20/2012 10:56 am Peter Maydell

hw/pl181: Use LOG_UNIMP and LOG_GUEST_ERROR

Rather than a mix of direct printing to stderr and aborting
via hw_error(), use LOG_UNIMP and LOG_GUEST_ERROR.

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

b1d9df90 10/20/2012 10:56 am Peter Maydell

hw/pl041: Use LOG_UNIMP

Use the new LOG_UNIMP tracing to report unimplemented
features.

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

fd271e81 10/20/2012 10:56 am Peter Maydell

hw/pl190: Use LOG_GUEST_ERROR

If the guest attempts an offset to a nonexistent register, just
log this via LOG_GUEST_ERROR rather than killing QEMU with a hw_error.

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

6d5433e0 10/20/2012 10:56 am Peter Maydell

hw/pl011: Use LOG_UNIMP and LOG_GUEST_ERROR

Use the new LOG_UNIMP and LOG_GUEST_ERROR logging types rather
than hw_error().

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

af83c32b 10/20/2012 10:56 am Peter Maydell

hw/pl022: Use LOG_UNIMP and LOG_GUEST_ERROR

Use LOG_UNIMP and LOG_GUEST_ERROR where appropriate rather
than hw_error().

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

a5089c05 10/20/2012 10:56 am Peter Maydell

hw/pl031: Use LOG_GUEST_ERROR

Use LOG_GUEST_ERROR rather than hw_error or direct fprintf.

Signed-off-by: Peter Maydell <>
Signed-off-by: Blue Swirl <>

5f072e1f 10/20/2012 10:53 am Eduardo Habkost

create struct for machine initialization arguments

This should help us to:
- More easily add or remove machine initialization arguments without
having to change every single machine init function;
- More easily make mechanical changes involving the machine init...

0d0302e2 10/20/2012 10:52 am Gerd Hoffmann

vga: fix indention

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

803ff052 10/20/2012 10:52 am Gerd Hoffmann

vga: add mmio bar to standard vga

This patch adds a mmio bar to the qemu standard vga which allows to
access the standard vga registers and bochs dispi interface registers
via mmio.

Cc: Benjamin Herrenschmidt <>
Signed-off-by: Gerd Hoffmann <>...

cc228248 10/20/2012 10:52 am Gerd Hoffmann

vga: add specs for standard vga

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

a96d8bea 10/20/2012 10:52 am Gerd Hoffmann

vga: remove CONFIG_BOCHS_VBE

Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Blue Swirl <>

d9f0e638 10/17/2012 08:20 pm Alex Williamson

vfio-pci: Mark non-migratable

We haven't magically fixed this yet. Toss in a description too.

Signed-off-by: Alex Williamson <>

a011b10e 10/17/2012 08:20 pm Alex Williamson

vfio-pci: Fix debug build

Stray variable from before MSI-X rework

Signed-off-by: Alex Williamson <>

e398d61b 10/17/2012 07:34 pm Juan Quintela

virtio-net: use qemu_get_buffer() in a temp buffer

qemu_fseek() is known to be wrong. Would be removed on the next
commit. This code should never been used (value has been
MAC_TABLE_ENTRIES since 2009).

Signed-off-by: Juan Quintela <>...

2725aec7 10/17/2012 06:10 pm Avi Kivity

i440fx: avoid destroying memory regions within a transaction

Calling memory_region_destroy() within a transaction is illegal, since
the memory API is allowed to continue to dispatch to a region until the
transaction commits. 440fx does that however when managing PAM registers....

e71e602c 10/15/2012 12:43 pm Avi Kivity

vfio: drop no-op MemoryListener callbacks

Removes quite a bit of useless code.

Signed-off-by: Avi Kivity <>

6381fc18 10/15/2012 12:43 pm Avi Kivity

xen_pt: drop no-op MemoryListener callbacks

Removes quite a bit of useless code.

Signed-off-by: Avi Kivity <>

0fada674 10/15/2012 12:43 pm Avi Kivity

vhost: use MemoryListener filtering to only monitor RAM address space

Instead of checking manually, let the listener filter for us. This prepares
us for DMA address spaces.

Signed-off-by: Avi Kivity <>

12b40e47 10/15/2012 12:43 pm Avi Kivity

xen_pt: use separate MemoryListeners for memory and I/O

Using an unfiltered memory listener will cause regions to be reported
fails multiple times if we have more than two address spaces. Use a separate
listener for memory and I/O, and utilize MemoryListener's address space...

e0bbf9b5 10/13/2012 01:44 pm Andreas Färber

sun4m: Pass SPARCCPU to cpu_set_irq()

Needed for changing cpu_kick_irq() argument type to SPARCCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

38c66cf2 10/13/2012 01:44 pm Andreas Färber

sun4m: Pass SPARCCPU to cpu_kick_irq()

Needed for changing qemu_cpu_kick() argument type to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

6b678e1f 10/13/2012 01:44 pm Andreas Färber

sun4u: Pass SPARCCPU to {,s,hs}tick_irq() and cpu_timer_create()

Needed for changing cpu_kick_irq() argument type to SPARCCPU.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

ce18c558 10/13/2012 01:44 pm Andreas Färber

sun4u: Pass SPARCCPU to cpu_kick_irq()

Needed for changing qemu_cpu_kick() argument type to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

b64ba4b2 10/13/2012 01:44 pm Andreas Färber

sun4u: Pass SPARCCPU to cpu_set_ivec_irq()

Needed for moving halted field to CPUState.

Signed-off-by: Andreas Färber <>
Signed-off-by: Blue Swirl <>

ae72f3f5 10/12/2012 07:20 pm Anthony Liguori

Merge remote-tracking branch 'pmaydell/arm-devs.for-upstream' into staging

  • pmaydell/arm-devs.for-upstream:
    arm_gic: Rename gic_state to GICState
    zynq_slcr: Fixed ResetValues enum
    versatilepb: add gpio pl061 support
    hw/ds1338: Implement state save/restore...
628cc97d 10/12/2012 05:14 pm Anthony Liguori

Merge remote-tracking branch 'kraxel/usb.67' into staging

  • kraxel/usb.67:
    uhci: Raise interrupt when requested even for non active tds
    usb-redir: Don't make migration fail in none seamless case
    usb-redir: Change usbredir_open_chardev into usbredir_create_parser
557e01a3 10/12/2012 05:14 pm Anthony Liguori

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

  • awilliam/tags/vfio-pci-for-qemu-20121008.0:
    vfio-pci: Fix BAR->VFIODevice translation in
    vfio-pci: Clang cleanup
    vfio-pci: Cleanup on INTx setup failure
    vfio-pci: Extend reset...
4336ef7a 10/12/2012 05:14 pm Anthony Liguori

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

  • stefanha/net:
    net: consolidate NetClientState header files into one
    virtio-net: update nc.link_down in virtio_net_load()
    e1000: update nc.link_down in e1000_post_load()
    rtl8139: implement 8139cp link status
3f42ac89 10/12/2012 05:13 pm Anthony Liguori

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

  • spice/spice.v61:
    qxl: set default revision to 4
    spice: raise requirement to 0.12
    hw/qxl: qxl_dirty_surfaces: use uintptr_t
    hw/qxl: fix condition for exiting guest_bug
    hw/qxl: exit on failure to register qxl interface...
853e65e0 10/12/2012 01:54 pm Jean-Christophe PLAGNIOL-VI...

versatilepb: add gpio pl061 support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <>
Signed-off-by: Peter Maydell <>

fa2ddcb4 10/12/2012 01:54 pm Peter A. G. Crosthwaite

zynq_slcr: Fixed ResetValues enum

There is a gap in the reset region of the address space at offset 0x208. This
throws out all these enum values by one when translating them to address offsets.
Fixed by putting the corresponding gap in the enum as well.
...

fae15286 10/12/2012 01:54 pm Peter Maydell

arm_gic: Rename gic_state to GICState

Rename the gic_state struct to match QEMU's coding style conventions
for structure names, since the impending KVM-for-ARM patches will
create another subclass of it. This patch was created using:
sed -i 's/gic_state/GICState/g' hw/arm_gic.c hw/arm_gic_common.c \...

ba4906a9 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Fix mishandling of register pointer

Correct several deficiencies in the handling of the register pointer: * it should wrap around after 0x3f, not 0xff * guard against the caller handing us an out of range pointer
(on h/w this can never happen, because only a 7 bit value is...

35b87a86 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Recapture current time when register pointer wraps around

The DS1338 datasheet documents that the current time is captured into
the secondary registers when the register pointer wraps round to zero
as well as at a START condition. Implement this....

7f7fd0f2 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Remove 'now' field from state struct

The 'struct tm now' field in the state structure is in fact only
ever used as a temporary (the actual RTC state is held in 'offset').
Remove it from the state structure in favour of using local variables
to avoid confusion about whether it needs to be saved on migration....

f4741402 10/12/2012 01:54 pm Peter Maydell

hw/ds1338: Implement state save/restore

Implement state save/restore for the DS1338. This requires
the usual minor adjustment of types in the state struct to
get fixed-width ones with vmstate macros.

Signed-off-by: Peter Maydell <>

884285bf 10/12/2012 01:54 pm Soren Brinkmann

cadence_ttc: Fix 'clear on read' behavior

A missing call to qemu_set_irq() when reading the IRQ register
required SW to write to the IRQ register to acknowledge an
interrupt. With this patch the behavior is fixed:
- Reading the interrupt register clears it and updates the timers...

9ab1b605 10/12/2012 01:54 pm Evgeny Voevodin

hw/arm_gic.c: Fix improper DPRINTF output.

s->cpu_enabled is an array, so s->cpu_enabled ? "En" : "Dis" returns
"En" always. We should use s->cpu_enabled[cpu] here.

Signed-off-by: Evgeny Voevodin <>
Signed-off-by: Peter Maydell <>

883bca77 10/11/2012 10:33 am Hans de Goede

uhci: Raise interrupt when requested even for non active tds

According to the spec we must raise an interrupt when one is requested
even for non active tds.

Linux depends on this, for bulk transfers it runs an inactivity timer
to work around a bug in early uhci revisions, when we take longer then...

dbbf0195 10/11/2012 10:32 am Hans de Goede

usb-redir: Change usbredir_open_chardev into usbredir_create_parser

As we need to create the parser at more places.

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

5c16f767 10/11/2012 10:32 am Hans de Goede

usb-redir: Don't make migration fail in none seamless case

Instead simple disconnect the device like host redirection does on
migration.

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

1e5b31e6 10/10/2012 04:13 am Peter A. G. Crosthwaite

qdev: allow multiple qdev_init_gpio_in() calls

Allow multiple qdev_init_gpio_in() calls for the one device. The first call will
define GPIOs 0-N-1, the next GPIOs N- ... . Allows different GPIOs to be handled
with different handlers. Needed when two levels of the QOM class heirachy both...

8120e714 10/10/2012 04:13 am Peter A. G. Crosthwaite

stellaris: Removed SSI mux

Removed the explicit SSI mux and wired the CS line directly up to the SSI
devices.

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

a3578d4a 10/10/2012 04:13 am Peter A. G. Crosthwaite

hw: Added generic FIFO API.

Added a FIFO API that can be used to create and operate byte FIFOs.

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

82a24990 10/10/2012 04:13 am Peter A. G. Crosthwaite

m25p80: Initial implementation of SPI flash device

Added device model for m25p80 style SPI flash family.

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

929d1b52 10/10/2012 04:13 am Peter A. G. Crosthwaite

xilinx_spi: Initial impl. of Xilinx SPI controller

Device model for xilinx XPS SPI controller (v2.0)

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

acd3b6be 10/10/2012 04:13 am Peter A. G. Crosthwaite

petalogix-ml605: added SPI controller with n25q128

Added SPI controller to the reference design, with two n25q128 spi-flashes
connected.

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

94befa45 10/10/2012 04:13 am Peter A. G. Crosthwaite

xilinx_spips: Xilinx Zynq SPI cntrlr device model

Added device model for the Xilinx Zynq SPI controller (SPIPS).

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

559d489f 10/10/2012 04:13 am Peter A. G. Crosthwaite

xilinx_zynq: Added SPI controllers + flashes

Added the two SPI controllers to the zynq machine model. Attached two SPI flash
devices to each controller.

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

b4ae3cfa 10/10/2012 04:13 am Peter Crosthwaite

ssi: Add slave autoconnect helper

Added helper function to automatically connect SPI slaves based on the QOM child
nodes of a device. A SSI master device can call this routine to automatically
hook-up all child nodes to its SPI bus.

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

b4a76e84 10/10/2012 04:13 am Peter A. G. Crosthwaite

ssi: Support for multiple attached devices

Removed assertion that only one device is attached to the SSI bus.

When multiple devices are attached, all slaves have their transfer function
called for transfers. Each device is responsible for knowing whether or not its...

66530953 10/10/2012 04:13 am Peter A. G. Crosthwaite

ssi: Implemented CS behaviour

Added default CS behaviour for SSI slaves. SSI devices can set a property
to enable CS behaviour which will create a GPIO on the device which is the
CS. Tristating of the bus on SSI transfers is implemented.

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

74687e40 10/10/2012 04:13 am Peter A. G. Crosthwaite

ssi: Added create_slave_no_init()

Slave creation function that can be used to create an SSI slave without
qdev_init() being called. This give machine models a chance to set properties.

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

1a403133 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Clang cleanup

Blue Swirl reports that Clang doesn't like the structure we define to
avoid dynamic allocation for a number of calls to VFIO_DEVICE_SET_IRQS.
Adding an element after a variable sized type is a GNU extension.
Switch back to dynamic allocation, which really isn't a problem since...

3a4f2816 10/08/2012 05:45 pm Jan Kiszka

vfio-pci: Fix BAR->VFIODevice translation in

DO_UPCAST is supposed to translate from the first member of a struct to
that struct, not from arbitrary ones. And it (usually) breaks the build
when neglecting this rule. Use container_of to fix the build breakage...

5c97e5eb 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Roll the header into the .c file

It's only ~100 lines and nobody else should be using this.
Suggested by Michael Tsirkin.

Signed-off-by: Alex Williamson <>

e43b9a5a 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Don't peak at msi_supported

Let the init function fail, just don't warn for -ENOTSUP.

Signed-off-by: Alex Williamson <>

5976cdd5 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Use uintptr_t for void* cast

We don't seem to run into any sign extension problems, but
unsigned looks more correct.

Signed-off-by: Alex williamson <>

9b1e45c8 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Remove setting of MSI qsize

This was a misinterpretation of the spec, hardware doesn't get to
specify how many were actually enabled through this field.

Signed-off-by: Alex Williamson <>

5834a83f 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Extend reset

Take what we've learned from pci-assign and apply it to vfio-pci.
On reset, disable previous interrupt config, perform a device
reset if available, re-enable INTx, and disable memory regions on
the device to prevent continuing DMA....

ce59af2d 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Cleanup on INTx setup failure

Missing some unwind code.

Signed-off-by: Alex Williamson <>

fd704adc 10/08/2012 05:45 pm Alex Williamson

vfio-pci: Rework MSIX setup/teardown

We try to do lazy initialization of MSIX since we don't actually need
to setup anything until MSIX vectors start getting used. This leads
to problems if MSIX is enabled, but never used (we can end up trying
to re-enable INTx while it's still enabled). We also run into...

98cd5a5e 10/08/2012 05:45 pm Alex Williamson

vfio-pci: No spurious MSIs

FreeBSD doesn't like these spurious MSIs, remove them as they're
mostly paranoia anyway.

Signed-off-by: Alex Williamson <>