aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '34005a0060c176b3025a9e7c5d064615a9f80325' into upstream-mergeMarcelo Tosatti2009-09-141-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '34005a0060c176b3025a9e7c5d064615a9f80325': Add configure option to compile user targets as PIE Fix text relocations in linux-user targets Do not link usermode targets with libhw*.a Work around OpenSolaris sys/regset.h namespace pollution Fix signedness warnings on OpenSolaris Add #defines needed by OpenSolaris, fix breakage by the #defines Fix OpenSolaris build breaking typos Add 'static' Conflicts: Makefile.target Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
| * Add #defines needed by OpenSolaris, fix breakage by the #definesBlue Swirl2009-09-121-2/+2
| | | | | | | | | | | | | | | | We need to define _XOPEN_SOURCE and __EXTENSIONS__ macros in order to get CMSG_ and TIOCWIN macros defined. But then _POSIX_C_SOURCE gets defined, which is (incorrectly) used as an indicator for existence of posix_memalign() in osdep.c. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* | Merge commit '4dd75c702c96ec84db4efe24fcc80a4d7bb32df2' into upstream-mergeAvi Kivity2009-08-241-3/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4dd75c702c96ec84db4efe24fcc80a4d7bb32df2': make pthreads mandatory qemu: move virtio-pci.o to near pci.o char: Emit 'CLOSED' events on char device close cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal unify popen/fopen qemu wrappers Only build osdep once Conflicts: block/raw-posix.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Only build osdep onceAnthony Liguori2009-08-241-3/+0
| | | | | | | | | | | | We no longer need hackery to work around kqemu Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1' into upstream-mergeAvi Kivity2009-08-241-121/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1': Unbreak large mem support by removing kqemu Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them. Migration via unix sockets. Conflicts: Makefile.target exec.c osdep.c vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Unbreak large mem support by removing kqemuAnthony Liguori2009-08-241-121/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kqemu introduces a number of restrictions on the i386 target. The worst is that it prevents large memory from working in the default build. Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on the TSC as a time source which will not be reliable on a multiple processor system in userspace. Since most modern processors are multicore, this severely limits the utility of kqemu. kvm is a viable alternative for people looking to accelerate qemu and has the benefit of being supported by the upstream Linux kernel. If someone can implement work arounds to remove the restrictions introduced by kqemu, I'm happy to avoid and/or revert this patch. N.B. kqemu will still function in the 0.11 series but this patch removes it from the 0.12 series. Paul, please Ack or Nack this patch. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit 'eb82284f180196f911fd70ebf0cddfbfdf5af3e3' into upstream-mergeAvi Kivity2009-07-291-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'eb82284f180196f911fd70ebf0cddfbfdf5af3e3': (38 commits) simplify brlapi selection simplify curses library selection Define and use xen libs in a single place indent with 2 spaces sdl tests remove sdl_static. Just do the right thing if static is yes target_softmmu is undefined at that point instead of setup sdl_x11 just add -lX11 to sdl_libs Calculate sdl_libs and sdl_flags and use them everywhere sdl_config value was always sdl-config the else part of this test is obsolete We are testing for sdl = yes inside the else part of the test if sdl = yes Use CONFIG_POSIX to simplify Makefile Add CONFIG_POSIX rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN rename DEBUG_EXEC to CONFIG_DEBUG_EXEC rename DEBUG_TCG to CONFIG_DEBUG_TCG rename HAVE_BYTESWAP_H to CONFIG_BYTESWAP_H rename HAVE_GPROF to TARGET_GPROF rename HAVE_MACHINE_BSWAP_H to CONFIG_MACHINE_BSWAP_H rename HAVE_FNMATCH_H to CONFIG_FNMATCH rename HAVE_IOVEC to CONFIG_IOVEC ... Conflicts: configure Signed-off-by: Avi Kivity <avi@redhat.com>
| * rename HOST_BSD to CONFIG_BSDJuan Quintela2009-07-271-3/+3
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit 'dfe5fff3eaab1285cd1565fa0a33e5acd13b279c' into upstream-mergeAvi Kivity2009-07-291-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'dfe5fff3eaab1285cd1565fa0a33e5acd13b279c': change HOST_SOLARIS to CONFIG_SOLARIS{_VERSION} Enable USE_DIRECT_JUMP on Win32. Remove special Win32 code in vl.c that's no longer needed. Remove setvbuf(<handle>, NULL, _IOLBF, 0) calls for Win32 Conflicts: cpu-exec.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * change HOST_SOLARIS to CONFIG_SOLARIS{_VERSION}Juan Quintela2009-07-271-3/+3
| | | | | | | | | | Signed-off-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* | Merge commit '94c5495dd16ca3311cbc95705e58d28a45899d1d' into upstream-mergeAvi Kivity2009-07-121-5/+25
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '94c5495dd16ca3311cbc95705e58d28a45899d1d': MIPS signal handling fix Enable MIPS NPTL MIPS atomic instructions MIPS usermode TLS register Fix MIPS sys_clone qdev: convert ac97. qdev: convert es1370. qdev/pci: misc fixes. qdev: remove DeviceType qdev: replace bus_type enum with bus_info struct. qdev: update pci device registration. Remove SDL/ prefix Add out of memory and zero size argument checks to be consistent with Fix the PCI header type of APB Update OpenBIOS images to r505 Signed-off-by: Avi Kivity <avi@redhat.com>
| * Add out of memory and zero size argument checks to be consistent withmalc2009-07-081-5/+25
| | | | | | | | the qemu_malloc routines
* | Merge branch 'master' of git://git.sv.gnu.org/qemuAvi Kivity2009-05-201-0/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.sv.gnu.org/qemu: (116 commits) kvm: add error message for when SMP is requested Remove initrd warning message initialize struct sigevent before timer_create Fix NULL alarm_timer pointer at exit keep initrd in below 4g area. migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK kvm: work around supported cpuid ioctl() brokenness remove gcc 3.x requirement from documentation Remove dead code Format per CODING_STYLE Abort on attempts to allocate zero bytes Unbreak out-of-tree builds Hardware convenience library Disable >4G ram support on 32-bit targets Only define __llseek if it is going to be used Avoid implicit truncation compiler warnings Remove obsolete BIOS_SIZE from sysemu.h cris: First shot at qdev for CRIS interrupts. etrax: Don't keep the passed irq pointer. etrax: Remove unused eth irq line. ... Conflicts: Makefile Makefile.target block/raw-posix.c configure hw/boards.h hw/pc.h hw/pci.c hw/virtio-console.c target-ppc/cpu.h vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Add tool_osdep.cPaul Brook2009-05-131-0/+3
| | | | | | | | | | | | | | | | | | | | osdep.c is built in both as a toplevel target independant object, and as a per-target object because of kqemu dependencies. Under some circumstances make picks up the wrong one. Build the former as tool-osdep to avoid this conflict. Signed-off-by: Paul Brook <paul@codesourcery.com>
* | Merge branch 'master' of git://git.sv.gnu.org/qemu into masterAvi Kivity2009-04-231-3/+3
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'master': (180 commits) xen: add -vga xenfb option, configure xenfb (Gerd Hoffmann) simplify vga selection (Gerd Hoffmann) xen: pv domain builder. (Gerd Hoffmann) xen: blk & nic configuration via cmd line. (Gerd Hoffmann) xen: add net backend driver. (Gerd Hoffmann) xen: add block device backend driver. (Gerd Hoffmann) xen: add framebuffer backend driver (Gerd Hoffmann) xen: add console backend driver. (Gerd Hoffmann) xen: backend driver core (Gerd Hoffmann) xen: groundwork for xen support (Gerd Hoffmann) update .gitignore: add qemu-io (Gerd Hoffmann) qcow2: Add plausibility check for L1/L2 entries (Kevin Wolf) qcow2: Refcount checking code cleanup (Kevin Wolf) Introduce qemu-img check subcommand (Kevin Wolf) Introduce bdrv_check (Kevin Wolf) qcow2: Fix warnings in check_refcount() (Kevin Wolf) sending NUMA topology to BIOS (Andre Przywara) add info numa command to monitor (Andre Przywara) added -numa cmdline parameter parser (Andre Przywara) Safety net for the cases where disassembler/translator disagree over instruction decoding ... Conflicts: Makefile Makefile.target configure cpu-all.h gdbstub.c hw/apic.c hw/cirrus_vga.c hw/eepro100.c hw/pc.c hw/pcnet.c hw/rtl8139.c hw/vga.c net.c pc-bios/bios.bin sysemu.h vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * kqemu: merge CONFIG_KQEMU and USE_KQEMUblueswir12009-04-191-3/+3
| | | | | | | | | | | | | | | | | | | | Basically a recursive ":%s/USE_KQEMU/CONFIG_KQEMU/g". Signed-off-by: Paul Bolle <pebolle@tiscali.nl> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7189 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2009-03-121-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qemu-cvs: (37 commits) Revert r6404 Revert r6405 Revert r6406 Revert r6407 Revert r6408 tcg: move {not,neg}_i{32,64} definitions at the right place tcg: fix commit r6805 Clean build: Add bt-host.h tcg-arm: fix qemu_ld64 tcg: update TODO tcg/x86: add not/neg/extu/bswap/rot i32 ops tcg: optimize logical operations target-ppc: fix commit r6789 musicpal: Reorganize IO memory handling (Jan Kiszka) Fix tcg after commit 6800 target-mips: use nor instead of or + not tcg: use TCGV_EQUAL_I{32,64} tcg: define TCGV_EQUAL_I{32,64} tcg: optimize nor(X, Y, Y), used on PPC for not(X, Y) Implement TCG not ops for x86-64 ...
| * Fix windows build and clean up use of <windows.h>aliguori2009-03-081-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | We want to globally define WIN_LEAN_AND_MEAN and WINVER to particular values so let's do it in OS_CFLAGS. Then, we can pepper in windows.h includes where using #includes that require it. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6783 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2009-03-081-6/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qemu-cvs: (135 commits) Use firmware configuration instead of NVRAM (initial patch by Aurelien Jarno) Add new entries to firmware configuration device Rename _BSD to HOST_BSD so that it's more obvious that it's defined by configure target-mips: remove dead code target-mips: rename helpers from do_ to helper_ do not pretend to support low voltage operation Fix correct reset value for ARM CP15 c1 auxiliary control register Work around QEMU GDB stub suboptimality Fix off-by-one errors for Altivec and SPE registers Use C99 initializers for BlockDriver methods clean build: Fix remaining m68k warnings clean build: Fix arm build warnings arm: Fix gic_irq_state.level bitfield type target-ppc: move the CD-ROM drive to the second IDE ppc_oldworld: swap the MACIO and CMD646 IDE controllers Use a dedicated function to request exit from execution loop Fix texinfo syntax errors. Disable BAT for 970 Fix mfcr on ppc64-softmmu Keep SLB in-CPU ... Conflicts: qemu/configure qemu/cpu-defs.h qemu/exec.c qemu/hw/pci-hotplug.c qemu/monitor.c qemu/net.c qemu/pc-bios/Makefile qemu/pc-bios/bios.bin qemu/qemu-tool.c qemu/sysemu.h qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Rename _BSD to HOST_BSD so that it's more obvious that it's defined by configureblueswir12009-03-081-3/+3
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6775 c046a42c-6fe2-441c-8c8c-71466251a162
| * Support for DragonFly BSD (Hasso Tepper)blueswir12009-03-071-2/+2
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6746 c046a42c-6fe2-441c-8c8c-71466251a162
| * Fix BSD breakage from r6736blueswir12009-03-071-0/+3
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6742 c046a42c-6fe2-441c-8c8c-71466251a162
| * Sparse fixes: NULL use, header order, ANSI prototypes, staticblueswir12009-03-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Fix Sparse warnings: * use NULL instead of plain 0 * rearrange header include order to avoid redefining types accidentally * ANSIfy SLIRP * avoid "restrict" keyword * add static git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6736 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-12-151-4/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile qemu/Makefile.target qemu/block-raw-posix.c qemu/configure qemu/cutils.c qemu/dyngen.c qemu/hw/cirrus_vga.c qemu/hw/e1000.c qemu/hw/pci.c qemu/hw/vga.c qemu/osdep.c qemu/pc-bios/Makefile qemu/qemu-common.h qemu/target-ppc/helper.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Remove redundant #ifdef _BSDblueswir12008-12-111-4/+0
| | | | | | | | | | | | | | | | | | | | since _BSD if already handled in osdep.c:qemu_memalign(), we don't need to check it in the calling function again. getpagesize() is available in BSD. Signed-off-by: Andre Przywara <andre.przywara@amd.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5983 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-11-231-4/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/block-raw-posix.c qemu/configure qemu/cpu-defs.h qemu/cpu-exec.c qemu/exec.c qemu/gdbstub.c qemu/loader.c qemu/osdep.c qemu/sysemu.h qemu/target-i386/helper.c qemu/target-ppc/cpu.h qemu/target-ppc/helper.c qemu/usb-linux.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Use MAP_ANON also for FreeBSD (Juergen Lock)blueswir12008-11-221-2/+5
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5778 c046a42c-6fe2-441c-8c8c-71466251a162
| * Use qemu_memalign instead of memalign in qemu_vmallocmalc2008-11-181-1/+1
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5730 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-11-131-1/+1
|\| | | | | | | | | | | | | Conflicts: qemu/osdep.c qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Fix -linux-user build by reverting r5701aliguori2008-11-111-14/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, -linux-user doesn't use osdep as it replaces some of those functions with specific ones. The code #ifdef code in exec.c needs to remain in place so instead of introducing a qemu_getpagesize() let's just use getpagesize() in the non-Windows implementation of qemu_vmalloc. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5703 c046a42c-6fe2-441c-8c8c-71466251a162
| * Allocate guest memory on host page boundaries (Hollis Blanchard)aliguori2008-11-111-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5702 c046a42c-6fe2-441c-8c8c-71466251a162
| * Define OS-dependent qemu_getpagesize() (Hollis Blanchard)aliguori2008-11-111-0/+13
| | | | | | | | | | | | | | | | Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5701 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-09-161-0/+27
|\| | | | | | | | | | | | | | | | | Conflicts: qemu/block-raw-posix.c qemu/hw/pc.c qemu/monitor.c qemu/vl.c Signed-off-by: Avi Kivity <avi@redhat.com>
| * Use common objects for qemu-img and qemu-nbdaliguori2008-09-151-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, we sprinkle #if defined(QEMU_IMG) && defined(QEMU_NBD) all over the code. It's ugly and causes us to have to build multiple object files for linking against qemu and the tools. This patch introduces a new file, qemu-tool.c which contains enough for qemu-img, qemu-nbd, and QEMU to all share the same objects. This also required getting qemu-nbd to be a bit more Windows friendly. I also changed the Windows block-raw to use normal IO instead of overlapping IO since we don't actually do AIO yet on Windows. I changed the various #if 0's to #if WIN32_AIO to make it easier for someone to eventually fix AIO on Windows. After this patch, there are no longer any #ifdef's related to qemu-img and qemu-nbd. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5226 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-08-171-2/+15
|\| | | | | | | | | | | | | Conflicts: qemu/configure Signed-off-by: Avi Kivity <avi@qumranet.com>
| * Preliminary OpenBSD host support (based on OpenBSD patches by Todd T. Fries)blueswir12008-08-151-2/+15
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5012 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-07-101-1/+5
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/block-raw-posix.c qemu/configure qemu/exec.c qemu/hw/pc.c qemu/sysemu.h qemu/vl.c Signed-off-by: Avi Kivity <avi@qumranet.com>
* | Merge branch 'qemu-cvs'Avi Kivity2008-05-051-3/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile qemu/Makefile.target qemu/configure qemu/cpu-all.h qemu/cpu-exec.c qemu/exec.c qemu/hw/boards.h qemu/hw/pc.c qemu/hw/vga.c qemu/monitor.c qemu/osdep.c qemu/pc-bios/bios.bin qemu/sysemu.h qemu/vl.c
| * Use correct types to enable > 2G support, based on a patch fromaurel322008-04-271-1/+0
| | | | | | | | | | | | | | Anthony Liguori. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4265 c046a42c-6fe2-441c-8c8c-71466251a162
| * Revert "Use correct types to enable > 2G support" (r4238), it isaurel322008-04-221-0/+1
| | | | | | | | | | | | | | not yet ready. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4240 c046a42c-6fe2-441c-8c8c-71466251a162
| * Use correct types to enable > 2G support, based on a patch fromaurel322008-04-221-1/+0
| | | | | | | | | | | | | | Anthony Liguori. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4238 c046a42c-6fe2-441c-8c8c-71466251a162
| * Use "mount -o remount" instead of "umount" and "mount /dev/shm",aurel322008-04-201-2/+1
| | | | | | | | | | | | | | which results in emptying this virtual file system. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4228 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2008-04-161-35/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qemu/Makefile.target qemu/configure qemu/cutils.c qemu/exec.c qemu/hw/acpi.c qemu/hw/apic.c qemu/hw/ide.c qemu/hw/pc.c qemu/monitor.c qemu/pc-bios/bios.bin qemu/pc-bios/bios.diff qemu/qemu-img.c qemu/vl.c Signed-off-by: Avi Kivity <avi@qumranet.com>
| * Remove osdep.c/qemu-img code duplicationaurel322008-04-111-35/+0
| | | | | | | | | | | | | | (Kevin Wolf) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4191 c046a42c-6fe2-441c-8c8c-71466251a162
* | Clean up KVM/QEMU interactionAnthony Liguori2008-01-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch attempts to clean up the interactions between KVM and QEMU. Sorry for such a big patch, but I don't think there's a better way to approach this such that it's still bisect friendly. I think this is most of what's needed to get basic KVM support into QEMU though. Right now, there's a mix of #ifdef USE_KVM, if (kvm_allowed), and various extern declarations. It's all pretty fugly and there's a lot of mistakes due to it. The following patch eliminates almost all uses of #ifdef USE_KVM by introducing a kvm_enabled() macro. If USE_KVM is set, this macro evaluates to kvm_allowed. If USE_KVM isn't set, the macro evaluates to 0. Since GCC eliminates if (0) blocks, this is just as good as using #ifdef. By making sure that we never call into libkvm directly from QEMU, we can also just not link qemu-kvm when USE_KVM isn't set instead of having the entire file wrapped in a USE_KVM. We also change the --enable-kvm configure option to --disable-kvm since KVM is enabled by default. I've tested this patch on x86 with 32-bit and 64-bit Linux guests and a 32-bit Windows guest. I've also tested with USE_KVM not set. Jerone has also verified that it doesn't PPC. My apologies if it breaks ia64 but I have no way of testing that. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
* | Merge branch 'qemu-cvs'Avi Kivity2007-12-271-0/+21
|\| | | | | | | | | | | Conflicts: qemu/block.h qemu/hw/ide.c
| * Add "cache" parameter to "-drive" (Laurent Vivier).balrog2007-12-241-0/+20
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3848 c046a42c-6fe2-441c-8c8c-71466251a162
| * Use WIN32_LEAN_AND_MEAN, by Stefan Weil.ths2007-12-171-0/+1
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3832 c046a42c-6fe2-441c-8c8c-71466251a162
* | Merge branch 'qemu-cvs'Avi Kivity2007-12-181-6/+4
|\| | | | | Signed-off-by: Avi Kivity <avi@qumranet.com>
| * Add statics and missing #includes for prototypes.pbrook2007-11-181-2/+2
| | | | | | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3683 c046a42c-6fe2-441c-8c8c-71466251a162