Statistics
| Branch: | Revision:

root / hw / qdev.h @ 9bfa659e

History | View | Annotate | Download (13.5 kB)

# Date Author Comment
dfe1ce5d 07/18/2012 10:44 pm Anthony Liguori

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

  • kwolf/for-anthony: (41 commits)
    fdc-test: Clean up a bit
    fdc-test: introduce test_relative_seek
    fdc: fix relative seek
    qemu-iotests: Valgrind support
    coroutine-ucontext: Help valgrind understand coroutines...
3b25597b 07/17/2012 11:40 pm Christian Borntraeger

constify value pointer for qdev_prop_set_string

qdev_prop_set_string uses object_property_set_str, which takes
a const char * for the value. Lets propagate the constness
into qdev_prop_set_string.

Signed-off-by: Christian Borntraeger <>...

8cd41745 07/17/2012 05:48 pm Markus Armbruster

qdev: New property type chs-translation

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

679042f0 06/21/2012 07:06 pm Anthony PERARD

qdev-properties: Introduce pci-host-devaddr.

This new property will be used to specify a host pci device address.

Signed-off-by: Anthony PERARD <>
Acked-by: Michael S. Tsirkin <>
Acked-by: Stefano Stabellini <>

fdae245f 06/18/2012 04:14 pm Paolo Bonzini

qdev: Remove qdev_prop_set_defaults

Instead, qdev_property_add_static can set the default.

Signed-off-by: Paolo Bonzini <>
Reviewed-by: Anthony Liguori <>
Signed-off-by: Andreas Färber <>

09e5ab63 06/18/2012 04:14 pm Anthony Liguori

qdev: Use wrapper for qdev_get_path

This makes it easier to remove it from BusInfo.

Signed-off-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>
[AF: Drop now unnecessary NULL initialization in scsibus_get_dev_path()]...

0d936928 06/18/2012 04:14 pm Anthony Liguori

qdev: Convert busses to QEMU Object Model

This is far less interesting than it sounds. We simply add an Object to each
BusState and then register the types appropriately. Most of the interesting
refactoring will follow in the next patches.

Since we're changing fundamental type names (BusInfo -> BusClass), it all needs...

0866aca1 06/18/2012 04:14 pm Anthony Liguori

qbus: Make child devices links

Make qbus children show up as link<> properties. There is no stable
addressing for qbus children so we use an unstable naming convention.

This is okay in QOM though because the composition name is expected to
be what's stable....

8cb6789a 06/18/2012 04:14 pm Paolo Bonzini

qdev: Remove qdev_prop_exists()

Can be replaced everywhere with object_property_find().

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

bce54474 06/18/2012 04:14 pm Paolo Bonzini

qdev: Move bus properties to abstract superclasses

In qdev, each bus in practice identified an abstract superclass, but
this was mostly hidden. In QOM, instead, these abstract classes are
explicit so we can move bus properties there.

All bus property walks are removed, and all device property walks...

09f1bbcd 06/08/2012 05:11 pm Michael Roth

qdev: Use int32_t container for devfn property

Valid range for devfn is -1 to 255 (-1 for automatic assignment). We do
not currently validate this due to devfn being stored as a uint32_t.
This can lead to segfaults and other strange behavior.

We could technically just cast it to int32_t to implement the checking,...

27712df9 06/08/2012 05:11 pm Paolo Bonzini

qdev: Remove PropertyInfo range checking

Range checking in PropertyInfo is now used only for pci_devfn
properties and some error reporting. Remove all code that implements
it in the various property types, and the now unused fields.

Signed-off-by: Paolo Bonzini <>...

6da25bd5 04/10/2012 04:17 pm Anthony Liguori

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

  • qmp/queue/qmp:
    qapi: convert device_del
    qdev: qdev_unplug(): use error_set()
56f9107e 04/09/2012 08:35 pm Luiz Capitulino

qdev: qdev_unplug(): use error_set()

It currently uses qerror_report(), but next commit will convert
the drive_del command to the QAPI and this requires using
error_set().

One particularity of qerror_report() is that it knows when it's
running on monitor context or command-line context and prints the...

02fda01c 04/05/2012 03:54 pm Stefan Hajnoczi

qdev: add blocksize property type

Storage interfaces like virtio-blk can be configured with block size
information so that the guest can take advantage of efficient I/O
request sizes.

