History | View | Annotate | Download (11.2 kB)
bitmap: add a generic bitmap and bitops library
Add most used bitmap and bitops functions into bitmap.c and bitops.c.Theses functions are mostly copied from Linux kernel source.
Some of these functions are already redefined in the VNC server. Someof them could be used for some block stuff. The yet yo be submitted...
vnc: Add ZRLE and ZYWRLE encodings.
Add ZRLE [1] and ZYWRLE [2] encodings. The code is inspire^W stolenfrom libvncserver (again), but have been rewriten to match QEMU codingstyle.
[1] http://www.realvnc.com/docs/rfbproto.pdf[2] http://micro-vnc.jp/research/remote_desktop_ng/ZYWRLE/publications/...
applesmc: make optional
Based on patch by David Ahern.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Set up signalfd under !CONFIG_IOTHREAD
Will be required for SIGBUS handling. For obvious reasons, this willremain a nop on Windows hosts.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
hpet: make optional
Ignore failure with hpet device creation.
x86: make vmmouse optional
Compile vmmouse in hwlib. Ignore failure if vmmouse device can't becreated.
ahci: split ICH9 from core
There are multiple ahci devices out there. The currently implemented ich-9is only one of the many. So let's split that one out into a separate fileto stress the difference.
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>Signed-off-by: Alexander Graf <agraf@suse.de>...
Merge remote branch 'spice/spice.v29.pull' into staging
Conflicts: trace-events
spice: add chardev (v5)
Adding a chardev backend for spice, where spice determines whatto do with it based on the name attribute given during chardev creation.For usage by spice vdagent in conjunction with a properly namedvirtio-serial device, and future smartcard channel usage....
qcow2: Add QcowCache
This adds some new cache functions to qcow2 which can be used for cachingrefcount blocks and L2 tables. When used with cache=writethrough they worklike the old caching code which is spread all over qcow2, so for this case wehave merely a cleanup....
usb: data structs and helpers for usb descriptors.
This patch adds hw/usb-desc.[ch] files. They carry data structuresfor various usb descriptors and helper functions to generate usbpackets from the structures.
The intention is to have a internal representation of the device...
build, pci: remove QMP dependency on core PCI code
by introducing pci-stub.c, eliminate QMP dependency on core PCI coderquired by query-pci command.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
qed: Add QEMU Enhanced Disk image format
This patch introduces the qed on-disk layout and implements imagecreation. Later patches add read/write and other functionality.
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
qed: Table, L2 cache, and cluster functions
This patch adds code to look up data cluster offsets in the image viathe L1/L2 tables. The L2 tables are writethrough cached in memory forperformance (each read/write requires a lookup so it is essential tocache the tables)....
qed: Read/write support
This patch implements the read/write state machine. Operations arefully asynchronous and multiple operations may be active at any time.
Allocating writes lock tables to ensure metadata updates do notinterfere with each other. If two allocating writes need to update the...
ahci: add ahci emulation
This patch adds an emulation layer for an ICH-9 AHCI controller. For nowthis controller does not do IDE legacy emulation. It is a pure AHCI controller.
Signed-off-by: Alexander Graf <agraf@suse.de>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Merge remote branch 'kwolf/for-anthony' into staging
Merge remote branch 'mst/for_anthony' into staging
ceph/rbd block driver for qemu-kvm
RBD is an block driver for the distributed file system Ceph(http://ceph.newdream.net/). This driver uses librados (which is partof the Ceph server) for direct access to the Ceph object store and isrunning entirely in userspace (Yehuda also wrote a driver for the...
e1000: Make little endian
The e1000 has compatibility code to handle big endianness which makes itmandatory to be recompiled on different targets.
With the generic mmio endianness solution, there's no need for that anymore.We just declare all mmio to be little endian and call it a day....
rtl8139: Declare as little endian
This patch replaces explicit bswaps with endianness hints to themmio layer.
Because we don't depend on the target endianness anymore, we can alsomove the driver over to Makefile.objs.
Signed-off-by: Alexander Graf <agraf@suse.de>...
usb_ohci: Always use little endian
Makefile: make msix/msi depend on CONFIG_PCI
Possible now that pci is not depending on these.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Fix build
msix.o and msi.o get pulled into the build unconditionally for QMP.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Merge remote branch 'origin/master' into pci
Conflicts: Makefile.objs hw/virtio.c
Split out common pcnet code
The core pcnet emulation code is used by both the PCI "pcnet" deviceand the SPARC "lance" device. Split the common code frm the PCI code sothat that can be configures independantly.
Signed-off-by: Paul Brook <paul@codesourcery.com>
PCI config include
Split PCI config options into a separate file
VirtIO config option
Make virtio devices optional. Selecting individual devices is not usefulas the host bindings are all in one file.
Include directives in default configs
Allow default configs to be split into several files.
pcie/aer: helper functions for pcie aer capability
This patch implements helper functions for pcie aer capabilitywhich will be used later.
Revert "Add a DTrace tracing backend targetted for SystemTAP compatability"
This reverts commit 4addb1127f6327c7ebcbd150a6b589e7677adc92.
Add a DTrace tracing backend targetted for SystemTAP compatability
This introduces a new tracing backend that targets the SystemTAPimplementation of DTrace userspace tracing. The core functionalityshould be applicable and standard across any DTrace implementation...
spice: add audio
Add support for the spice audio interface. With this patch appliedaudio can be forwarded over the network from/to the spice client. Bothrecording and playback is supported.
The driver is first in the driver list, but the can_be_default flag is...
Add Intel HD Audio support to qemu.
This patch adds three devices to qemu:
intel-hda Intel HD Audio Controller, the PCI device. Provides a HDA bus. Emulates ICH6 at the moment. Adding a ICH9 PCIE variant shouldn't be hard.
hda-duplex HDA Codec. Attaches to the HDA bus. Supports 16bit stereo,...
Move QEMU OS dependant library functions to OS specific files
This moves library functions used by both QEMU and the QEMU tools,such as qemu-img, qemu-nbd etc. from osdep.c to oslib-{posix,win32}.c
In addition it introduces oslib-obj.y to the Makefile set to be...
Merge branch 'pci' into for_anthony
qemu-options.def: add to generated header list
All files include qemu-options.h which pulls in qemu-options.def fromthe root directory. Thus generating qemu-options.def from Makefile.objsunder the target directory is not effective.
Further, people expect .def file to get cleaned with make clean:...
qemu-timer: move commonly used timer code to qemu-timer-common
Move timer init functions to a new file, qemu-timer-common.c. Make othercritical timer functions inlined to preserve performance inqemu-timer.c, also move muldiv64() (used by the inline functions)...
signalfd compatibility
Port qemu-kvm's signalfd compat code.
commit 5a7fdd0abd7cd24dac205317a4195446ab8748b5Author: Anthony Liguori <aliguori@us.ibm.com>Date: Wed May 7 11:55:47 2008 -0500
Use signalfd() in io-thread
This patch reworks the IO thread to use signalfd() instead of sigtimedwait()...
virtio-9p: Use layered xattr approach
We would need this to make sure we handle the mappedsecurity model correctly for different xattr names.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
virtio-9p: Support mapped posix acl
x3130: pcie downstream port
Implement TI x3130 pcie downstream port switch.
x3130: pcie upstream port
Implement TI x3130 pcie upstream port switch.
ioh3420: pcie root port in X58 ioh
Implements pcie root port switch in intel X58 iohwhose device id is 0x3420.
pcie port: define struct PCIEPort/PCIESlot and helper functions
define struct PCIEPort which represents common partof pci express port.(root, upstream and downstream.)add a helper function for pcie port which can be used commonly byroot/upstream/downstream port....
pcie: helper functions for pcie capability and extended capability
This patch implements helper functions for pci express capabilityand pci express extended capability allocation.NOTE: presence detection depends on pci_qdev_init() change.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>...
msi: implements msi
implements msi related functions.
Merge remote branch 'spice/submit.6' into staging
Conflicts: configure
tap: Add stub for Haiku
Adapted from AIX code.
Signed-off-by: Andreas Färber <andreas.faerber@web.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
mingw: add version information to the executables
Add QEMU version information to the executables, based on earlierwork by C. W. Betts and Robert Riebisch.
spice: simple display
With that patch applied you'll actually see the guests screen in thespice client. This does not bring qxl and full spice support though.This is basically the qxl vga mode made more generic, so it playstogether with any qemu-emulated gfx card. You can display stdvga or...
spice: core bits
Add -spice command line switch. Has support setting passwd and port fornow. With this patch applied the spice client can successfully connectto qemu. You can't do anything useful yet though.
spice: add keyboard
Open keyboard channel. Now you can type into the spice client and thekeyboard events are sent to your guest. You'll need some other displaylike vnc to actually see the guest responding to them though.
add pflib: PixelFormat conversion library.
blkverify: Add block driver for verifying I/O
The blkverify block driver makes investigating image format datacorruption much easier. A raw image initialized with the same contentsas the test image (e.g. qcow2 file) must be provided. The raw imagemirrors read/write operations and is used to verify that data read from...
trace: Add trace-events file for declaring trace events
This patch introduces the trace-events file where trace events can bedeclared like so:
qemu_malloc(size_t size) "size %zu" qemu_free(void *ptr) "ptr %p"
These trace event declarations are processed by a new tool called...
trace: Add simple built-in tracing backend
This patch adds a simple tracer which produces binary trace files. Totry out the simple backend:
$ ./configure --trace-backend=simple$ make
After running QEMU you can pretty-print the trace:
$ ./simpletrace.py trace-events trace.log...
vnc: tight: stop using qdict for palette stuff
Profiling with callgrind seems to show that a lot of time is spentin the palette code (mostly due to memory allocation and qdict to intconversion).
This patch adds a VncPalette implementation. The palette is stored...
vnc: threaded VNC server
Implement a threaded VNC server using the producer-consumer model.The main thread will push encoding jobs (a list a rectangles to update)in a queue, and the VNC worker thread will consume that queue and sendframebuffer updates to the output buffer....
vnc: rename vnc-encoding-* vnc-enc-*
For the same reason that we don't use vnc-authentication-sasl.c butvnc-auth-sals.c. Because it's tooooo long.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
ui: move all ui components in ui/
Move sdl, vnc, curses and cocoa UI into ui/ to cleanupthe root directory. Also remove some unnecessary explicittargets from Makefile.
aliguori: fix build when srcdir != objdir
Signed-off-by: Corentin Chary <corentincj@iksaif.net>...
pci/bridge: split out pci bridge code into pci_bridge.c from pci.c
Move pci bridge related code into pci_bridge.c from pci.cfor further enhancement. pci.c is big enough now, so split it out.No code change but exporting some accesser functions.
In fact, few pci bridge functions stays in pci.c....
block: add sheepdog driver for distributed storage support
Sheepdog is a distributed storage system for QEMU. It provides highlyavailable block level storage volumes to VMs like Amazon EBS. Thispatch adds a qemu block driver for Sheepdog.
Sheepdog features are:...
piix4: compile only once
Compile piix4 in hwlib. Two compilations less for the full build.
MIPS: Initial support of VIA IDE controller used by fulong mini pc
Signed-off-by: Huacai Chen <zltjiangshi@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
virtio-9p: Make infrastructure for the new security model.
This patch adds required infrastructure for the new security model.
- A new configure option for attr/xattr.- if CONFIG_VIRTFS will be defined if both CONFIG_LINUX and CONFIG_ATTR defined.- Defines routines related to both security models....
Conflicts: hw/pc.c
Compile OS specific files only once for all targets
OS specific files are not target dependent, so they can be compiledonce for all targets.
Rename qemu-options.h to qemu-options.def
Rename qemu-options.h to qemu-options.def as it is not a header filefor general use and this leaves space for a proper qemu-options.h
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>Acked-by: Juan Quintela <quintela@redhat.com>...
Introduce OS specific cmdline argument handling and move SMB arg to os-posix.c
Introduce OS specific cmdline argument handling by callingos_parse_cmd_args() at the end of switch() statement. Move optionenum to qemu-options.h and have it included from os-posix.c and...
Introduce os-win32.c and move polling functions from vl.c
This introduces os-win32.c. It is meant to carry win32 specificfunctions thata are not relevant for all of QEMU as well as win32versions of various pieces like signal handling etc.
Move win32 polling handler helper functions from vl.c to os-win32.c...
Introduce os-posix.c and create os_setup_signal_handling()
Introcuce os-posix.c and move posix specific signal handlingthere.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>Acked-by: Juan Quintela <quintela@redhat.com>Acked-by: Richard Henderson <rth@redhat.com>...
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 <armbru@redhat.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
vnc: add basic tight support
Add support for tight encoding [1]. This patch only add supportfor "basic" tight compression without any filter.
[1] http://tigervnc.org/cgi-bin/rfbproto#tight-encoding.
cursor: add cursor functions.
Add a new cursor type to console.h and a bunch of functions todeal with cursors the (new) cursor.c file.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Compile dma only once
Use a qemu_irq to request CPU exit.
7 compilations less for the full build.
Compile pckbd only once
Use a qemu_irq to indicate A20 line changes. Move I/O port 92to pckbd.c.
Compile acpi_piix4, apm and pm_smbus only once
12 compilations less for the full build.
Compile virtio-9p-debug and virtio-9p-local once
virtio-9p: Create a commandline option -fsdev
This patch creates a new command line option named -fsdev to hold any filesystem specific information.
The option will currently hold the following attributes:-fsdev fstype id=id,path=path_to_sharewherefstype: Type of the file system....
vnc: split encoding in specific files
This will allow to implement new encodings (tight, zrle, ..)in a cleaner way. This may hurt performances, because somefunctions like vnc_convert_pixel are not static anymore, butshould not be a problem with gcc 4.5 and the new -flto....
block: separate raw images from the file protocol
We're running into various problems because the "raw" file access, whichis used internally by the various image formats is entangled with the"raw" image format, which maps the VM view 1:1 to a file system....
iov: Introduce a new file for helpers around iovs, add iov_from_buf()
The virtio-net code uses iov_fill() which fills an iov from a linearbuffer. The virtio-serial-bus code does something similar in anopen-coded function.
Create a new iov.c file that has iov_from_buf()....
blkdebug: Basic request passthrough
This isn't doing anything interesting. It creates the blkdebug block driver asa protocol which just passes everything through to raw.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Make qemu-config available for tools
To be able to use config files for blkdebug, we need to make these functionsavailable in the tools. This involves moving two functions that can only bebuilt in the context of the emulator.
Compile event_notifier only once
Compile vl.c once
Since kvm.h can be used in files compiled once,we can partially revertb33612d03540fda7fa67485f1c20395beb7a2bf0.
sparc32 use empty_slot for missing RAM v1
use empty_slot device for the RAM which is not installed
Models without ECC don't trap when missing ram is accessed.
v0->v1 compile only once and fix indentation
Signed-off-by: Artyom Tarasenko <atar4qemu@gmail.com>...
OHCI qdev conversion
Convert remaining OHCI devices to QDEV interface.
Revert "Compile usb-ohci only once"
This reverts commit f1698408f1dcb7548a21828a0b1e2b530fae3af3.
PCI is always little-endian. Having a user-visible "be" property is justplain wrong.
ia64 disas support
Taken from binutils SVN, using last GPLv2 version.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
virtio-pci: compile per-target
With vhost, virtio-pci needs to include kvm.h and kvm.h needs to be builtper-target.
Fix -enable-kvm
Make vl.o compiled per target and fix a thinko in hw/acpi.c. It's not trivialto make kvm.h consumable by compiled-once files.
Compile most PPC devices only once
Make byte swapping unconditional since PPC is big endian.
Compile prep_pci only once
Compile qemu-timer only once
Arrange various declarations so that also non-CPU code can accessthem, adjust users.
Move CPU specific code to cpus.c.
Compile openpic only once
Replace TARGET_PAGE_SIZE with 4096. Make byte swapping unconditionalsince PPC is big endian.
Compile ide/macio only once