summaryrefslogtreecommitdiffstats
path: root/Makefile.objs
Commit message (Collapse)AuthorAgeFilesLines
* build: replace weak symbols with a static libraryPaolo Bonzini2012-11-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | Weak symbols were a nice idea, but they turned out not to be a good one. Toolchain support is just too sparse, in particular llvm-gcc is totally broken. This patch uses a surprisingly low-tech approach: a static library. Symbols in a static library are always overridden by symbols in an object file. Furthermore, if you place each function in a separate source file, object files for unused functions will not be taken in. This means that each function can use all the dependencies that it needs (especially QAPI stuff such as error_setg). Thus, all stubs are placed in separate object files and put together in a static library. The library then is linked to all programs. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Tested-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Tested-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* rng: add RndBackend abstract object classAnthony Liguori2012-11-161-0/+2
| | | | | | This is the backend used by devices that need to request entropy. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* pflib: unused, remove it.Gerd Hoffmann2012-11-051-1/+0Star
| | | | | | Replaced by pixman library. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* Merge remote-tracking branch 'kraxel/pixman.v3' into stagingAnthony Liguori2012-11-011-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * kraxel/pixman.v3: (22 commits) pixman: drop obsolete fields from DisplaySurface pixman/vnc: remove dead code. pixman/vnc: remove rgb_prepare_row* functions pixman/vnc: use pixman images in vnc. pixman: switch screendump function. vga: stop direct access to DisplaySurface fields. qxl: stop direct access to DisplaySurface fields. console: don't set PixelFormat alpha fields for 32bpp console: make qemu_alloc_display static pixman: add pixman image to DisplaySurface pixman: helper functions pixman: windup in configure & makefiles pixman: add submodule console: remove DisplayAllocator console: remove dpy_gfx_fill vga: fix text mode updating console: init displaychangelisteners on register console: untangle gfx & txt updates console: s/TextConsole/QemuConsole/ console: move set_mouse + cursor_define callbacks ... Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * pixman: helper functionsGerd Hoffmann2012-11-011-0/+1
| | | | | | | | | | | | | | Add some helper functions which will be put into use by following patches. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
* | raw-posix: move linux-aio.c to block/Paolo Bonzini2012-10-311-1/+0Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | raw: merge posix-aio-compat.c into block/raw-posix.cPaolo Bonzini2012-10-311-1/+0Star
| | | | | | | | | | | | | | Making the qemu_paiocb specific to raw devices will let us access members of the BDRVRawState arbitrarily. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | aio: add generic thread-pool facilityPaolo Bonzini2012-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a generic thread-pool. The code is roughly based on posix-aio-compat.c, with some changes, especially the following: - use QemuSemaphore instead of QemuCond; - separate the state of the thread from the return code of the worker function. The return code is totally opaque for the thread pool; - do not busy wait when doing cancellation. A more generic threadpool (but still specific to I/O so that in the future it can use special scheduling classes or PI mutexes) can have many uses: it allows more flexibility in raw-posix.c and can more easily be extended to Win32, and it will also be used to do an msync of the persistent bitmap. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | aio: add Win32 implementationPaolo Bonzini2012-10-301-3/+3
| | | | | | | | | | | | | | | | | | The Win32 implementation will only accept EventNotifiers, thus a few drivers are disabled under Windows. EventNotifiers are a good match for the GSource implementation, too, because the Win32 port of glib allows to place their HANDLEs in a GPollFD. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | aio: provide platform-independent APIPaolo Bonzini2012-10-301-2/+2
| | | | | | | | | | | | | | | | This adds to aio.c a platform-independent API based on EventNotifiers, that can be used by both POSIX and Win32. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | event_notifier: add Win32 implementationPaolo Bonzini2012-10-301-1/+2
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: do not include main loop where it is not actually usedPaolo Bonzini2012-10-301-3/+2Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move cutils.o and qemu-timer-common.o to oslib-obj-yPaolo Bonzini2012-10-301-3/+3
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | janitor: move iovector functions out of cutils.cPaolo Bonzini2012-10-301-2/+2
|/ | | | | | | This removes the dependency of cutils.c on iov.c, and lets us remove iov.o from several builds. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qmp: add NBD server commandsPaolo Bonzini2012-10-231-1/+1
| | | | | | | | | | Adding an NBD server inside QEMU is trivial, since all the logic is in nbd.c and can be shared easily between qemu-nbd and QEMU itself. The main difference is that qemu-nbd serves a single unnamed export, while QEMU serves named exports. Acked-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* block: add close notifiersPaolo Bonzini2012-10-231-2/+2
| | | | | | | | | | The first user of close notifiers will be the embedded NBD server. It would be possible to use them to do some of the ad hoc processing (e.g. for block jobs and I/O limits) that is currently done by bdrv_close. Acked-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* build: add QAPI files to the toolsPaolo Bonzini2012-10-231-1/+2
| | | | | | | We need them because qemu-sockets will soon be using SocketAddress. Acked-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Remove libhwStefan Weil2012-10-051-6/+3Star
| | | | | | | | | | The entries for libhw* are no longer needed in .gitignore. There is also no longer a difference between common-obj-y and hw-obj-y, so one of those two macros is sufficient. Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* block: move job APIs to separate filesPaolo Bonzini2012-09-281-2/+3
| | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* qemu: URI parsing libraryPaolo Bonzini2012-09-281-1/+1
| | | | | | | | | Add a new URI parsing library to QEMU. The code has been borrowed from libxml2 and libvirt. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
* Adding support for libseccomp in configure and Makefile (v8)Eduardo Otubo2012-08-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | 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, the script will check for its existence using pkg-config. Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> --- v1 -> v2: - As I removed all the code related to seccomp from vl.c, I created qemu-seccomp.[ch]. - Also making the configure script to add the specific line to Makefile.obj in order to compile with appropriate support to seccomp. v2 -> v3: - Removing the line from Makefile.obj and adding it to Makefile.objs. - Marking libseccomp default option to 'yes' in the configure script. v3 -> v8: - fix configure probe if libseccomp isn't available (aliguori)
* Merge remote-tracking branch 'qmp/queue/qmp' into stagingAnthony Liguori2012-08-131-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qmp/queue/qmp: (48 commits) target-ppc: add implementation of query-cpu-definitions (v2) target-i386: add implementation of query-cpu-definitions (v2) qapi: add query-cpu-definitions command (v2) compiler: add macro for GCC weak symbols qapi: add query-machines command qapi: mark QOM commands stable qmp: introduce device-list-properties command qmp: add SUSPEND_DISK event qmp: qmp-events.txt: add missing doc for the SUSPEND event qmp: qmp-events.txt: put events in alphabetical order qmp: emit the WAKEUP event when the guest is put to run qmp: don't emit the RESET event on wakeup from S3 scripts: qapi-commands.py: qmp-commands.h: include qdict.h docs: writing-qmp-commands.txt: update error section error, qerror: drop QDict member qerror: drop qerror_table and qerror_format() error, qerror: pass desc string to error calls error: drop error_get_qobject()/error_set_qobject() qemu-ga: switch to the new error format on the wire qmp: switch to the new error format on the wire ...
| * qemu-ga: switch to the new error format on the wireLuiz Capitulino2012-08-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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" } } } qemu-ga now returns: { "error": { "class": "GenericError", "desc": "Parameter 'mode' expects halt|powerdown|reboot" } } Notice that this is also a bug fix, as qemu-ga wasn't returning the human message. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com>
* | Add cache handling functionsOrit Wasserman2012-08-081-0/+1
|/ | | | | | | | | | | | | 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> Signed-off-by: Orit Wasserman <owasserm@redhat.com> Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
* Merge remote-tracking branch 'mjt/mjt-iov2' into stagingAnthony Liguori2012-07-091-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mjt/mjt-iov2: rewrite iov_send_recv() and move it to iov.c cleanup qemu_co_sendv(), qemu_co_recvv() and friends export iov_send_recv() and use it in iov_send() and iov_recv() rename qemu_sendv to iov_send, change proto and move declarations to iov.h change qemu_iovec_to_buf() to match other to,from_buf functions consolidate qemu_iovec_copy() and qemu_iovec_concat() and make them consistent allow qemu_iovec_from_buffer() to specify offset from which to start copying consolidate qemu_iovec_memset{,_skip}() into single function and use existing iov_memset() rewrite iov_* functions change iov_* function prototypes to be more appropriate virtio-serial-bus: use correct lengths in control_out() message Conflicts: tests/Makefile Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
| * consolidate qemu_iovec_memset{,_skip}() into single function and use ↵Michael Tokarev2012-06-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | existing iov_memset() This patch combines two functions into one, and replaces the implementation with already existing iov_memset() from iov.c. The new prototype of qemu_iovec_memset(): size_t qemu_iovec_memset(qiov, size_t offset, int fillc, size_t bytes) It is different from former qemu_iovec_memset_skip(), and I want to make other functions to be consistent with it too: first how much to skip, second what, and 3rd how many of it. It also returns actual number of bytes filled in, which may be less than the requested `bytes' if qiov is smaller than offset+bytes, in the same way iov_memset() does. While at it, use utility function iov_memset() from iov.h in posix-aio-compat.c, where qiov was used. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
* | qemu-log: move logging to qemu-log.cBlue Swirl2012-06-211-0/+1
| | | | | | | | | | | | | | Move logging functions from exec.c to qemu-log.c, compile it only once. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Revert "build: compile oslib-obj-y once"Blue Swirl2012-06-101-2/+1Star
| | | | | | | | | | | | | | This reverts commit 25f27a4f7160d077d6992e811021b4bc3a82abc1 because of bsd-user breakage. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | build: compile oslib-obj-y oncePaolo Bonzini2012-06-071-1/+2
| | | | | | | | | | | | | | | | There is no difference in oslib-obj-y between user-mode and system targets. There used to be when user-mode could optionally be compiled with PIE. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: libcacard Makefile cleanupsPaolo Bonzini2012-06-071-1/+7
| | | | | | | | | | | | Build vscclient from toplevel Makefile, limit usage of vpath. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: convert libhw to nested Makefile.objsPaolo Bonzini2012-06-071-141/+2Star
| | | | | | | | | | | | | | | | After this patch, the libhw* directories will have a hierarchy that mimics the source tree. This is useful because we do have a couple of files there that are in the top source directory. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move target-independent hw/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-35/+3Star
| | | | | | | | | | | | | | | | | | | | | | | | 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 same hierarchy in the build tree as they do in the source tree, for example hw/qdev.o instead of just qdev.o. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move qga/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-5/+2Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move qapi/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-4/+2Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move slirp/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-4/+1Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move audio/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-16/+2Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move ui/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-19/+2Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move fsdev/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-6/+5Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move net/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-16/+1Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move block/ objects to nested Makefile.objsPaolo Bonzini2012-06-071-14/+2Star
| | | | | | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: adapt qom/Makefile and move it to Makefile.objsPaolo Bonzini2012-06-071-6/+7
| | | | | | | | | | | | | | | | | | qom/ already used a separate makefile. Convert it to use relative paths, and make it declare both common-obj-y and user-obj-y. This way, the upper makefiles do not need to know that some QOM files are compiled twice. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: move rules for nesting to Makefile.objsPaolo Bonzini2012-06-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | At this point we will start adding nesting behavior to other files than Makefile.target. Because Makefile.objs is included by Makefile.target, it is simpler to move the processing of subdirectories there. To enable this, only add per-target files to obj-y. Use a separate variable for the linker dependencies, all-obj-y. This variable includes obj-y and also all objects that are taken from other directories. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* | build: remove trace-nested-yPaolo Bonzini2012-06-071-9/+4Star
|/ | | | Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Beautify makefile commands for generation of files with tracetoolLluís Vilanova2012-04-251-7/+15
| | | | | 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 modulesLluís Vilanova2012-04-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The tracetool script is written in shell and has hit several portability problems due to shell quirks or external tools across host platforms. Additionally the amount of string processing and lack of real data structures makes it tough to implement code generator backends for tracers that are more complex. This patch replaces the shell version of tracetool with a Python version. The new tracetool design is: scripts/tracetool.py - top-level script scripts/tracetool/backend/ - tracer backends live here (simple, ust) scripts/tracetool/format/ - output formats live here (.c, .h) There is common code for trace-events definition parsing so that backends can focus on generating code rather than parsing input. Support for all existing backends (nop, stderr, simple, ust, and dtrace) is added back in follow-up patches. [Commit description written by Stefan Hajnoczi] Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* Merge commit 'ff71f2e8cacefae99179993204172bc65e4303df' into stagingAnthony Liguori2012-04-101-1/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'ff71f2e8cacefae99179993204172bc65e4303df': (21 commits) rtl8139: do the network/host communication only in normal operating mode rtl8139: correctly check the opmode net: move compute_mcast_idx() to net.h rtl8139: support byte read to TxStatus registers rtl8139: remove unused marco rtl8139: limit transmission buffer size in c+ mode pci_regs: Add PCI_EXP_TYPE_PCIE_BRIDGE virtio-net: add DATA_VALID flag pci_bridge: upper 32 bit are long registers pci: fix bridge IO/BASE pcie: drop functionality moved to core pci: set memory type for memory behind the bridge pci: add standard bridge device slotid: add slot id capability shpc: standard hot plug controller pci_bridge: user-friendly default bus name pci: make another unused extern function static pci: don't export an internal function pci_regs: Fix value of PCI_EXP_TYPE_RC_EC. pci: Do not check if a bus exist in pci_parse_devaddr. ...
| * pci: add standard bridge deviceMichael S. Tsirkin2012-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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 and even hotplug of nested bridges, up to 31 devices per bridge. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
| * slotid: add slot id capabilityMichael S. Tsirkin2012-03-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | This capability makes it possible for the guest to report a unique chassis identifier to the user. The spec also recommends making chassis indentifier persist in eeprom. This isn't implemented. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
| * shpc: standard hot plug controllerMichael S. Tsirkin2012-03-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for SHPC interface, as defined by PCI Standard Hot-Plug Controller and Subsystem Specification, Rev 1.0 http://www.pcisig.com/specifications/conventional/pci_hot_plug/SHPC_10 Only SHPC intergrated with a PCI-to-PCI bridge is supported, SHPC integrated with a host bridge would need more work. All main SHPC features are supported: - MRL sensor - Attention button - Attention indicator - Power indicator Wake on hotplug and serr generation are stubbed out but unused as we don't have interfaces to generate these events ATM. One issue that isn't completely resolved is that qemu currently expects an "eject" interface, which SHPC does not provide: it merely removes the power to device and it's up to the user to remove the device from slot. This patch works around that by ejecting the device when power is removed and power LED goes off. Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
* | target-lm32: add simple disassemblerMichael Walle2012-04-011-0/+1
| | | | | | | | | | | | | | Because binutils disassembler is based on libopcode, this is a rewrite from scratch. Signed-off-by: Michael Walle <michael@walle.cc>