History | View | Annotate | Download (70.5 kB)
Fix cross compilation
This patch enhances the algorithm which finds the correct settings for SDL.For cross compilations (when cross_prefix is set), it looks for sdl-configwith cross prefix. Here is the complete search order:
$(cross_prefix}pkg-config (old, only used for cross compilation)...
Avoid libaio for usermode
Linux AIO is aonly used by system emulation, so should not be linked intothe userspace emulatior.
Signed-off-by: Paul Brook <paul@codesourcery.com>
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....
target-alpha: Enable NPTL.
Signed-off-by: Richard Henderson <rth@twiddle.net>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
linux-user: Remove ELFLOAD32.
The ABI-specific types used by linux_binprm and image_infoare different after forcing TARGET_ABI32 on. Which meansthat the parameters that load_elf_binary_multi sees are notthose that loader_exec passed. This is inherently broken...
Use correct cflags for kvm-kmod when cross compiling
Using $pkgconfig instead of pkg-config will use${cross_prefix}pkg-config if that is available.
This fix is needed for cross compilations withoutmodified PATH. Without the fix, PATH must be modifiedto find the cross pkg-config before the native...
tcg-hppa: Finish the port.
Delete inline functions from tcg-target.h that don't need to be there,move the others to tcg-target.c. Add 'Z', 'I', 'J' constraints for0, signed 11-bit, and signed 5-bit respectively. Add GUEST_BASE supportsimilar to ppc64, with the value stored in a register. Add missing...
Split TLB addend and target_phys_addr_t
Historically the qemu tlb "addend" field was used for both RAM and IO accesses,so needed to be able to hold both host addresses (unsigned long) and guestphysical addresses (target_phys_addr_t). However since the introduction of...
ia64 disas support
Taken from binutils SVN, using last GPLv2 version.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
tcg: initial ia64 support
vhost: vhost net support
This adds vhost net device support in qemu. Will be tied to tap deviceand virtio by following patches. Raw backend is currently missing,will be worked on/submitted separately.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>...
Get bsd-user host page protection code working on FreeBSD hosts
Use kinfo_getvmmap(3) on FeeBSD >= 7.x and /compat/linux/proc on olderFreeBSD. (kinfo_getvmmap is preferred since /compat/linux/proc isusually only mounted on hosts also using the Linuxolator.)...
tcg-mips: add guest base support
linux-user: add inotify_init1 syscall support
New syscall which gets actively used when you have afresh kernel.
Signed-off-by: Riku Voipio <riku.voipio@nokia.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Compile most IDE devices only once
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Compile disassemblers only once
configure: fix --sysconfdir specification
--sysconfdir requires a parameter (the path), this should be reflectedin the case pattern.
Reported-by: Frank Arnold <frank.arnold@amd.com>Signed-off-by: Andre Przywara <andre.przywara@amd.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Remove userspace target_phys_addr_t
TARGET_PHYS_ADDR_BITS isn't meaningful for userspace emulation, so don'tdefine it.
configure: Fix wrong stderr redirection
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
configure: Fix code which creates config.mak files
These files are created by configure and growunnecessarily at each new call of configure:
roms/seabios/config.makroms/vgabios/config.maklibhw32/config.maklibhw64/config.mak
libhw32/config.mak and libhw64/config.mak set...
Documentation: Modify rule for html output (better looking output format)
To create html output from texi input, texi2html was used.Output from makeinfo looks cleaner, so replace the old ruleand use makeinfo now.
For those who want to use their own variant of html output,...
mingw32: Enable C99/POSIX format strings
Starting with mingw32-runtime 3.15, C99/POSIXformat strings (%zu, %lld, ...) are supportedby defining __USE_MINGW_ANSI_STDIO=1.
As QEMU uses such format strings, unconditionallydefine this macro. It won't hurt on older revisions...
Monitor: Debugging support
Add configure options (--enable-debug-mon and --disable-debug-mon)plus the MON_DEBUG() macro.
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
configure: fix the static compilation for sdl
The static compilation for sdl is broken after79427693174a553d62f3da44aacd3f19ba8df3a7.
Signed-off-by: TeLeMan <geleman@gmail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
configure: Add --enable-docs and --disable-docs to --help
This patch adds the documentation-related options "--enable-docs" and"--disable-docs" to the help message of "configure".
Signed-off-by: Dirk Ullrich <dirk.ullrich@googlemail.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Add -static earlier to LDFLAGS for compile_prog()
Add -static to LDFLAGS earlier as to run the compile_prog() tests withthis flags, this will avoid turning on features for which a sharedlibrary is available but not a static one.
Signed-off-by: Loïc Minier <lool@dooz.org>...
configure: remove debugging code introduced in aa527b65d8187b97d73f889b6cae7b6ac6f82d32
configure: fix compilation on hosts without -fstack-protector-all
Commit a0f291fc101a7ab3e40850a329da2cc2f2cd1f2d has enabled-fstack-protector-all on all targets, as the configure test is bogus.GCC only emits a warning and not an error if this option is not...
Solaris: test for presence of commands with has()
Signed-off-by: Loïc Minier <lool@dooz.org>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Add and use has() and path_of() funcs
Add has() and path_of() funcs and use them across configure; has()will test whether a command or builtin is available; path_of() willsearch the PATH for executables and return the full pathname if found.
Signed-off-by: Loïc Minier <lool@dooz.org...
Check for sdl-config before calling it
Check whether sdl-config is available before calling it, otherwise./configure triggers a warning: ./configure: 957: sdl-config: not found
If neither the .pc file not sdl-config are present, disable SDL support....
Enable _FORTIFY_SOURCE=2
_FORTIFY_SOURCE is a Glibc feature which adds memory and string functionprotection.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Check availavility of -fstack-protector-all
Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Support --sysconfdir in configure to specify path to configuration files
The default value is ${prefix}/etc/qemu. --sysconfdir can be used to overridethe default to an absolute path. The expectation is that when installed to/usr, --sysconfdir=/etc/qemu will be used....
use cross-prefix for pkgconfig
Since pkgconfig can give different output for different targets,it should be tried with the cross-compilation prefix first.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
fixes to the static compilation case for sdl
After the next commit, pkg-config could be used for the shared libraryconfiguration case and sdl-config for static libraries. So I preparethe test here by doing two changes:
at the same time I remove useless backslashes from the invocation of...
use pkg-config for sdl whenever available
Together with the first patch this enables using the prefixedpkg-config, thus picking up the correct flags for SDL.
use pkg-config for libcurl whenever available
kvm: Use kvm-kmod headers if available
Since kvm-kmod-2.6.32.2 we have an alternative source for recent KVMkernel headers. Use it when available and not overruled by --kerneldir.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
kvm: Detect availability of kvm_para.h
Will be required for upcoming KVM cpuid leaf. Host kernels >= 2.6.32 aswell as future kvm-kmod releases (more recent than kvm-kmod-2.6.32.3)do/will provide them.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>...
finish VPATH -> vpath translation
This adds a few more vpath suffixes and points the remaining two pathsexplicitly to $(SRC_PATH) in order to eliminate the VPATH assignmentfrom config-host.mak.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>Cc: Juan Quintela <quintela@redhat.com>...
Drop --whole-archive and static libraries
Juan has contributed a cool Makefile infrastructure that enables us to dropstatic libraries completely:
Move shared obj-y definitions to Makefile.objs, prefixed {common-,hw-,user-},and link those object files directly into the executables....
Compile qemu-nbd also on OpenBSD and Solaris
basename() needs #include <libgen.h>.
No prototype for daemon() is available on Solaris, but linksucceeds.
user_only: compile everything with -fpie
We really need compile all sources for user target with -fpie whenuse --enable-user-pie.
It's regression introduced by commit add16157d72454.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>Cc: Blue Swirl <blauwirbel@gmail.com>...
target-alpha: Enable softfloat.
Do not abort on qemu_malloc(0) in production builds
qemu_malloc() does not allow size=0 to be passed in and aborts on this behavior.
Unfortunately, there is good reason to believe that within qemu, there are anumber of, so far, undetected places that assume size=0 can be safely passed....
Add KVM support for S390x
S390x was one of the first platforms that received support for KVM back in theday. Unfortunately until now there hasn't been a qemu implementation that wouldenable users to actually run guests.
So let's include support for KVM S390x in qemu!...
S/390 host/target build system support
This patch makes configure aware of S390 hosts and guests. When not explicitlydefined using --target-list= no S390 targets will be built though.
Signed-off-by: Alexander Graf <agraf@suse.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Suppress optionrom build on Solaris x86
To avoid the build failing with:
gcc Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fnobuiltin -I/export/home/andreas/QEMU/qemu -Wall -Wstrict-prototypes -Werror -fomit-frame-pointer -fno-builtin -I/export/home/andreas/QEMU/...
Don't leak file descriptors
We're leaking file descriptors to child processes. Set FD_CLOEXEC on filedescriptors that don't need to be passed to children to stop this misbehaviour.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
configure: use correct cflags in compiler checks
linux-user build on fedora 11 breaks because fallocateis broken on that system if -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64are specified, which is what QEMU uses.
We do have a configure check to catch this and disable fallocate,...
tcg: initial mips support
Based on a patch from Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>
Add support for GNU/kFreeBSD
Makefile dependencies for device configs
Add makefile dependencies for target specific device configs.These will copy the default config if none exists, obsoleting the oldconfigure time code. If a config already exists but is older than thedefault then print a warning....
configure: Fix spelling in comment and rework the comment
Signed-off-by: Stefan Weil <weil@mail.berlios.de>...
qemu-io: build on all platforms
Since c32d766af127f68bb75ba5689f2f5239227bf559, qemu-io should beportable. It is currently built only on linux and mingw32.
This patch enables qemu-io on all platforms. Tested on FreeBSD.
audio: link with -lpulse in addition to -lpulse-simple
Link with -lpulse in addition to -lpulse-simple, needed when --no-add-neededis passed to the linker (gold default).
Fix typo
Prevent configuring for a user emulator on a different type of OS
Add a unit test for JSON support
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Cleanup configure checks for dup3 and fallocate
We have a function for this which does not issue annoying warnings.
Add unit test for QFloat
Configurable block format whitelist
We have code for a quite a few block formats. While I trust that allof these formats are useful at least for some people in somecircumstances, some of them are of a kind that friends don't letfriends use in production....
Fix the build when srcdir objdir
You would only see this error on a fresh clone when srcdir objdir. configurewill fail because roms/pcbios doesn't exist.
git submodule integration doesn't cleanup very well when switching betweenbranches so you'll get an roms/pcbios directory from normal operations if you...
build: add CONFIG_LINUX
So I can add a tap-linux.c and use CONFIG_LINUX to pull it inin Makefile
Signed-off-by: Mark McLoughlin <markmc@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
net: move net-queue.[ch] under net/
[v2: handle building in a separate dir]
Merge commit 'linux-user/linux-user-for-upstream' into staging
Suppress warnings about 'warn_unused_result' attribute directive
implementations of dup3 and fallocate that are good enough to fool LTP
updated fallocate check to new configure, added dup3 check as suggestedby Jan-Simon Möller.
Riku: updated to apply to current git.
Signed-off-by: Ulrich Hecht <uli@suse.de>Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
configure: clean temporary executable files even on Windows
Signed-off-by: malc <av1474@comtv.ru>
Fix bswap in comment
Replace bsawp -> bswap.
Signed-off-by: Stefan Weil <weil@mail.berlios.de>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Move dependency generation falgs out of configure
configure: clean up temporary dependency files
Windows Waveform Audio driver (no ADC support yet)
Introduce QList unit-tests
This suite contains tests to assure that QList API works as expected.
To execute it you should have check installed and build QEMU withcheck support enabled (--enable-check-utests) and then run:
$ ./check-qlist
Patchworks-ID: 35333...
Generate gdbstub-xml.c only when needed
First user of new config-devices.mak
Patchworks-ID: 35198Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Add new config-devices.mak for each target
We generate config-devices.h from there automatically.We need to do it in main Makefile, because we are going to need a mainMakefile for them.
Patchworks-ID: 35196Signed-off-by: Juan Quintela <quintela@redhat.com>...
Move generation of config-target.h to Makefile from configure
Patchworks-ID: 35194Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Move generation of config-host.h to Makefile from configure
Use timestamp based appreach to avoid not needed recompilation.Add it to rules.mak
Many thanks to Paolo Bonzini for helpding the design, and the debug.
Patchworks-ID: 35190Signed-off-by: Juan Quintela <quintela@redhat.com>...
Rename config.{h, mak} config-target.{h, mak}
Add config.h file that includes config-target.h and config-host.h
Patchworks-ID: 35193Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Don't include config-host.mak from inside config.mak
Include it directly in Makefile.target
Patchworks-ID: 35189Signed-off-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
AIOLIBS is not used anywhere
slirp: It needs to use QEMU_CFLAGS not CFLAGS
Add Wold-style* flags
This time, I add them in configure only if target compiler supports it
Check availability of uuid header / library
If available, the Universally Unique Identifier libraryis used by the vdi block driver.
Other parts of QEMU (vl.c) could also use it.
Use GNU ld to link roms on OpenSolaris
OpenSolaris ld seems to miss the equivalent of GNU ld's "-Ttext 0".
Compile some user files only once for all targets
Don't compile roms if not building system targets
Probe for fdatasync()
fix typo in configure --help
Signed-off-by: Andre Przywara <andre.przywara@amd.com>Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
configure: change "found" to "find"
Change "ERROR: configure was not able to found it" to"ERROR: configure was not able to find it".
Signed-off-by: Sebastian Herbszt <herbszt@gmx.de>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Revert "Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca"
This reverts commit 91b40c5be84a478e98c0416325844a7f66d0efae.
Fix Sparc/Linux host breakage by df70204db53e3611af986f434e74a882bce190ca
While i386, x86_64 and Sparc64/OpenBSD still worked afterdf70204db53e3611af986f434e74a882bce190ca, Sparc32 and Sparc64 Linux hostsbroke.
Partially revert the commit: make the restored code conditional to...
Add configure option to compile user targets as PIE
Build uset targers as true PIE if user want to keep qemuself-virtualizable.
v5: - Split into to patches: drop link hack and add PIE support - do not build PIE by default and drop toolchain check
v4:...
Fix text relocations in linux-user targets
There is a link hack in linux-user which produces an executable thatlooks like PIE, but always has text relocations since all object filesisn't position-independent (compiled without -fpic/-fpie). Dynamic loader...
Do not link usermode targets with libhw*.a
Usermode targets are hardware-independed.
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>Acked-by: Juan Quintela <quintela@redhat.com>Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Add #defines needed by OpenSolaris, fix breakage by the #defines
We need to define XOPEN_SOURCE and EXTENSIONS macros in order to getCMSG and TIOCWIN macros defined. But then _POSIX_C_SOURCE gets defined, whichis (incorrectly) used as an indicator for existence of posix_memalign() in osdep.c....
Fix OpenSolaris build breaking typos
Fix a Sparse warning about redefinition of offsetof()
configure: fix Linux AIO detection
We should set $linux_aio to 'no' if detection failed, otherwiseits contents will be empty, which is a bug as we test for 'yes'or 'no'.