PCI qdev support
Signed-off-by: Paul Brook <paul@codesourcery.com>
qdev scsi bus infrastructure
PL110 qdev conversion
PL011 qdev conversion
PL050 qdev conversion
LSI SCSI qdev conversion
PCI network qdev conversion
Virtio-net qdev conversion
Stellaris ethernet qdev conversion
PL031 qdev conversion
PL181 qdev conversion
Basic qdev infrastructure.
qdev child bus support
Remove any pretense that there can be more than one AudioState
Include assert.h from qemu-common.h
Include assert.h from qemu-common.h and remove other direct uses.cpu-all.h still need to include it because of the dyngen-exec.h hacks
Replace gcc variadic macro extension with C99 version (missed one)
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Replace gcc variadic macro extension with C99 version
Remove vga_ram_size
The vga_ram_size argument to machine init functions always has the samevalue, and is ignored by many machines (including SPARC32 which has anobsolete ifdef for VGA_RAM_SIZE).
Remove it and push VGA_RAM_SIZE into vga_int.h.
ETRAX: Correct setting of ethernet station address.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Follow coding conventions.
More structure renaming.
Push AUD_init down to devices
Now we can safely call AUD_init multiple times we can push it down toindividual audio devices, rather than having to pass it from the boardinit.
Make AUD_init failure fatal
Failure to initialize the audio subsystem is not handled consistently.Where it is handled it has guest visible effects, which is wrong.We already have a "nosound" audio driver as a last resort, so trying toproceed without an audio backend seems pointless....
Follow coding conventions
Remove explicit struct qualifiers and rename structure types.
vga: Replace VGA_COMMON with a structure
All VGA devices share a common field subset; currently they do so bya macro which defines the common fields inline their state structures,relying on the the common state being placed at offset 0 in the structure....
register reset handler for option_roms
Currently, boot options are not preserved across a system reset.option roms can modify themselves, or can for instance restore the realint 0x19 vector after they tried to boot from it.
To properly do that, we need a reset handler registered to deal with option...
reset state for load_linux
The linux loader is just an option rom like any other, just withsome special requirements. Right now, our option rom resettingmechanism is not being applied to it. As a result, users using-kernel will not be able to successfully reboot their machines...
e1000: Do not reinit pci config space to 0
pci_register_device already mallocs the pci config space buffer filledwith zeroes.
Doing this again breaks some default config space writes likesetting the subsystem vendor id and subsystem device id.
Signed-off-by: Amit Shah <amit.shah@redhat.com>...
Remove superfluous #includes.
Use target_phys_addr_t, not target_ulong.
Replace cpu_abort with hw_error
Fix PL110 framebuffer byteswapping in 32bpp mode.
ETRAX: Simplify serport control logic.
ETRAX: Drop _t for the serial type.
ETRAX: Use NULL for subwidth serport reg accesses.
ETRAX: Drop the _t for the internal PIC type.
ETRAX: Simplify the interrupt controller model.
ETRAX: Simplify interrupt signaling.
minor fix of pci_register_bus()
keep first_bus linked list correct.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
use PCI_HEADER_TYPE.
use symbolic value instead of 0x0e and related value.
Handle NULL bdrv.
Fix hw/acpi.c build w/ DEBUG enabled
Trivial build warning/fixes when the local DEBUG define is enabled.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>Signed-off-by: Avi Kivity <avi@qumranet.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Pci nic: pci_register_device can fail
The pci_register_device() call in PCI nic initialization routines canfail. Handle this failure and propagate a meaningful error message tothe user instead of generating a SEGV.
Cc: Marcelo Tosatti <mtosatti@redhat.com>...
Hardware watchdog
Here is an updated hardware watchdog patch, which should fixeverything that was raised about the previous version ...
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
fix virtio_blk_inhdr comment
The inhdr is at the end of the S/G list, not the beginning.
Signed-off-by: Christoph Hellwig <hch@lst.de>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
suport device driver initialization model
According to PnP specification, Appendix B, Option ROMsthat support DDIM (device driver initialization model) shouldhave their memory space writeable.
KVM deviates from us here, by removing the IO_MEM_ROM flag,...
virtio-blk: add SGI_IO passthru support
[had the qemu list address wrong the first time, reply to this message, not the previous if you were on Cc]
Add support for SG_IO passthru (packet commands) to the virtio-blkbackend. Conceptually based on an older patch from Hannes Reinecke...
Remove redundant cirrus vga ram functions.
Remove vga LFB accessor hacks.
These are redundant now that we remap the LFB ram area.
Synch to VGA
[RESEND] Fix vga segfaults or screen corruption with large memory guests
page0 and friends are ram addresses; a smaller size will overflow andcause a segfault or random corruption.
Change them to ram_addr_t.
Signed-off-by: Avi Kivity <avi@redhat.com>
Fix compilation when x86_64 is defined
Fix warning
qemu: create helper for event notification (Marcelo Tosatti)
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7236 c046a42c-6fe2-441c-8c8c-71466251a162
Fix typo, thanks to Andreas Faerber for spotting
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7235 c046a42c-6fe2-441c-8c8c-71466251a162
Use a more natural order
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7234 c046a42c-6fe2-441c-8c8c-71466251a162
Change RTC time drift IRQ re-injection (Gleb Natapov)
Currently IRQ are reinjected as soon as they are acknowledged tothe RTC, but Windows sometimes do acknowledgement in a loop withglobal interrupt disabled waiting for interrupt to be cleared andit does not mask RTC vector in PIC/APIC while doing this. In such...
implement qemu_blockalign (Stefano Stabellini)
this patch adds a buffer_alignment field to BlockDriverState andimplements a qemu_blockalign function that uses that field to allocate amemory aligned buffer to be used by the block driver.buffer_alignment is initialized to 512 but each block driver can set...
xen: add -vga xenfb option, configure xenfb (Gerd Hoffmann)
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7228 c046a42c-6fe2-441c-8c8c-71466251a162
xen: pv domain builder. (Gerd Hoffmann)
This adds domain building support for paravirtual domains to qemu.This allows booting xen guests directly with qemu, without Xendand the management stack.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
xen: blk & nic configuration via cmd line. (Gerd Hoffmann)
This patch makes qemu create backend and frontend device entries inxenstore for devices configured on the command line. It will useqdisk and qnic backend names, so the qemu internal backends will...
xen: add net backend driver. (Gerd Hoffmann)
This patch adds a network interface backend driver to qemu. It is a pureuserspace implemention using the gntdev interface. It uses "qnet" asbackend name in xenstore so it doesn't interfere with the netback...
xen: add block device backend driver. (Gerd Hoffmann)
This patch adds a block device backend driver to qemu. It is a pureuserspace implemention using the gntdev interface. It uses "qdisk" asbackend name in xenstore so it doesn't interfere with the other existing...
xen: add framebuffer backend driver (Gerd Hoffmann)
This patch adds a frsamebuffer (and kbd+mouse) backend driver. Itit based on current xen-unstable code. It has been changed to makeuse of the common backend driver code. It also has been changed to...
xen: add console backend driver. (Gerd Hoffmann)
This patch adds a xenconsole backend driver. It it based on currentxen-unstable code. It has been changed to make use of the commonbackend driver code.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>...
xen: backend driver core (Gerd Hoffmann)
This patch adds infrastructure for xen backend drivers living in qemu,so drivers don't need to implement common stuff on their own. It'smostly xenbus management stuff: some functions to access xentore,setting up xenstore watches, callbacks on device discovery and state...
xen: groundwork for xen support (Gerd Hoffmann)
- configure script and build system changes.- wind up new machine type.- add xen* command line options.
sending NUMA topology to BIOS (Andre Przywara)
uses the QEMU firmware configuration interfacce to send the NUMAtopology to the BIOS, which has to setup the tables. Only one firmwareconfiguration channel is used.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>...
kqemu: merge CONFIG_KQEMU and USE_KQEMU
Basically a recursive ":%s/USE_KQEMU/CONFIG_KQEMU/g".
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7189 c046a42c-6fe2-441c-8c8c-71466251a162
Adds SM501 usb host emulation feature.It makes usb keyboard available for sh4/r2d system emulation.
The changes for "hw/usb-ohci.c" are as follows. - 'localmem_base' is introduced as OHCIState struct member. SM501 has a local memory, and it is used to pass and receive data with...
Fix indices in Menelaus save/load.
Version increase won't be helpful here. Spotted by Sergei Steshenko / BlauWirbel.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7186 c046a42c-6fe2-441c-8c8c-71466251a162
hpet: Fix emulation of HPET_TN_SETVAL (Jan Kiszka)
While Intel's spec is not that clear here, latest changes to Linux' HPETcode (commit c23e253e67c9d8a91a0ffa33c1f571a17f0a2403, "x86: hpet: stopHPET_COUNTER when programming periodic mode") strongly suggest that...
qemu: Add support for SMBIOS command line otions (Alex Williamson)
Create a new -smbios option (x86-only) to allow binary SMBIOS entriesto be passed through to the BIOS or modify the default values ofindividual fields of type 0 and 1 entries on the command line....
Introduce VLANClientState::cleanup() (Mark McLoughlin)
We're currently leaking memory and file descriptors on devicehot-unplug.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7150 c046a42c-6fe2-441c-8c8c-71466251a162
Use NICInfo::model for eepro100 savevm ID string (Mark McLoughlin)
NICInfo::model will always be identical to the device name stringswe're currently passing to nic_init(). Just re-use NICInfo::model.
This makes it clear why we use vc->model for unregister_savevm()...
Add unregister_savevm() (Mark McLoughlin)
Currently there's no way to unregister a savevm callback, soe.g. if a NIC is hot-unplugged and a savevm is issued, we'llsegfault.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>...
Remove NICInfo from e1000 and mipsnet state (Mark McLoughlin)
NICInfo isn't used after initialization, so remove it from the driverstate structures.
Don't fail PCI hotplug if no NIC model is supplied (Mark McLoughlin)
It's perfectly fine to not supply a NIC model when addinga new NIC - we supply the default model to pci_nic_init()and it uses that if one wasn't explicitly supplied.
Signed-off-by: Mark McLoughlin <markmc@redhat.com>...
Remove stray GSO code from virtio_net (Mark McLoughlin)
Obviously merged from kvm-userspace accidentally.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7142 c046a42c-6fe2-441c-8c8c-71466251a162
vga: Cleanup dirty logging (Jan Kiszka)
In theory, there are no more quirks in the KVM slot management thatrequires dirty log start/stop all over the place. We just have to startthe logging each time the mapping may have changed. This patch dropsvga_dirty_log_stop for both standard and cirrus VGA. It also reverts...
vga: Fix inconsistent tracking of map_addr (Jan Kiszka)
Only track video RAM mapping in map_addr and use the correct RAM size.Furthermore, make sure the reset the address in case unmapping tookplace via PCI reconfiguration.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
kvm: Apply SMM-already-initialized workaround on reset (Jan Kiszka)
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7136 c046a42c-6fe2-441c-8c8c-71466251a162
Implement sonic netcard (MIPS Jazz)
Attached patch adds emulation of a SONIC netcard. This card has been usedin MIPS Jazz machines and in some Apple Mac 68K.
Emulation has been done using dp83932 specification, but can be enhanced(if needed) to also emulate dp83916, dp83934 or dp83936 chipsets....
target-alpha: lower parent irq when irq is lowered.
Signed-off-by: Tristan Gingold <gingold@adacore.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7108 c046a42c-6fe2-441c-8c8c-71466251a162
Fix OpenSolaris gcc4 warnings: iovec type mismatches, missing 'static'
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7103 c046a42c-6fe2-441c-8c8c-71466251a162
Add named initializers.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7091 c046a42c-6fe2-441c-8c8c-71466251a162
Remove redundant ram_require machine properly.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7090 c046a42c-6fe2-441c-8c8c-71466251a162
Remove more redundant ram size checks.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7089 c046a42c-6fe2-441c-8c8c-71466251a162
Fix/remove bogus ram size checks.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7087 c046a42c-6fe2-441c-8c8c-71466251a162
Allocate enough vram for 24-bit planes.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7086 c046a42c-6fe2-441c-8c8c-71466251a162
mips malta: fix commit 7064
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7079 c046a42c-6fe2-441c-8c8c-71466251a162
Clean up rc4030 init function
At the moment, rc4030 init function is returning some function pointers.Mark them non-static and define them in header file instead.Export also a function to read/write DMA memory, it will be required bythe netcard.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>...
Make PCI config status register read-only
From the documentation I can find, this register is supposed to be read-only.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7070 c046a42c-6fe2-441c-8c8c-71466251a162
Wean device tree code off phys_ram_base.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7068 c046a42c-6fe2-441c-8c8c-71466251a162
Yet more phys_ram_base elimination.
Signed-off-by: Paul Brook <paul@cofdesourcery.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7067 c046a42c-6fe2-441c-8c8c-71466251a162
More phys_ram_base elimination.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7064 c046a42c-6fe2-441c-8c8c-71466251a162
Clean up VGA ram allocation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7063 c046a42c-6fe2-441c-8c8c-71466251a162
Fix RTC breakage from r7031.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7062 c046a42c-6fe2-441c-8c8c-71466251a162
Musicpal ram access cleanup.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7061 c046a42c-6fe2-441c-8c8c-71466251a162
More phys_ram_base removal.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7060 c046a42c-6fe2-441c-8c8c-71466251a162
Cleanup SPARC/TCX framebuffer allocation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7059 c046a42c-6fe2-441c-8c8c-71466251a162