QEMU main repository: Please see https://www.qemu.org/docs/master/devel/submitting-a-patch.html for how to submit changes to QEMU. Pull Requests are ignored. Please only use release tarballs from the QEMU website. http://www.qemu.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Paolo Bonzini aafcf80e22 s390x: avoid "naked" qemu_log 11 years ago
audio audio/coreaudio.c: Avoid deprecated AudioDeviceAdd/RemoveIOProc APIs 10 years ago
backends hostmem: Ignore ENOSYS while setting MPOL_DEFAULT 11 years ago
block qobject: Rename qtype_code to QType 10 years ago
bsd-user translate-all: ensure host page mask is always extended with 1's 10 years ago
contrib ivshmem-server: fix possible OVERRUN 11 years ago
crypto crypto: avoid two coverity false positive error reports 10 years ago
default-configs hw/misc: Hyper-V test device 'hyperv-testdev' 10 years ago
disas disas/arm: avoid clang shifting negative signed warning 11 years ago
docs fw_cfg: doc updates, various optimizations. 10 years ago
dtc@65cc4d2748 dtc: Update dtc / libfdt submodule to version 1.4.0 11 years ago
fpu target-s390x: define default NaN values 11 years ago
fsdev fsdev-proxy-helper: avoid TOC/TOU race 10 years ago
gdb-xml s390x/gdb: expose virtualization specific registers 11 years ago
hw cris: avoid "naked" qemu_log 10 years ago
include qemu-log: introduce qemu_log_separate 10 years ago
libdecnumber typofixes - v4 11 years ago
linux-headers linux-headers: update from kvm/next 10 years ago
linux-user qemu-log: introduce qemu_log_separate 10 years ago
migration qapi: Don't let implicit enum MAX member collide 10 years ago
net qapi: Don't let implicit enum MAX member collide 10 years ago
pc-bios pc-bios/s390-ccw: rebuild image 10 years ago
pixman@87eea99e44 pixman: update internal copy to pixman-0.32.6 12 years ago
po Update language files for QEMU 2.5.0 10 years ago
qapi kvm: add support for -machine kernel_irqchip=split 10 years ago
qga QMP and QObject patches 11 years ago
qobject qapi: Convert QType into QAPI built-in enum type 10 years ago
qom qom: Clean up assertions to display values on failure 11 years ago
replay qapi: Don't let implicit enum MAX member collide 10 years ago
roms pseries: Update SLOF firmware image to qemu-slof-20151103 11 years ago
scripts linux-headers: update from kvm/next 10 years ago
slirp slirp: Fix type casts and format strings in debug code 11 years ago
stubs kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 10 years ago
target-alpha target-alpha: fix uninitialized variable 11 years ago
target-arm kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 10 years ago
target-cris cris: avoid "naked" qemu_log 10 years ago
target-i386 kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 10 years ago
target-lm32 target-*: Advance pc after recognizing a breakpoint 11 years ago
target-m68k target-*: Advance pc after recognizing a breakpoint 11 years ago
target-microblaze microblaze: avoid "naked" qemu_log 10 years ago
target-mips target-mips: flush QEMU TLB when disabling 64-bit addressing 11 years ago
target-moxie target-*: Advance pc after recognizing a breakpoint 11 years ago
target-openrisc target-*: Advance pc after recognizing a breakpoint 11 years ago
target-ppc qemu-log: introduce qemu_log_separate 10 years ago
target-s390x s390x: avoid "naked" qemu_log 10 years ago
target-sh4 target-*: Advance pc after recognizing a breakpoint 11 years ago
target-sparc sparc: allow CASA with ASI 0xa from user space 10 years ago
target-tilegx target-tilegx: Implement prefetch instructions in pipe y2 11 years ago
target-tricore qdev: Protect device-list-properties against broken devices 11 years ago
target-unicore32 target-*: Advance pc after recognizing a breakpoint 11 years ago
target-xtensa target-*: Advance pc after recognizing a breakpoint 11 years ago
tcg tcg: Increase the highwater reservation 10 years ago
tests tests/guest-debug: introduce basic gdbstub tests 10 years ago
trace trace/simple: Fix warning and wrong trace file name for MinGW 10 years ago
ui qapi: Change munging of CamelCase enum values 10 years ago
util util/id: fully allocate names table 10 years ago
.dir-locals.el Add .dir-locals.el file to configure emacs coding style 11 years ago
.exrc qemu: add .exrc 14 years ago
.gitignore maint: Ignore ivshmem binaries 11 years ago
.gitmodules PPC: Add u-boot firmware for e500 12 years ago
.mailmap Update mailmap 13 years ago
.travis.yml .travis.yml: Run make check for all targets, not just some 11 years ago
CODING_STYLE CODING_STYLE: update mixed declaration rules 11 years ago
COPYING COPYING: update from FSF 18 years ago
COPYING.LIB Update FSF address in GPL/LGPL boilerplate 17 years ago
Changelog Use qemu-project.org domain name 13 years ago
HACKING HACKING: Document vaddr type usage 13 years ago
LICENSE vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 11 years ago
MAINTAINERS MAINTAINERS: add maintainer to virtio-9p 10 years ago
Makefile makefile: fix qemu-ga make install for --disable-tools 11 years ago
Makefile.objs replay: global variables and function stubs 11 years ago
Makefile.target * Linux header update and cleanup 11 years ago
README README: fill out some useful quickstart information 11 years ago
VERSION Open 2.6 development tree 10 years ago
accel.c accel: Create accel object when initializing machine 12 years ago
aio-posix.c aio-epoll: Fix use-after-free of node 11 years ago
aio-win32.c aio: Introduce aio_context_setup 11 years ago
arch_init.c smbios: move smbios code into a common folder 11 years ago
async.c aio: Introduce aio_context_setup 11 years ago
balloon.c Inhibit ballooning during postcopy 11 years ago
block.c blkdebug: Merge hand-rolled and qapi BlkdebugEvent enum 10 years ago
blockdev-nbd.c Include monitor/monitor.h exactly where needed 11 years ago
blockdev.c qapi: Don't let implicit enum MAX member collide 10 years ago
blockjob.c block: Add block job transactions 11 years ago
bootdevice.c misc: fix typos in copyright declaration 11 years ago
bt-host.c sysemu: avoid proliferation of include/ subdirectories 13 years ago
bt-vhci.c sysemu: avoid proliferation of include/ subdirectories 13 years ago
configure configure: use appropriate code fragment for -fstack-protector checks 10 years ago
cpu-exec-common.c exec.c: Collect AddressSpace related fields into a CPUAddressSpace struct 11 years ago
cpu-exec.c So here it is, let's see what happens. 11 years ago
cpus.c cpu: Convert CpuInfo into flat union 10 years ago
cputlb.c cputlb: Change tlb_set_dirty() arg to cpu 11 years ago
device-hotplug.c pci-hotplug-old: Has been dead for five major releases, bury 11 years ago
device_tree.c device_tree: Fix a typo 11 years ago
disas.c disas: QOMify alpha specific disas setup 11 years ago
dma-helpers.c range: remove useless inclusions 11 years ago
dump.c Include qapi/qmp/qerror.h exactly where needed 11 years ago
exec.c qemu-log: introduce qemu_log_separate 10 years ago
gdbstub.c gdbstub: Fix buffer overflows in gdb_handle_packet() 11 years ago
hmp-commands-info.hx hmp: added io apic dump state 11 years ago
hmp-commands.hx migrate-start-postcopy: Improve text 11 years ago
hmp.c cpu: Convert CpuInfo into flat union 10 years ago
hmp.h migrate_start_postcopy: Command to trigger transition to postcopy 11 years ago
iohandler.c aio: Add "is_external" flag for event handlers 11 years ago
ioport.c ioport: do not use CPU_LOG_IOPORT 11 years ago
iothread.c iothread: include id in thread name 10 years ago
kvm-all.c kvm: x86: add support for KVM_CAP_SPLIT_IRQCHIP 10 years ago
kvm-stub.c KVM: add support for any length io eventfd 11 years ago
main-loop.c main-loop: suppress warnings under qtest 10 years ago
memory.c memory: emulate ioeventfd 10 years ago
memory_mapping.c memory_mapping: Rework cpu related includes 11 years ago
module-common.c module: implement module loading 12 years ago
monitor.c qapi: Change munging of CamelCase enum values 10 years ago
nbd.c nbd: Mark fd handlers client type as "external" 11 years ago
numa.c memory: Convert to new qapi union layout 11 years ago
os-posix.c rcu: do not create thread in pthread_atfork callback 11 years ago
os-win32.c maint: remove unused include for signal.h 11 years ago
page_cache.c maint: remove unused include for strings.h 11 years ago
qapi-schema.json qemu-char: append opt to stop truncation of serial file 10 years ago
qdev-monitor.c -----BEGIN PGP SIGNATURE----- 11 years ago
qdict-test-data.txt Introduce QDict test data file 17 years ago
qemu-bridge-helper.c qemu-bridge-helper: Fix fd leak in main() 12 years ago
qemu-char.c qemu-char: append opt to stop truncation of serial file 10 years ago
qemu-doc.texi ivshmem: Rename property memdev to x-memdev for 2.5 11 years ago
qemu-ga.texi qga: start a man page 11 years ago
qemu-img-cmds.hx qemu-img: Add progress output for amend 12 years ago
qemu-img.c blockjob: Introduce reference count and fix reference to job->bs 11 years ago
qemu-img.texi maint: remove / fix many doubled words 11 years ago
qemu-io-cmds.c qemu-io: Account for failed, invalid and flush operations 11 years ago
qemu-io.c qemu-io: Remove duplicate 'open' error message 11 years ago
qemu-log.c qemu-log: remove -d ioport 11 years ago
qemu-nbd.c qapi: Don't let implicit enum MAX member collide 10 years ago
qemu-nbd.texi nbd: Miscellaneous typo fixes. 12 years ago
qemu-options-wrapper.h vl.c: In qemu -h output, only print options for the arch we are running as 14 years ago
qemu-options.h vl.c: Move option generation logic into a wrapper file 14 years ago
qemu-options.hx kvm: add support for -machine kernel_irqchip=split 10 years ago
qemu-seccomp.c seccomp: add cacheflush to whitelist 11 years ago
qemu-tech.texi doc: Refresh URLs in the qemu-tech documentation 11 years ago
qemu-timer.c replay: checkpoints 11 years ago
qemu.nsi nsis: Add QEMU version information to Windows registry 11 years ago
qemu.sasl sasl: Avoid 'Could not find keytab file' in syslog 12 years ago
qjson.c QJSON: Use OBJECT_CHECK 11 years ago
qmp-commands.hx cpu: Convert CpuInfo into flat union 10 years ago
qmp.c qmp: Convert QMP code to use object property iterators 11 years ago
qtest.c Move page_size_init earlier 11 years ago
rules.mak make: load only required dependency files. 11 years ago
softmmu_template.h softmmu: remove now unused functions 11 years ago
spice-qemu-char.c char: Convert to new qapi union layout 11 years ago
tcg-runtime.c tcg: Push tcg-runtime routines into exec/helper-* 12 years ago
tci.c tcg: Rename debug_insn_start to insn_start 11 years ago
thread-pool.c coroutine: move into libqemuutil.a library 11 years ago
thunk.c linux-user: Allocate thunk size dynamically 11 years ago
tpm.c qapi: Don't let implicit enum MAX member collide 10 years ago
trace-events alpha: convert "naked" qemu_log to tracepoint 10 years ago
translate-all.c translate-all: ensure host page mask is always extended with 1's 10 years ago
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 11 years ago
translate-common.c translate-all: ensure host page mask is always extended with 1's 10 years ago
user-exec.c osdep.h: Remove qemu_printf 11 years ago
version.rc Use qemu-project.org domain name 13 years ago
vl.c qapi: Don't let implicit enum MAX member collide 10 years ago
xen-common-stub.c accel: Move Xen registration code to xen-common.c 12 years ago
xen-common.c migration: Fix regression for xenfv and pc,accel=xen machine. 11 years ago
xen-hvm-stub.c pc: Remove redundant arguments from xen_hvm_init() 11 years ago
xen-hvm.c Fix bad error handling after memory_region_init_ram() 11 years ago
xen-mapcache.c maint: avoid useless "if (foo) free(foo)" pattern 11 years ago