According to the SCSI Block Commands (SBC) standard a device's block
size is "almost always greater than one byte and may be a multiple of...

f05f6b4a 04/02/2012 11:04 pm Paolo Bonzini

qdev: put all devices under /machine

Avoid cluttering too much the QOM root.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

dd0ba250 02/07/2012 02:52 pm Paolo Bonzini

qdev: let QOM free properties

Drop the special free callback. Instead, register a "regular"
release method in the non-legacy property.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

9b170e60 02/07/2012 02:52 pm Paolo Bonzini

qdev: access properties via QOM

Do not poke anymore in the struct when accessing qdev properties.
Instead, ask the object to set the right value.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

4f2d3d70 02/07/2012 02:52 pm Paolo Bonzini

qdev: initialize properties via QOM

Similarly, use the object properties also to set the default
values of the qdev properties. This requires reordering
registration and initialization.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

a3d4a1b0 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove unused fields from PropertyInfo

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

1ce05125 02/07/2012 02:52 pm Paolo Bonzini

qdev: remove print/parse methods from LostTickPolicy properties

Also generalize the code so that we can have more enum properties
in the future.

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>

9fbe6127 02/03/2012 06:41 pm Anthony Liguori

qdev: refactor away qdev_create_from_info

Note that the FIXME gets fixed in series 4/4. We need to convert BusState to
QOM before we can make parent_bus a link.

Signed-off-by: Anthony Liguori <>

ee46d8a5 02/03/2012 06:41 pm Anthony Liguori

qdev: split out UI portions into a new function

qdev-monitor.c deals with the -device, device_add, and info qdm/qtree
interfaces.

Signed-off-by: Anthony Liguori <>

0beb4942 02/03/2012 06:41 pm Anthony Liguori

qdev: nuke qdev_init_chardev()

I'm sure the intentions were good here, but there's no reason this should be in
qdev. Move it to qemu-char where it belongs.

Signed-off-by: Anthony Liguori <>

57c9fafe 02/03/2012 06:41 pm Anthony Liguori

qom: move properties from qdev to object

This is mostly code movement although not entirely. This makes properties part
of the Object base class which means that we can now start using Object in a
meaningful way outside of qdev.

Signed-off-by: Anthony Liguori <>

6acbe4c6 02/03/2012 06:41 pm Anthony Liguori

qdev: remove baked in notion of aliases (v2)

Limit them to the device_add functionality. Device aliases were a hack based
on the fact that virtio was modeled the wrong way. The mechanism for aliasing
is very limited in that only one alias can exist for any device....

212ad111 02/03/2012 06:41 pm Anthony Liguori

qdev: kill off DeviceInfo list

Teach the various bits of code that need to walk through available devices to
do so via QOM.

Signed-off-by: Anthony Liguori

39bffca2 02/03/2012 06:41 pm Anthony Liguori

qdev: register all types natively through QEMU Object Model

This was done in a mostly automated fashion. I did it in three steps and then
rebased it into a single step which avoids repeatedly touching every file in
the tree.

The first step was a sed-based addition of the parent type to the subclass...

d307af79 02/03/2012 06:41 pm Anthony Liguori

qdev: kill off DeviceInfo

It is no longer used in the tree since everything is done natively through
QEMU Object Model.

Signed-off-by: Anthony Liguori <>

6e008585 02/03/2012 06:41 pm Anthony Liguori

qdev: remove info from class

Now DeviceInfo is no longer used after object construction. All of the
relevant members have been moved to DeviceClass.

Signed-off-by: Anthony Liguori <>

4be9f0d1 02/03/2012 06:41 pm Anthony Liguori

qdev: make DeviceInfo private

Introduce accessors and remove any code that directly accesses DeviceInfo
members.

Signed-off-by: Anthony Liguori <>

4e4fa398 02/01/2012 10:45 pm Jan Kiszka

qdev: Introduce lost tick policy property

Potentially tick-generating timer devices will gain a common property:
lock_tick_policy. It allows to encode 4 different ways how to deal with
tick events the guest did not process in time:

