History | View | Annotate | Download (132.1 kB)
modules: do not include gmodule-2.0 in static builds
gmodule-2.0's pkg-config files include -Wl,--export-dynamic, which breaksstatic builds. It is a glib bug, but we need to support --static builds forthe linux-user targets, and in the end all that is needed to fix this is:...
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block patches
Merge remote-tracking branch 'remotes/bonzini/configure' into staging
configure: check that C++ compiler actually works
Check that the C++ compiler works with the C compiler; if itdoes not, then don't pass CXX to the build process. Thisfixes a regression where QEMU was no longer building if thebuild environment didn't have a C++ compiler (introduced...
quorum: Add quorum mechanism.
This patchset enables the core of the quorum mechanism.The num_children reads are compared to get the majority version and if thisversion exists more than threshold times the guest won't see the error at all.
If a block is corrupted or if an error occurs during an IO or if the quorum...
Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging
Tracing pull request
tcg/i386: Fix build for systems without working cpuid.h (MacOSX, Win32)
Win32 doesn't have a cpuid.h, and MacOSX may have one but withoutthe __cpuid() function we use, which means that commit 9d2eec20broke the build for those platforms. Fix this by tightening up...
rules.mak: introduce DSO rules
Add necessary rules and flags for shared object generation.The new rules introduced here are:
1) %.o in $(common-obj-m) is compiled to %.o, then linked to %.so.
2) %.mo in $(common-obj-m) is the placeholder for %.so for pattern...
module: implement module loading
This patch adds loading, stamp checking and initialization of modules.
The init function of dynamic module is no longer directly called asattribute((constructor)) in static linked version, it is calledonly after passed the checking of presense of stamp symbol:...
block: convert block drivers linked with libs to modules
The converted block drivers are:
curl iscsi rbd ssh glusterfs
Signed-off-by: Fam Zheng <famz@redhat.com>Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
configure: Disable libtool if -fPIE does not work with it (bug #1257099)
Adjust TMPO and added TMPB, TMPL, and TMPA. libtool needs the namesto be fixed (TMPB).
Add new functions do_libtool and libtool_prog.
Add check for broken gcc and libtool.
Signed-off-by: Don Slutz <dslutz@verizon.com>...
rules.mak: fix $(obj) to a real relative path
Makefile.target includes rule.mak and unnested common-obj-y, then prefixthem with '../', this will ignore object specific QEMU_CFLAGS in subdirMakefile.objs:
$(obj)/curl.o: QEMU_CFLAGS += $(CURL_CFLAGS)...
block: use per-object cflags and libs
No longer adds flags and libs for them to global variables, insteadcreate config-host.mak variables like FOO_CFLAGS and FOO_LIBS, which isused as per object cflags and libs.
This removes unwanted dependencies from libcacard....
darwin: do not use -mdynamic-no-pic
While -mdynamic-no-pic can speed up the code somewhat, it is only usedon the legacy PowerPC Mac OS X, and I am not sure if anyone is stilltesting that. Disabling PIC can cause problems when enabling modules,so do not do that....
Fix configure script for LTTng 2.x
Signed-off-by: Mohamad Gebai <mohamad.gebai@polymtl.ca>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Fix QEMU build on OpenBSD on x86 archs
This resolves the build issue with building the ROMs on OpenBSD on x86 archs.As of OpenBSD 5.3 the compiler builds PIE binaries by default and thus thewhole OS/packages and so forth. The ROMs need to have PIE disabled....
configure: add hint of libfdt to DTC dependency not found message
Most distros package it as libfdt, and mentioning libfdt here makes itmuch easier to find the package you're missing.
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>Reviewed-by: Stefan Weil <sw@weilnetz.de>...
configure: add hints to a remedy for feature_not_found errors
Modify feature_not_found to accept an optional second parameter to beprinted after the generic feature not found error.
Modify most calls to feature_not_found to provide hints as to thepackages that may be missing. The few calls remaining without a remedy...
Merge remote-tracking branch 'remotes/kevin/tags/for-anthony' into staging
block: add native support for NFS
This patch adds native support for accessing images on NFSshares without the requirement to actually mount the entireNFS share on the host.
NFS Images can simply be specified by an url of the form:nfs://<host>/<export>/<filename>[?param=value[¶m2=value2[&...]]]...
disas: Implement disassembly output for A64
Use libvixl to implement disassembly output in debuglogs for A64, for use with both AArch64 hosts and targets.
Signed-off-by: Claudio Fontana <claudio.fontana@linaro.org>[PMM: * added support for target disassembly...
configure: added acpi unit-test files
Ensure configure will set-up links for the filesif the build is created in other directory.
Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
gluster: Implement .bdrv_co_write_zeroes for gluster
Support .bdrv_co_write_zeroes() from gluster driver by using GlusterFS APIglfs_zerofill() that off-loads the writing of zeroes to GlusterFS server.
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>...
Merge remote-tracking branch 'stefanha/block' into staging
configure: Rewrite code for help message
In the new form most lines of the code now look like the final output:there is no leading echo command and the lines are shorter.
The resulting output is nearly identical: the only difference is a blankcharacter which was deliberately removed:...
configure: Python tests must be done before help message
The help message uses $python and displays its value, so that macroshould be tested and set early.
With this modification, configure --help displays the correct value(usually python -B) and no longer creates several *.pyc files....
block/iscsi: Fix compilation for libiscsi 1.4.0 (API change)
Function iscsi_read10_task got additional parameters starting with versionlibiscsi 1.5.0.
libiscsi 1.4.0 is still widely used (Debian wheezy, jessie and other Linuxdistributions currently provide packages for QEMU which use it), so we...
target-arm: Support fp registers in gdb stub
Register the aarch64-fpu XML and implement the necessaryread/write handlers so we can support reading and writingof FP registers in the gdb stub.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Richard Henderson <rth@twiddle.net>
configure: Enable KVM for aarch64 host/target combination
Enable KVM if the host and target CPU are both aarch64. Notethat host aarch64 + target arm is not valid for KVM acceleration:the 64 bit kernel does not support the ioctl interface for32 bit CPUs. 32 bit VMs on 64 bit hosts need to be created...
Merge remote-tracking branch 'bonzini/scsi-next' into staging
net: Adding netmap network backend
This patch adds support for a network backend based on netmap.netmap is a framework for high speed packet I/O. You can use itto build extremely fast traffic generators, monitors, softwareswitches or network middleboxes. Its companion software switch...
block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk}
this converts read, write and flush functions from aio to coroutineseliminating almost 200 lines of code.
The requirement for libiscsi is bumped to version 1.4.0 which wasreleased in may 2012....
Merge remote-tracking branch 'mst/tags/for_anthony' into staging
pc very last minute fixes for 1.7
This has a fix for a crasher bug with pci bridges,boot failure fix for s390 on 32 bit hosts,and fixes build for hosts with old glib.
There's also a fix for --iasl configure flag - it can be used...
configure: make --iasl option actually work
--iasl option was added to CC option parsing section by mistake,it's not effective there and attempts to use causean 'unknown option' error.
Fix this up.
Tested-by: Marcel Apfelbaum <marcel.a@redhat.com>Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
configure: Explicitly set ARFLAGS so we can build with GNU Make 4.0
Our rules.mak adds '-rR' to MAKEFLAGS to indicate that we will beexplicitly specifying everything and not relying on any defaultvariables or rules. However we were accidentally relying on the...
Merge remote-tracking branch 'mjt/trivial-patches' into staging
configure: Use -B switch only for Python versions which support it
Commit 1d984a67a95d88f3e708b077dab8adeb47c38c93 added the -B switchunconditionally. This breaks Python versions before 2.6 which don'tsupport that switch.
Now configure adds -B only if it is accepted by the Python interpreter....
block: vhdx - add header update capability.
This adds the ability to update the headers in a VHDX image, includinggenerating a new MS-compatible GUID.
As VHDX depends on uuid.h, VHDX is now a configurable build option. IfVHDX support is enabled, that will also enable uuid as well. The...
configure: Add config.status to recreate the current configuration
The latest configure invocation was saved in config-host.mak and couldbe extracted from that file to recreate the configuration.
Now it is saved in a new file config.status which can be directly executed...
configure: detect endian via compile test
This avoids needing to execute a program and keeping an (incomplete)list when cross-compiling.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>Reviewed-by: Richard Henderson <rth@twiddle.net>Tested-by: James Hogan <james.hogan@imgtec.com> [mips]...
pci, pc, acpi fixes, enhancements
This includes some pretty big changes:- pci master abort support by Marcel- pci IRQ API rework by Marcel- acpi generation support by myself
Everything has gone through several revisions, latest versions have been on...
configure: create fsdev/ directory
In some cases when building with parallelism (make -jN),build fails because the directory where output files aresupposed to be does not exist. In particular, when makedecides to build virtfs-proxy-helper.1 before other files...
acpi: add rules to compile ASL source
Detect presence of IASL compiler and use itto process ASL source. If not there, use pre-compiledfiles in-tree. Add script to update the in-tree files.
Note: distros are known to silently update iaslso detect correct iasl flags for the installed version on each run as...
configure: Remove CONFIG_QEMU_LDST_OPTIMIZATION
No longer used.
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg-hppa: Remove tcg backend
Merge remote-tracking branch 'rth/tcg-ppc-pull' into staging
Merge remote-tracking branch 'kraxel/audio.1' into staging
tcg-ppc64: Implement CONFIG_QEMU_LDST_OPTIMIZATION
configure: Allow command-line configure for ppc32
Similar to manually selecting i386 for an x86_64 host.
audio: remove CONFIG_MIXEMU configure option
Signed-off-by: Bandan Das <bsd@redhat.com>Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
configure: Undefine _FORTIFY_SOURCE prior using it
Currently, we are enforcing the _FORTIFY_SOURCE=2 without anyprevious detection if the macro has been already defined, e.g.by environment, or is just enabled by compiler by default.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>...
usb: remove old usb-host code
The usb-host code has been rewritten for qemu 1.5 to use libusb,the old code has been left in as temporary fallback. Now we aretwo releases further out, targeting the 1.7 release. No majorissues with the new code poped up until now. Time to remove it...
coroutine: add ./configure --disable-coroutine-pool
The 'gthread' coroutine backend was written before the freelist (akapool) existed in qemu-coroutine.c.
This means that every thread is expected to exit when its coroutineterminates. It is not possible to reuse threads from a pool....
qemu-iotests: add unix socket help program
This program can do a sendmsg call to transfer fd with unixsocket, which is not supported in python2.
The built binary will not be deleted in clean, but it is aexisting issue in ./tests, which should be solved in another...
Merge remote-tracking branch 'pmaydell/tags/pull-target-arm-20130910' into staging
ARM queue: * aarch64 preparation patchset (excluding the defconfigs, so this doesn't actually enable the new targets yet) * minor bugfixes and cleanups * disable "-cpu any" in system emulation mode...
configure: Add handling code for AArch64 targets
Add the necessary code to configure to handle AArch64 as a targetCPU (we already have some code for supporting it as host). Notethat this doesn't enable the AArch64 targets yet.
Signed-off-by: Alexander Graf <agraf@suse.de>...
qemu-ga: Add Windows VSS provider and requester as DLL
Adds VSS provider and requester as a qga-vss.dll, which is loaded byWindows VSS service as well as by qemu-ga.
"provider.cpp" implements a basic stub of a software VSS provider.Currently, this module only relays a frozen event from VSS service to the...
configure: Support configuring C++ compiler
Add configuration for C++ compiler in configure and Makefiles.The C++ compiler is choosed as following: - ${CXX}, if it is specified. - ${cross_prefix}g++, if ${cross_prefix} is specified. - Otherwise, c++ is used....
qemu-ga: Add configure options to specify path to Windows/VSS SDK
To enable VSS support in qemu-ga for Windows, header files included inVSS SDK are required.The VSS support is enabled by the configure option like below: ./configure --with-vss-sdk="/path/to/VSS SDK"...
configure: Allow x32 as a host
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>Signed-off-by: Richard Henderson <rth@twiddle.net>
configure: Remove unneeded redirections of stderr (pkg-config --exists)
Predicate options (--exists, --atleast-version, ...) of pkg-config dont'tprint error messages to stderr, so redirecting stderr is not necessary.
Combining a predicate option with --modversion is not necessary for tests....
configure: Remove unneeded redirections of stderr (pkg-config --cflags, --libs)
For existing libraries, pkg-config --cflags and pkg-config --libs won'tprint error messages to stderr, so redirecting stderr is not necessary.
Signed-off-by: Stefan Weil <sw@weilnetz.de>...
configure: Don't write .pyc files by default (python -B)
When a Python script is run, Python normally writes bytecode into a .pyc file.QEMU's build process uses several Python scripts which are called fromconfigure or make.
The generated .pyc files take disk space without being of much use, because...
configure: disable clang -Wstring-plus-int warning
Some versions of clang will warn about adding integers to strings:
disas/i386.c:4753:23: error: adding 'char' to a string does not append to the string [-Werror,-Wstring-plus-int] oappend ("%es:" + intel_syntax);...
aio / timers: Add prctl(PR_SET_TIMERSLACK, 1, ...) to reduce timer slack
Where supported, called prctl(PR_SET_TIMERSLACK, 1, ...) toset one nanosecond timer slack to increase precision of timercalls.
Signed-off-by: Alex Bligh <alex@alex.org.uk>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
aio / timers: add ppoll support with qemu_poll_ns
Add qemu_poll_ns which works like g_poll but takes a nanosecondtimeout.
Merge remote-tracking branch 'filippov/tags/20130729-xtensa' into staging
xtensa queue 2013-07-29
qemu-ga: build it even if !system
Move qemu-ga build check out of if softmmu.. into its own section.We want to build qemu-ga for guest even if system build isn'tdone. It is controlled separately using --enable-guest-agent.Additionally, give error message if guest agent is requested but...
tests: QAPI schema parser tests
The parser handles erroneous input badly. To be improved shortly.
Signed-off-by: Markus Armbruster <armbru@redhat.com>Message-id: 1374939721-7876-2-git-send-email-armbru@redhat.comSigned-off-by: Anthony Liguori <aliguori@us.ibm.com>
tests/tcg/xtensa: Fix out-of-tree build
Signed-off-by: Andreas Färber <afaerber@suse.de>Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
seccomp: no need to check arch in syscall whitelist
v2 update:- set libseccomp 2.1.0 as requirement on configure script.
Since libseccomp 2.0 there's no need to check the architecture typeanymore.
Signed-off-by: Eduardo Otubo <otubo@linux.vnet.ibm.com>...
Merge remote-tracking branch 'rth/tcg-next' into staging
Merge remote-tracking branch 'riku/linux-user-for-upstream' into staging
rdma: core logic
Code that does need to be visible is keptwell contained inside this file and this is the onlynew additional file to the entire patch.
This file includes the entire protocol and interfacesrequired to perform RDMA migration.
Also, the configure and Makefile modifications to link...
configure: Make NPTL non-optional
Now all linux-user targets support building with NPTL, we can make itmandatory. This is a good idea because: * NPTL is no longer new and experimental; it is completely standard * in practice, linux-user without NPTL is nearly useless for...
linux-user: Enable NPTL for x86-64
Add x86-64 implementation of cpu_set_tls() (like the kernel, wejust have to call do_arch_prctl() to set FS); this allows us toenable NPTL.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
linux-user: Add i386 TLS setter
We can easily set the TLS on i386. Add code to do so.
Signed-off-by: Alexander Graf <agraf@suse.de>[PMM: also remove "target_nptl=no" line from configure, for consistency with other patches in this series]Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
linux-user: Enable NPTL for m68k
For m68k, per-thread data is a purely kernel construct with noCPU level support. Implement it via a field in the TaskState structure,used by cpu_set_tls() and the set_thread_area/get_thread_areasyscalls. This allows us to enable compilation with NPTL....
linux-user: Enable NPTL for SPARC targets
Provide the missing cpu_set_tls(), and resolve the FIXME incpu_clone_regs() by clearing the carry flag for the child.This allows us to turn on building with NPTL for SPARC.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>...
linux-user: Enable NPTL for OpenRISC
The OpenRISC kernel ignores CLONE_SETTLS in its copy_thread()implementation, so a cpu_set_tls() implementation is a no-op.cpu_clone_regs() was setting the syscall return value in thewrong register -- it is gpr11, not gpr2. With these two...
configure: Enable threading for unicore32-linux-user
unicore32-linux-user provides cpu_set_tls(), so the failureto enable target_nptl was presumably an oversight. Enable it.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>Reviewed-by: Richard Henderson <rth@twiddle.net>...
configure: Enable threading on all ppc and mips linux-user targets
Though threading (target_nptl) was enabled on the base PPC and MIPStargets, it wasn't enabled for the variants mipsn32, mipsn32el,mips64, mips64el, ppc64 or ppc46abi32 (probably an oversight)....
configure: Don't say target_nptl="no" if there is no linux-user target
For architectures with no linux-user target, don't claim no NPTLsupport. This has no behavioural change, but it means that wewon't accidentally add a new linux-user target without threading...
configure: Flip default of target_nptl
Most targets either (a) support threading or (b) don't have alinux-user/bsd-user target, so make it default to 'yes', with thosetargets that don't support threading having to specifically say so.
This is a mechanical no-behaviour-change commit; some of the...
gluster: Use pkg-config to configure GlusterFS block driver
Use pkg-config to determine the version and library dependencyfor GlusterFS block driver.
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
gluster: Add discard support for GlusterFS block driver.
Implement bdrv_aio_discard for gluster.
Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>Reviewed-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
configure: Provide more helpful message if libvte not present
If the system has GTK but not libvte, it's more helpful totell the user that libvte is missing than to simply say thatGTK is not present.
Merge git://github.com/hw-claudio/qemu-aarch64-queue into tcg-next
tcg/aarch64: Implement tlb lookup fast path
Supports CONFIG_QEMU_LDST_OPTIMIZATION
Signed-off-by: Jani Kokkonen <jani.kokkonen@huawei.com>Reviewed-by: Richard Henderson <rth@twiddle.net>Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com>
configure: Simplify alternate .text segment
For bsd-user and linux-user emulation modes QEMU needs to be linked at analternate .text segment address, so that it's out of the way of the guestexecutable. Instead of including modified linker scripts for each arch,...
configure: Add signed*signed check to [u]int128_t test
clang 3.3 with -fsanitize=undefined will fail to link code containing anint128_t * int128_t multiply (http://llvm.org/bugs/show_bug.cgi?id=16404)so add this to our configure test for whether [u]int128_t are usable....
configure: Fix "ERROR: ERROR: " for missing/incompatible DTC
error_exit already prepends "ERROR: ", so no need to print it manually.
Signed-off-by: Andreas Färber <afaerber@suse.de>Reviewed-by: Peter Maydell <peter.maydell@linaro.org>Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
configure: Require libfdt for arm, ppc, microblaze softmmu targets
A number of our softmmu targets (PPC, ARM, Microblaze) now more orless require flattened device tree support for various board modelsto work correctly. Make libfdt mandatory if the target list includes...
build: drop TARGET_TYPE
Just use the TARGET_NAME free string.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Reviewed-by: Eric Blake <eblake@redhat.com>Message-id: 1370349928-20419-6-git-send-email-pbonzini@redhat.comSigned-off-by: Peter Maydell <peter.maydell@linaro.org>
configure: dtc: Probe for libfdt_env.h
Currently QEMU provides a local clone of the file libfdt_env.h in/include. This file is supposed to come with the libfdt package and isonly needed for broken installs of libfdt. Now that we have submoduledtc, just ignore these broken installs and prompt for the dtc submodule...
main: use TARGET_ARCH only for the target-specific #define
Everything else needs to match the executable name, which isTARGET_NAME.
Before: $ sh4eb-linux-user/qemu-sh4eb --help usage: qemu-sh4 [options] program [arguments...] Linux CPU emulator (compiled for sh4 emulation)...