README

         QEMU README
===========

QEMU is a generic and open source machine & userspace emulator and
virtualizer.

QEMU is capable of emulating a complete machine in software without any
need for hardware virtualization support. By using dynamic translation,
it achieves very good performance. QEMU can also integrate with the Xen
and KVM hypervisors to provide emulated hardware while allowing the
hypervisor to manage the CPU. With hypervisor support, QEMU can achieve
near native performance for CPUs. When QEMU emulates CPUs directly it is
capable of running operating systems made for one machine (e.g. an ARMv7
board) on a different machine (e.g. an x86_64 PC board).

QEMU is also capable of providing userspace API virtualization for Linux
and BSD kernel interfaces. This allows binaries compiled against one
architecture ABI (e.g. the Linux PPC64 ABI) to be run on a host using a
different architecture ABI (e.g. the Linux x86_64 ABI). This does not
involve any hardware emulation, simply CPU and syscall emulation.

QEMU aims to fit into a variety of use cases. It can be invoked directly
by users wishing to have full control over its behaviour and settings.
It also aims to facilitate integration into higher level management
layers, by providing a stable command line interface and monitor API.
It is commonly invoked indirectly via the libvirt library when using
open source applications such as oVirt, OpenStack and virt-manager.

QEMU as a whole is released under the GNU General Public License,
version 2. For full licensing details, consult the LICENSE file.