discard - ignore lost ticks (e.g. if the guest compensates for them...

94afdadc 01/27/2012 06:50 pm Anthony Liguori

qdev: use a wrapper to access reset and promote reset to a class method

Signed-off-by: Anthony Liguori <>

3cc90eb2 01/27/2012 06:50 pm Anthony Liguori

qdev: add a interface to register subclasses

In order to introduce inheritance while still using the qdev registration
interfaces, we need to be able to use a parent other than TYPE_DEVICE. Add a
new interface that allows this.

Signed-off-by: Anthony Liguori <>

3dde52d2 01/27/2012 06:50 pm Anthony Liguori

qdev: add class_init to DeviceInfo

Since we are still dynamically creating TypeInfo, we need to chain the
class_init function in order to be able to make use of it within subclasses of
TYPE_DEVICE.

This will disappear once we register TypeInfos directly....

f79f2bfc 01/27/2012 06:50 pm Anthony Liguori

qdev: don't access name through info

We already have a QOM interface for this so let's use it.

Signed-off-by: Anthony Liguori <>

30fbb9fc 01/27/2012 06:50 pm Anthony Liguori

qdev: move qdev->info to class

Right now, DeviceInfo acts as the class for qdev. In order to switch to a
proper ObjectClass derivative, we need to ween all of the callers off of
interacting directly with the info pointer.

Signed-off-by: Anthony Liguori <>

32fea402 01/27/2012 06:28 pm Anthony Liguori

qdev: integrate with QEMU Object Model (v2)

This is a very shallow integration. We register a TYPE_DEVICE but only use
QOM as basically a memory allocator. This will make all devices show up as
QOM objects but they will all carry the TYPE_DEVICE.

Signed-off-by: Anthony Liguori <>...

a369da5f 01/22/2012 09:27 am Blue Swirl

vga: improve VGA logic

Improve VGA selection logic, push check for device availabilty to vl.c.
Create the devices at board level unconditionally.

Remove now unused pci_try_create*() functions.

Make PCI VGA devices optional.

Reviewed-by: Jan Kiszka <>...

1de81d28 12/20/2011 12:39 am Anthony Liguori

qdev: fix hotplug when no -device is specified

The peripheral[-anon] containers are initialized lazily but since they sit on
sysbus, they can not be created after realize. This was causing an abort() to
occur during hotplug if no -device option was used....

80e555c2 12/19/2011 06:27 pm Paolo Bonzini

qom: introduce get/set methods for Property

This patch adds a visitor interface to Property. This way, QOM will be
able to expose Properties that access a fixed field in a struct without
exposing also the everything-is-a-string "feature" of qdev properties....

cafe5bdb 12/19/2011 06:27 pm Paolo Bonzini

qom: distinguish "legacy" property type name from QOM type name

Reviewed-by: Anthony Liguori <>
Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

ca2cc788 12/19/2011 06:27 pm Paolo Bonzini

qom: register qdev properties also as non-legacy properties

Push legacy properties into a "legacy-..." namespace, and make them
available with correct types too.

For now, all properties come in both variants. This need not be the
case for string properties. We will revisit this after -device is...

7db4c4e8 12/19/2011 06:27 pm Paolo Bonzini

qom: interpret the return value when setting legacy properties

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

b2b6c39a 12/15/2011 05:20 pm Anthony Liguori

qom: optimize qdev_get_canonical_path using a parent link

The full tree search was a bit unreasonable.

Signed-off-by: Anthony Liguori <>

6a146eba 12/15/2011 05:20 pm Anthony Liguori

qom: add string property type

Signed-off-by: Anthony Liguori <>

cd34d667 12/15/2011 05:20 pm Anthony Liguori

qdev: add a qdev_get_type() function and expose as a 'type' property

Signed-off-by: Anthony Liguori <>

dc45c21f 12/15/2011 05:20 pm Anthony Liguori

qdev: provide a path resolution (v2)

There are two types of supported paths--absolute paths and partial paths.

Absolute paths are derived from the root device and can follow child<> or
link<> properties. Since they can follow link<> properties, they can be...

3de1c3e8 12/15/2011 05:20 pm Anthony Liguori

qom: add child properties (composition) (v3)

Child properties express a relationship of composition.

Signed-off-by: Anthony Liguori <>

83e94fb8 12/15/2011 05:20 pm Anthony Liguori

qom: add link properties (v2)

Links represent an ephemeral relationship between devices. They are meant to
replace the qdev concept of busses by allowing more informal relationships
between devices.

Links are fairly limited in their usefulness without implementing QOM-style...

85ed303b 12/15/2011 05:20 pm Anthony Liguori

qom: add a reference count to qdev objects

To ensure that a device isn't removed from the graph until all of its links are
broken.

Signed-off-by: Anthony Liguori <>

44677ded 12/15/2011 05:20 pm Anthony Liguori

qom: add new dynamic property infrastructure based on Visitors (v2)

qdev properties are settable only during construction and static to classes.
This isn't flexible enough for QOM.

This patch introduces a property interface for qdev that provides dynamic...

a5296ca9 12/15/2011 05:20 pm Anthony Liguori

qom: register legacy properties as new style properties (v2)

Expose all legacy properties through the new QOM property mechanism. The qdev
property types are exposed through the 'legacy<>' namespace. They are always
visited as strings since they do their own string parsing....

a10f07a7 12/15/2011 05:20 pm Anthony Liguori

qom: introduce root device

This is based on Jan's suggestion for how to do unique naming. The root device
is the root of composition. All devices are reachable via child<> links from
this device.

Signed-off-by: Anthony Liguori <>

f9fbd2fd 12/15/2011 05:20 pm Anthony Liguori

qdev: provide an interface to return canonical path from root (v2)

The canonical path is the path in the composition tree from the root to the
device. This is effectively the name of the device.

This is an incredibly unefficient implementation that will be optimized in...

d8bb00d6 10/28/2011 08:25 pm Paolo Bonzini

qdev: switch children device list to QTAILQ

SCSI buses will need to read the children list first-to-last. This
requires using a QTAILQ, because hell breaks loose if you just try
inserting at the tail (thus reversing the order of all existing
visits from last-to-first to first-to-tail)....

f48a7a6e 10/28/2011 08:25 pm Paolo Bonzini

scsi: remove devs array from SCSIBus

Change the devs array into a linked list, and add a scsi_device_find
function to navigate the children list instead. This lets the SCSI
bus use more complex addressing, and HBAs can talk to the correct device
when there are multiple LUNs per target....

6835678c 10/16/2011 02:11 pm Jan Kiszka

qdev: Add HEX8 property

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

0bcdeda7 02/12/2011 10:27 am Blue Swirl

qdev: add creation function that may fail

Signed-off-by: Blue Swirl <>

13839974 01/31/2011 11:24 am Markus Armbruster

blockdev: New drive_get_next(), replacing qdev_init_bdrv()

qdev_init_bdrv() doesn't belong into qdev.c; it's about drives, not
qdevs. Rename to drive_get_next, move to blockdev.c, drop the bogus
DeviceState argument, and return DriveInfo instead of
BlockDriverState....

0ac8ef71 01/05/2011 12:14 pm Alex Williamson

qdev: Track runtime machine modifications

Create a trivial interface to track whether the machine has been
modified since boot. Adding or removing devices will trigger this
to return true. An example usage scenario for such an interface is
the rtl8139 driver which includes a cpu_register_io_memory() value...

a2ee6b4f 12/24/2010 10:35 am Isaku Yamahata

qdev: export qdev_find_recursive() for later use

This patch exports qdev_find_recursive() for later use.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Michael S. Tsirkin <>

f530cce3 12/21/2010 02:06 pm Michael S. Tsirkin

qdev: remove an unused function

qbus_reset_all is unused, remove it

Signed-off-by: Michael S. Tsirkin <>

80376c3f 12/20/2010 03:16 pm Isaku Yamahata

qbus: register reset handler for qbus whose parent is NULL

Stefan Weil reported the regression caused by
ec990eb622ad46df5ddcb1e94c418c271894d416 as follows

The second regression also occurs with MIPS malta.
Networking no longer works with the default pcnet nic....

1ca4d09a 12/11/2010 11:32 pm Gleb Natapov

Add bootindex parameter to net/block/fd device

If bootindex is specified on command line a string that describes device
in firmware readable way is added into sorted list. Later this list will
be passed into firmware to control boot order.

Signed-off-by: Gleb Natapov <>...

21150814 12/11/2010 11:27 pm Gleb Natapov

Introduce new BusInfo callback get_fw_dev_path.

New get_fw_dev_path callback will be used for build device path usable
by firmware in contrast to qdev qemu internal device path.

Signed-off-by: Gleb Natapov <>
Signed-off-by: Blue Swirl <>

779206de 12/11/2010 11:27 pm Gleb Natapov

Introduce fw_name field to DeviceInfo structure.

Add "fw_name" to DeviceInfo to use in device path building. In
contrast to "name" "fw_name" should refer to functionality device
provides instead of particular device model like "name" does.

Signed-off-by: Gleb Natapov <>...

81699d8a 11/22/2010 10:00 am Anthony Liguori

qbus: add functions to walk both devices and busses

There are some cases where you want to walk the busses, in particular, when
searching for a bus either by name or DeviceInfo.
Paolo suggested that we model the return values on how GCC's walkers work which...

ec990eb6 11/22/2010 10:00 am Anthony Liguori

qdev: reset qdev along with qdev tree

This patch changes the reset handling so that qdev has no knowledge of the
global system reset. Instead, a new bus/device level function is introduced
that allows all devices/buses on the bus/device to be reset using a depth...

b4694b7c 11/22/2010 10:00 am Isaku Yamahata

qdev: introduce reset call back for qbus level

and make it called via qbus_reset_all().
The qbus reset callback will be used by pci bus reset.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>
Signed-off-by: Michael S. Tsirkin <>

5af0a04b 11/22/2010 10:00 am Isaku Yamahata

qdev: trigger reset from a given device

Introduce a helper function which triggers reset from a given device.
Will be used by pci bus emulation.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>
Signed-off-by: Michael S. Tsirkin <>

2446333c 08/24/2010 06:22 pm Blue Swirl

Rearrange block headers

Changing block.h or blockdev.h resulted in recompiling most objects.

Move DriveInfo typedef and BlockInterfaceType enum definitions
to qemu-common.h and rearrange blockdev.h use to decrease churn.

Signed-off-by: Blue Swirl <>

f4594a3b 07/11/2010 08:00 pm Isaku Yamahata

qdev: implement qdev_prop_set_bit().

implement qdev_prop_set_bit().

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Blue Swirl <>

6772b936 07/06/2010 06:36 pm Alex Williamson

qdev: Add a get_dev_path() function to BusInfo

This function is meant to provide a stable device path for buses
which are able to implement it. If a bus has a globally unique
addresses scheme, one address level may be sufficient to provide
a path. Other buses may need to recursively traverse up the...

f8b6cc00 07/02/2010 02:18 pm Markus Armbruster

qdev: Decouple qdev_prop_drive from DriveInfo

Make the property point to BlockDriverState, cutting out the DriveInfo
middleman. This prepares the ground for block devices that don't have
a DriveInfo.

Currently all user-defined ones have a DriveInfo, because the only way...

18846dee 07/02/2010 02:18 pm Markus Armbruster

block: Catch attempt to attach multiple devices to a blockdev

For instance, -device scsi-disk,drive=foo -device scsi-disk,drive=foo
happily creates two SCSI disks connected to the same block device.
It's all downhill from there.

Device usb-storage deliberately attaches twice to the same blockdev,...

666daa68 06/04/2010 04:20 pm Markus Armbruster

blockdev: Collect block device code in new blockdev.c

Anything that moves hundreds of lines out of vl.c can't be all bad.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

7b370f51 06/04/2010 12:43 pm Markus Armbruster

qdev: Move declaration of qdev_init_bdrv() into qdev.h

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

cc984673 06/04/2010 12:43 pm Markus Armbruster

qdev: New qdev_prop_set_string()

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

d21357df 06/04/2010 12:43 pm Markus Armbruster

qdev: Don't leak string property value on hot unplug

parse_string() qemu_strdup()s the property value. It is never freed.
It needs to be freed along with the device. Otherwise, the value of
scsi-disk property "ver" gets leaked when hot-unplugging the disk, for...

4d2ffa08 05/15/2010 05:23 pm Jan Kiszka

vmstate: Add support for alias ID

Some legacy users (mostly PC devices) of vmstate_register manage
instance IDs on their own, and that unfortunately in a way that is
incompatible with automatically generated ones. This so far prevents
switching those users to vmstates that are registered by qdev....

25920d6a 04/23/2010 05:08 pm Kevin Wolf

Make qemu-config available for tools

To be able to use config files for blkdebug, we need to make these functions
available in the tools. This involves moving two functions that can only be
built in the context of the emulator.

Signed-off-by: Kevin Wolf <>

17a38eaa 04/19/2010 12:46 am Markus Armbruster

monitor: convert do_device_del() to QObject, QError

Signed-off-by: Markus Armbruster <>
Signed-off-by: Luiz Capitulino <>

8bc27249 03/16/2010 06:45 pm Markus Armbruster

monitor: convert do_device_add() to QObject

75422b0d 03/08/2010 07:30 pm Amit Shah

qdev: Add a DEV_NVECTORS_UNSPECIFIED enum for unspecified nr of MSI vectors

net.c used a constant to signify no MSI vectors were specified. Extend
that to all qdev devices.

Signed-off-by: Amit Shah <>
Reported-by: "Michael S. Tsirkin" <>...

ff952ba2 02/03/2010 08:39 pm Markus Armbruster

qdev: Fix exit code for -device ?

Help was shoehorned into device creation, qdev_device_add(). Since
help doesn't create a device, it returns NULL, which looks to callers
just like failed device creation. Monitor handler do_device_add()
doesn't care, but main() exits unsuccessfully....

d2364ee4 01/11/2010 09:40 pm Michael S. Tsirkin

qdev: add bit property type

This adds "bit" property type, which is a boolean stored in a 32 bit
integer field, with legal values on and off. Will be used by virtio for
feature bits.

Signed-off-by: Michael S. Tsirkin <>
Acked-by: Gerd Hoffmann <>...

458fb679 12/12/2009 03:59 pm Gerd Hoffmann

qdev: make compat stuff more generic

This patch renames the compat properties into global properties and
makes them more generic. The compatibility stuff is only one of
multiple possible users now.

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

5096fae3 12/03/2009 05:41 pm Mark McLoughlin

qdev: move DO_UPCAST() into osdep.h

Nothing qdev specific about this, make it available throughtout.

Signed-off-by: Mark McLoughlin <>
Signed-off-by: Anthony Liguori <>

0958b4cc 10/30/2009 03:39 pm Gerd Hoffmann

usb core: use qdev for -usbdevice

This patchs adds infrastructure to handle -usbdevice via qdev callbacks.
USBDeviceInfo gets a name field (for the -usbdevice driver name) and a
callback for -usbdevice parameter parsing.

The new usbdevice_create() function walks the qdev driver list and looks...

1cc33683 10/27/2009 07:28 pm Gerd Hoffmann

zap DeviceState->nd

No users left.
Also cleanup obsolete helper functions.

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

d8ed79ae 10/27/2009 07:28 pm Gerd Hoffmann

qdev: add qdev_prop_exists()

Function test whenever a driver has a specific property.

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

1503fff3 10/27/2009 07:28 pm Gerd Hoffmann

qdev: mac addr property fixups

Make the mac property use the newly added type for the mac address.

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

2ef924b4 10/27/2009 07:28 pm Gerd Hoffmann

qdev: add netdev property

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

851bec09 10/27/2009 07:28 pm Gerd Hoffmann

qdev: add vlan property

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

59419663 10/21/2009 09:35 pm Gerd Hoffmann

qdev: add string property.

Patchworks-ID: 35755
Signed-off-by: Gerd Hoffmann <>
Signed-off-by: Amit Shah <>
Signed-off-by: Anthony Liguori <>

747bbdf7 10/18/2009 07:26 pm Blue Swirl

Suppress warnings about 'warn_unused_result' attribute directive

Signed-off-by: Blue Swirl <>

dde8bbb4 10/07/2009 04:54 pm Markus Armbruster

Warn if value of qdev_init() isn't checked

After qdev_init() fails, the device is gone. Failure to check runs a
high risk of use-after-free.

Patchworks-ID: 35166
Signed-off-by: Markus Armbruster <>
Signed-off-by: Anthony Liguori <>

e23a1b33 10/07/2009 04:54 pm Markus Armbruster

New qdev_init_nofail()

Like qdev_init(), but terminate program via hw_error() instead of
returning an error value.

Use it instead of qdev_init() where terminating the program on failure
is okay, either because it's during machine construction, or because...

7f23f812 10/05/2009 05:32 pm Michael S. Tsirkin

qemu/qdev: type safety in reset handler

Add type safety to qdev reset handlers, by declaring them as
DeviceState * rather than void *.

Signed-off-by: Michael S. Tsirkin <>
Signed-off-by: Anthony Liguori <>