aboutsummaryrefslogtreecommitdiff
path: root/hw
AgeCommit message (Collapse)Author
2009-07-27Refactor code to remove one #ifdef CONFIG_FDTJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27Rename HAVE_FDT to CONFIG_FDT and define it also in MakefileJuan Quintela
Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27qemu: msix nit: clear msix_entries_nr on errorMichael S. Tsirkin
I don't think it's critical to do this, but it's best to keep uninit and error recovery consistent. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27Introduce -smp , maxcpus= flag to specify maximum number of CPUS.Jes Sorensen
Follow on patch will use it to determine the size of the MADT and other BIOS tables. Signed-off-by: Jes Sorensen <jes@sgi.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27HPET fixes for reg writesBeth Kon
This patch addresses the problems found by Andriy Gapon: - The code was incorrectly overwriting the high order 32 bits of the timer and hpet config registers. This didn't show up in testing because linux and windows use hpet in legacy mode, where the high order 32 bits (advertising available interrupts) of the timer config register are ignored, and the high order 32 bits of the hpet config register are reserved and unused. - The mask for level-triggered interrupts was off by a bit. (hpet doesn't currently support level-triggered interrupts). In addition, I removed some unused #defines, and corrected the ioapic interrupt values advertised. I'd set this up early in hpet development and never went back to correct it, and no bugs resulted since linux and windows use hpet in legacy mode where available interrupts are ignored. Signed-off-by: Beth Kon <eak@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27switch -drive to QemuOpts.Gerd Hoffmann
Demo QemuOpts in action ;) Implementing a alternative way to specify the filename should be just a few lines of code now once we decided how the cmd line syntax should look like. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27kill drives_optGerd Hoffmann
cleanup pretty simliar to the drives_table removal patch: - drop the table and make a linked list out of it. - pass around struct pointers instead of table indices. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27kill drives_tableGerd Hoffmann
First step cleaning up the drives handling. This one does nothing but removing drives_table[], still it became seriously big. drive_get_index() is gone and is replaced by drives_get() which hands out DriveInfo pointers instead of a table index. This needs adaption in *tons* of places all over. The drives are now maintained as linked list. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27qdev/pci: hook up i440fx.Gerd Hoffmann
Hook i44fx pcihost into sysbus. Convert Host bridge and ISA bridge pci devices to qdev. Tag as no-user. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27qdev: bus walker + qdev_device_add()Gerd Hoffmann
This patch implements a parser and qdev tree walker for bus paths and adds qdev_device_add on top of this. A bus path can be: (1) full path, i.e. /i440FX-pcihost/pci.0/lsi/scsi.0 (2) bus name, i.e. "scsi.0". Best used together with id= to make sure this is unique. (3) relative path starting with a bus name, i.e. "pci.0/lsi/scsi.0" For the (common) case of a single child bus being attached to a device it is enougth to specify the device only, i.e. "pci.0/lsi" will be accepted too. qdev_device_add() adds devices and accepts bus= parameters to find the bus the device should be attached to. Without bus= being specified it takes the first bus it finds where the device can be attached to (i.e. first pci bus for pci devices, ...). Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27qdev: create default bus names.Gerd Hoffmann
Create a default bus name if none is passed to qbus_create(). If the parent device has DeviceState->id set it will be used to create the bus name,. i.e. -device lsi,id=foo will give you a scsi bus named "foo.0". If there is no id BusInfo->name (lowercased) will be used instead, i.e. -device lsi will give you a scsi bus named "scsi.0". A scsi adapter with two scsi busses would have "scsi.0" and "scsi.1" or "$id.0" and "$id.1" busses. The numbers of the child busses are per device, i.e. when adding two lsi adapters both will have a "*.0" child bus. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27qdev/pci: use qdev_prop_pci_devfnGerd Hoffmann
Put the new property into use. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27qdev/prop: add pci devfn propertyGerd Hoffmann
So we can parse "$slot.$fn" strings into devfn numbers. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27Add a pc-0.11 machine type and make the pc type an aliasMark McLoughlin
The pc-0.11 type allows users of qemu-0.11 to use a machine type which they know will remain compatible when the upgrade to qemu-0.12. Management tools may choose to canonicalize the 'pc' machine type to 'pc-0.11' so that if the 'pc' alias changes target in future versions of qemu, the machine type used will remain compatible. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-27Add machine type aliasesMark McLoughlin
Add an 'alias' field to QEMUMachine and display it in the output of 'qemu -M ?' with an '(aliased to foo)' suffix. Aliases can change targets in newer versions of qemu, so management tools may choose canonicalize machine types to ensure that if a user chooses an alias, that the actual machine type used will remain compatible in future. This is intended to mimic a symlink to a machine description file. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-26Give the kernel more roomAlexander Graf
My self-built PPC kernel doesn't fit in the region reserved for the kernel, so I can't use -kernel with it. Let's just extend the region. Signed-off-by: Alexander Graf <agraf@suse.de>
2009-07-26PPC: Round VGA BIOS size to page boundaryAlexander Graf
When giving KVM a slot of a size not on page boundary, it chokes. So let's just round up the VGA BIOS size so nobody complains anymore and we don't need to implement sub-page slots. Required for booting a PPC guest in KVM. Signed-off-by: Alexander Graf <agraf@suse.de>
2009-07-22notify io_thread at the end of rx handlingGlauber Costa
This is a backport from qemu-kvm. Just instead of using kvm's specific notification mechanism, we use qemu_notify_event() Signed-off-by: Glauber Costa <glommer@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-22Add save/restore support to the LSI logic SCSI device model.Nolan
This patch requires "Handle BH's queued by AIO completions in qemu_aio_flush()" to work reliably. The combination of those two patches survived 300+ migrations with heavy IO load running in the guest. Signed-off-by: Nolan Leake <nolan <at> sigbus.net> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-21Sparc32: convert Sun4c interrupt controller to qdevBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc32: convert SBI to qdevBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc32/64: use 64 bit type for memory sizeBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21qdev: add 64 bit typeBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc64: refactor kernel initBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc64: refactor CPU initBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc64: convert memory to qdevBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc64: convert boot prom to qdevBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc32: Fix lanceBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-21Sparc64: convert APB to qdevBlue Swirl
Thanks to Igor Kovalenko for a bugfix. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-20Fix most warnings (errors with -Werror) when debugging is enabledBlue Swirl
I used the following command to enable debugging: perl -p -i -e 's/^\/\/#define DEBUG/#define DEBUG/g' * */* */*/* Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-20Fix build with DEBUG_PCI in pci_host.h enabledBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-20Clean up fdc qdev conversionBlue Swirl
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-17isxdigit -> qemu_isxdigitChristoph Egger
Hi! Attached patch uses qemu_isxdigit() instead of isxdigit(). Fixes build warning on NetBSD. Signed-off-by: Christoph Egger <Christoph.Egger@amd.com> -- ---to satisfy European Law for business letters: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632
2009-07-17Suppress a Sparse warningBlue Swirl
Move the export to a file used by both qdev.c and sysbus.c. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-17Sparc32: use hex for version numbersBlue Swirl
0x10000000 looks better than 268435456. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-17Sparc32: fix escc devices broken by ee6847d19be16c789b8bd4e553b7cd6701ba1245Blue Swirl
The logic of Zilog makes channel B the first device and channel A the second one. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-17Sparc32: fix fdc io_baseBlue Swirl
On some Sparc32 machines, fdc is located above 4G limit, so uint32_t is not appropriate type for io_base. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-17Fix sparc-softmmu breakage by ee6847d19be16c789b8bd4e553b7cd6701ba1245Blue Swirl
Move the qdev_init(dev); call after the setting of d->size. Thanks to Filip Navara. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-16fix for bad macaddr of e1000 in Windows 2003 server with original MS driverNaphtali Sprei
The sequence of reading from eeprom is "offset by one" moved because of a false detection of a clock cycle after an eeprom reset. Keeping the last clock value after a reset keeps it in sync. Signed-off-by: Naphtali Sprei <nsprei@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev: es1370+ac97 descriptionGerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev/compat: virtio-net-pci 0.10 compatibility.Gerd Hoffmann
Add vectors property, allowing to turn off msi by setting vectors=0. Add compat property to pc-0.10 disabling msi. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev: print device id in "info pci".Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev/compat: virtio-console-pci 0.10 compatibility.Gerd Hoffmann
Add class property to virtio-console-pci allowing to specify the PCI class. Add compat property to pc-0.10 to set the old PCI class. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev: add id= support for pci nics.Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev/compat: virtio-blk-pci 0.10 compatibility.Gerd Hoffmann
Add class property to virtio-blk-pci allowing to specify the PCI class. Add compat property to pc-0.10 to set the old PCI class. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev: add user-specified identifier to devices.Gerd Hoffmann
Add id field to DeviceState. Make "info qtree" print it. This helps users and management apps identifying devices in monitor output, which is especially useful with otherwise identical devices such as two virtio disks. This patch doesn't add a way to set the id, followup patches will do. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev/compat: add pc-0.10 machine type.Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev: add no_user, alias and descGerd Hoffmann
no_user: prevent users from adding certain devices. desc: description of the device. alias: to allow user friendly shortcuts on the command line, i.e. -device usbmouse instead of -device "QEMU USB Mouse" or -device lsi instead of -device lsi53c895a Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev/compat: compat property infrastructure.Gerd Hoffmann
This add support for switching devices into a compatibility mode using device properties. Machine types can have a list of properties for specific devices attached to allow the easy creation of machine types compatible to older qemu versions. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16qdev: factor out driver search to qdev_find_info()Gerd Hoffmann
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>