Building
========

QEMU is multi-platform software intended to be buildable on all modern
Linux platforms, OS-X, Win32 (via the Mingw64 toolchain) and a variety
of other UNIX targets. The simple steps to build QEMU are:

mkdir build
cd build
../configure
make

Complete details of the process for building and configuring QEMU for
all supported host platforms can be found in the qemu-tech.html file.
Additional information can also be found online via the QEMU website:

http://qemu-project.org/Hosts/Linux
http://qemu-project.org/Hosts/W32


Submitting patches
==================

The QEMU source code is maintained under the GIT version control system.

git clone git://git.qemu-project.org/qemu.git

When submitting patches, the preferred approach is to use 'git
format-patch' and/or 'git send-email' to format & send the mail to the
qemu-devel@nongnu.org mailing list. All patches submitted must contain
a 'Signed-off-by' line from the author. Patches should follow the
guidelines set out in the HACKING and CODING_STYLE files.

Additional information on submitting patches can be found online via
the QEMU website

http://qemu-project.org/Contribute/SubmitAPatch
http://qemu-project.org/Contribute/TrivialPatches


Bug reporting
=============

The QEMU project uses Launchpad as its primary upstream bug tracker. Bugs
found when running code built from QEMU git or upstream released sources
should be reported via:

https://bugs.launchpad.net/qemu/

If using QEMU via an operating system vendor pre-built binary package, it
is preferable to report bugs to the vendor's own bug tracker first. If
the bug is also known to affect latest upstream code, it can also be
reported via launchpad.

For additional information on bug reporting consult:

http://qemu-project.org/Contribute/ReportABug


Contact
=======

The QEMU community can be contacted in a number of ways, with the two
main methods being email and IRC

- qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel
- #qemu on irc.oftc.net

Information on additional methods of contacting the community can be
found online via the QEMU website:

http://qemu-project.org/Contribute/StartHere

-- End