History | View | Annotate | Download (7.9 kB)
Adding support for libseccomp in configure and Makefile (v8)
Adding basic options to the configure script to use libseccomp or not.The default is set to 'no'. If the flag --enable-libseccomp is used, thescript will check for its existence using pkg-config....
Merge remote-tracking branch 'qmp/queue/qmp' into staging
qemu-ga: switch to the new error format on the wire
IMPORTANT: this BREAKS qemu-ga compatibility for the error response.
Instead of returning something like:
{ "error": { "class": "InvalidParameterValue", "data": {"name": "mode", "expected": "halt|powerdown|reboot" } } }...
Add cache handling functions
Add MRU page cache mechanism.The page are accessed by their address.
Signed-off-by: Benoit Hudzia <benoit.hudzia@sap.com>Signed-off-by: Petter Svard <petters@cs.umu.se>Signed-off-by: Aidan Shribman <aidan.shribman@sap.com>...
Merge remote-tracking branch 'mjt/mjt-iov2' into staging
qemu-log: move logging to qemu-log.c
Move logging functions from exec.c to qemu-log.c,compile it only once.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
consolidate qemu_iovec_memset{,_skip}() into single function and use existing iov_memset()
This patch combines two functions into one, and replacesthe implementation with already existing iov_memset() fromiov.c.
The new prototype of qemu_iovec_memset():...
Revert "build: compile oslib-obj-y once"
This reverts commit 25f27a4f7160d077d6992e811021b4bc3a82abc1because of bsd-user breakage.
build: compile oslib-obj-y once
There is no difference in oslib-obj-y between user-mode and systemtargets. There used to be when user-mode could optionally becompiled with PIE.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
build: libcacard Makefile cleanups
Build vscclient from toplevel Makefile, limit usage of vpath.
build: convert libhw to nested Makefile.objs
After this patch, the libhw* directories will have a hierarchythat mimics the source tree. This is useful because we do havea couple of files there that are in the top source directory.
build: move qga/ objects to nested Makefile.objs
build: move target-independent hw/ objects to nested Makefile.objs
This patch starts converting the hw/ directory. Some files in hw/are compiled once, some twice (32-/64-bit), some once per target.Each category is moved in a separate patch.
After this patch, the files that are compiled once will show the...
build: move slirp/ objects to nested Makefile.objs
build: move qapi/ objects to nested Makefile.objs
build: move ui/ objects to nested Makefile.objs
build: move audio/ objects to nested Makefile.objs
build: move block/ objects to nested Makefile.objs
build: move net/ objects to nested Makefile.objs
build: move fsdev/ objects to nested Makefile.objs
build: move rules for nesting to Makefile.objs
At this point we will start adding nesting behavior to other filesthan Makefile.target. Because Makefile.objs is included byMakefile.target, it is simpler to move the processing ofsubdirectories there.
To enable this, only add per-target files to obj-y. Use a separate...
build: adapt qom/Makefile and move it to Makefile.objs
qom/ already used a separate makefile. Convert it to use relativepaths, and make it declare both common-obj-y and user-obj-y. Thisway, the upper makefiles do not need to know that some QOM filesare compiled twice....
build: remove trace-nested-y
Beautify makefile commands for generation of files with tracetool
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
tracetool: Rewrite infrastructure as python modules
The tracetool script is written in shell and has hit several portabilityproblems due to shell quirks or external tools across host platforms.Additionally the amount of string processing and lack of real data...
Merge commit 'ff71f2e8cacefae99179993204172bc65e4303df' into staging
target-lm32: add simple disassembler
Because binutils disassembler is based on libopcode, this is a rewrite fromscratch.
Signed-off-by: Michael Walle <michael@walle.cc>
qtest: add test framework
The idea behind qtest is pretty simple. Instead of executing a CPU via TCG orKVM, rely on an external process to send events to the device model that the CPUwould normally generate.
qtest presents itself as an accelerator. In addition, a new option is added to...
slotid: add slot id capability
This capability makes it possible for the guest toreport a unique chassis identifier to the user.
The spec also recommends making chassis indentifierpersist in eeprom.This isn't implemented.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
pci: add standard bridge device
This adds support for a standard pci to pci bridge,enabling support for more than 32 PCI devices in the system.Device hotplug is supported by means of SHPC controller.For guests with an SHPC driver, this allows robust hotplug...
shpc: standard hot plug controller
This adds support for SHPC interface, as defined by PCI StandardHot-Plug Controller and Subsystem Specification, Rev 1.0http://www.pcisig.com/specifications/conventional/pci_hot_plug/SHPC_10
Only SHPC intergrated with a PCI-to-PCI bridge is supported,...
qom: Introduce CPU class
Reintroduce CPUState as QOM object: It's abstract and derived directlyfrom TYPE_OBJECT for compatibility with the user emulators.The identifier CPUState avoids conflicts between CPU and the struct.
Introduce $(qom-twice-y) to build it separately for system and for user...
Merge remote-tracking branch 'kraxel/usb.44' into staging
qom: Add QOM support to user emulators
Link the Object base class and the module infrastructure for classregistration. Introduce $(universal-obj-y) for objects that are morecommon than $(common-obj-y), so that those only get built once.
Call QOM module init for type registration....
usb: the big rename
Reorganize usb source files. Create a new hw/usb/ directory and moveall usb source code to that place. Also make filenames a bit moredescriptive. Host adapters are prefixed with "hch-" now, usb deviceemulations are prefixed with "dev-". Fixup paths Makefile and include...
coroutine: adding configure option for sigaltstack coroutine backend
It's possible to use sigaltstack backend with --with-coroutine=sigaltstack
v2: changed from enable/disable configure flags
Signed-off-by: Alex Barcelo <abarcelo@ac.upc.edu>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
i8254: Factor out base class for KVM reuse
Applying the concept used for the *PICs once again: establish a baseclass for the i8254 that can be used both by the current user spaceemulation and the upcoming KVM in-kernel version. We share most of thepublic interface of the i8254, specifically to the pcspk, vmstate, reset...
qemu-ga: add Windows service integration
This allows qemu-ga to function as a Windows service:
- to install the service (will auto-start on boot): qemu-ga --service install - to start the service: net start qemu-ga - to stop the service: net stop qemu-ga...
qemu-ga: add initial win32 support
This adds a win32 channel implementation that makes qemu-ga functionalon Windows using virtio-serial (unix-listen/isa-serial not currentlyimplemented). Unlike with the posix implementation, we do not useGIOChannel for the following reasons:...
qemu-ga: move channel/transport functionality into wrapper class
This is mostly in preparation for the win32 port, which won't useGIO channels for reasons that will be made clearer later. Here theGAChannel class is just a loose wrapper around GIOChannel...
qemu-ga: separate out common commands from posix-specific ones
Many of the current RPC implementations are very much POSIX-specificand require complete re-writes for Windows. There are however a smallset of core guest agent commands that are common to both, and other...
qemu-ga: rename guest-agent-commands.c -> commands-posix.c
qemu-ga: fixes for win32 build of qemu-ga
Various stubs and #ifdefs to compile for Windows using mingwcross-build. Still has 1 linker error due to a dependency on theforthcoming win32 versions of the GAChannel/transport class.
jazz-led: compile it only twice
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
qapi: add string-based visitors
String based visitors provide a consistent interface for parsingstrings to C values, as well as consuming C values as strings.They will be used to parse command-line options.
make: Remove duplicate use of GLIB_CFLAGS
Makefile, Makefile.hw, Makefile.target and libcacard/Makefileadded GLIB_CFLAGS to QEMU_CFLAGS.
Makefile.objs does this, too, and is included by all otherMakefiles, so GLIB_CFLAGS were added twice (reported by malc)....
qdev: split out UI portions into a new function
qdev-monitor.c deals with the -device, device_add, and info qdm/qtreeinterfaces.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
container: make a decendent of Object
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>---v1 -> v2 - Add license (Paolo)
qom: add the base Object class (v2)
This class provides the main building block for QEMU Object Model and isextensively documented in the header file. It is largely inspired by GObject.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>---v1 -> v2...
coroutine: add co_sleep_ns() coroutine sleep function
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block: add image streaming block job
vga: compile cirrus_vga in hwlib
Remove target dependencies and compile Cirrus VGA in hwlib.
Address masking can be removed since memory API handles that now.
Merge remote-tracking branch 'qemu-kvm/uq/master' into staging
prep: Add i82374 DMA emulation
Prepare Intel 82374 emulation for use by Intel 82378 PCI->ISA bridge.
Signed-off-by: Hervé Poussineau <hpoussin@reactos.org>
Confine to CONFIG_I82374. Add VMState.
Signed-off-by: Andreas Färber <andreas.faerber@web.de>Reviewed-by: Alexander Graf <agraf@suse.de>
prep: Add i82378 PCI-to-ISA bridge emulation
Prepare Intel 82378 emulation for use by PReP platforms.
Create ISA bus in this device (suggested by Markus).Rebase onto Memory API, mark memory ops as Little Endian....
i8259: Factor out base class for KVM reuse
Analogously to the APIC, we will reuse some parts of the user spacei8259 model for KVM. The base class provides a common device state, thevmstate, the property list, a reset core and some shared init bits.
This also introduces a common helper to instantiate a single i8259 chip...
xhci: Initial xHCI implementation
Based on the implementation from Hector Martin <hector@marcansoft.com>
Hectors's implementation completely sidestepped the qemu usb system andused libusb directly for usb device pass through. So I've ripped outthe libusb bits (or left them in disabled, as reference for further...
usb: add audio device model
This brings a usb audio device to qemu. Output only, fixed at16bit stereo @ 480000 Hz. Based on a patch fromH. Peter Anvin <hpa@linux.intel.com>
Usage: add '-device usb-audio' to your qemu command line.
Works sorta ok on a idle machine. Known issues:...
Merge remote-tracking branch 'aneesh/for-upstream' into staging
hw/9pfs: Add new proxy filesystem driver
Add new proxy filesystem driver to add root privilege to qemu process.It needs a helper process to be started by root user.
Following command line can be used to utilize proxy filesystem driver-virtfs proxy,id=<id>,mount_tag=<tag>,socket_fd=<socket-fd>...
hw/9pfs: Move pdu_marshal/unmarshal code to a seperate file
Move p9 marshaling/unmarshaling code to a separate file so thatproxy filesytem driver can use these calls. Also made marshalingcode generic to accept "struct iovec" instead of V9fsPDU.
Signed-off-by: M. Mohan Kumar <mohan@in.ibm.com>...
vmstate, memory: decouple vmstate from memory API
Currently creating a memory region automatically registers it forlive migration. This differs from other state (which is enumeratedin a VMStateDescription structure) and ties the live migration codeinto the memory core....
sheepdog: move coroutine send/recv function to generic code
Outside coroutines, avoid busy waiting on EAGAIN by temporarilymaking the socket blocking.
The API of qemu_recvv/qemu_sendv is slightly different fromdo_readv/do_writev because they do not handle coroutines. It...
qom: introduce root device
This is based on Jan's suggestion for how to do unique naming. The root deviceis the root of composition. All devices are reachable via child<> links fromthis device.
Makefile.objs: Remove libqemu_common.a from the comment
Remove libqemu_common.a from the comment.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Chen Wei-Ren <chenwj@iis.sinica.edu.tw>Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
hw/9pfs: Improve portability to older systems
handle fs driver require a set of newly added syscalls. Don'tCompile handle FS driver if those syscalls are not available.Instead of adding #ifdef for all those syscalls we check foropen by handle syscall. If that is available then rest of the...
Merge remote-tracking branch 'kwolf/for-anthony' into staging
Conflicts: block/vmdk.c
Merge remote-tracking branch 'aneesh/for-upstream-7' into staging
hw/9pfs: Add synthetic file system support using 9p
This patch create a synthetic file system with mount tagv_synth when -virtfs_synth command line option is specifiedin qemu. The synthetic file system can be mounted in guestusing 9p using the below command line...
iSCSI block driver
This provides built-in support for iSCSI to QEMU.
This has the advantage that the iSCSI devices need not be made visible to the host, which is useful if you have very many virtual machines and very many iscsi devices.It also has the benefit that non-root users of QEMU can access iSCSI devices across the network without requiring root privilege on the host....
tools: reorganize Makefile variables
- Add all dependencies of the block layer to block-obj-y, and all dependencies of QObject to qobject-obj-y
- Remove the block layer from tools-obj-y, add it to qemu-img, qemu-nbd, qemu-io
- Add qobject-obj-y and tools-obj-y wherever useful, remove duplicates...
main-loop: create main-loop.c
Merge remote-tracking branch 'aneesh/for-upstream-6' into staging
Conflicts: trace-events
i8259: Move to hw library
No target-specific bits remaining, let's move it over.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw: add OpenCores 10/100 Mbps Ethernet controller
This is OpenCores Ethernet MAC + subset of National SemiconductorsDP83838C PHY.OpenCores Ethernet MAC project: http://opencores.org/project,ethmac
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
hw/9pfs: Remove virtio-9p-debug.* infra to be replaced by Qemu Tracing.
Removing the existing debug infrastrucure as proposed to be replaced byQemu Tracing infrastructure.
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>Signed-off-by: Harsh Prateek Bora <harsh@linux.vnet.ibm.com>...
Merge remote-tracking branch 'qemu-kvm-tmp/memory/batch' into staging
Introduce PortioList
Add a type and methods for manipulating a list of disjoint I/O ports,used in some older hardware devices.
Based on original patch by Richard Henderson.
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Avi Kivity <avi@redhat.com>
PPC: Move openpic to target specific code compilation
The MPIC has some funny feature where it maps different registers to an MMIOregion depending which CPU accesses them.
To be able to reflect that, we need to make OpenPIC be compiled in the targetcode, so it can access cpu_single_env....
qapi: convert query-name
A simple example conversion 'info name'. This also adds the new files forQMP and HMP.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
qapi: use middle mode in QMP server
Use the new middle mode within the existing QMP server.
hw/9pfs: Add handle based fs driver
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
build: Move tracing objects into libuser on usermode emulation targets
This will apply libuser-specific compilation flags (like the ones added by--enable-user-pie), but keep softmmu emulation targets "as-is".
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>...
g364fb: compile in hwlib
Compile g364fb in hwlib. Two compilations less for the full build.
Acked-by: Hervé Poussineau <hpoussin@reactos.org>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
build: fix missing trace dep on GENERATED_HEADERS
fc764105 added an include for qemu-common.h to trace/control.h, whichmade all users of this header file dependent on GENERATED_HEADERS. Sinceit's used by pretty much all the trace backends now, make trace-obj-y...
trace: add "-trace events" argument to control initial state
The "-trace events" argument can be used to provide a file with a list of traceevent names that will be enabled prior to starting execution, thus providingearly tracing.
This saves the user from manually toggling event states through the monitor...
trace: [stderr] add support for dynamically enabling/disabling events
Uses the generic interface provided in "trace/control.h" in order to providea programmatic interface as well as command line and monitor controls.
Signed-off-by: Fabien Chouteau <chouteau@adacore.com>...
build: [simple] Include qemu-timer-common.o in trace-obj-y
Helper programs like qemu-ga use tracing primitives, but qemu-timer-common.o(also used by simpletrace.o) is not necessarily included in the linkage line.
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
trace: [make] replace 'ifeq' with values in CONFIG_TRACE_*
trace: move backend-specific code into the trace/ directory
trace: avoid conditional code compilation during option parsing
A default implementation for backend-specific routines is provided in"trace/default.c", which backends can override by setting "trace_default=no" in"configure".
Improvements to libtool support.
Improvements to the libtool support in QEMU. Replace hard codedlibtool in the infrastructure with $(LIBTOOL) and allowoverriding the libtool binary used via the configurescript.
Reviewed-by: Andreas F=E4rber <andreas.faerber@web.de>...
guest agent: remove uneeded dependencies
This patch tries to cull any uneeded library dependencies from the guestagent to improve portability across various distros. We do so by beingas explicit as possible about in-tree dependencies rather than relying...
Remove qemu_malloc/qemu_free
Make glib mandatory and fixup utils appropriately
hw/9pfs: Add yield support to lstat coroutine
hw/9pfs: Add yield support to xattr related coroutine
This include llistxattr and lgetxattr.
hw/9pfs: Add yield support for readdir related coroutines
This include readdir, telldir, seekdir, rewinddir.
hw/9pfs: Add yeild support for readlink
Signed-off-by: Venkateswararao Jujjuri (JV) <jvrao@linux.vnet.ibm.com>Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>