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.
 
 
 
 
 
 
Alberto Garcia aece5edc96 block: Update copyright of the accounting code 11 years ago
audio ossaudio: fix memory leak 11 years ago
backends qemu-char: convert testdev backend to data-driven creation 11 years ago
block block: Update copyright of the accounting code 11 years ago
bsd-user s/cpu_get_real_ticks/cpu_get_host_ticks/ 11 years ago
contrib ivshmem-server: fix possible OVERRUN 11 years ago
crypto crypto: add sanity checking of plaintext/ciphertext length 11 years ago
default-configs config: enable ivshmem on POSIX 11 years ago
disas disas/mips: Add R6 jr/jr.hb to disassembler 11 years ago
docs qed: Implement .bdrv_drain 11 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 maint: remove unused include for dirent.h 11 years ago
gdb-xml s390x/gdb: expose virtualization specific registers 11 years ago
hw scsi-disk: Account for failed operations 11 years ago
include block: Update copyright of the accounting code 11 years ago
libdecnumber typofixes - v4 11 years ago
linux-headers Add Linux userfaultfd.h header 11 years ago
linux-user linux-user/syscall: Replace g_malloc0 + memcpy with g_memdup 11 years ago
migration migration: qemu_savevm_state_cleanup becomes mandatory operation 11 years ago
net net: netmap: use error_setg() helpers in place of error_report() 11 years ago
pc-bios pc-bios/s390-ccw: rebuild image 11 years ago
pixman@87eea99e44 pixman: update internal copy to pixman-0.32.6 12 years ago
po Update language files for QEMU 2.4.0 11 years ago
qapi block: New option to define the intervals for collecting I/O statistics 11 years ago
qga qga: fix append file open modes for win32 11 years ago
qobject qstring: Make conversion from QObject * accept null 11 years ago
qom error: More error_setg() usage 11 years ago
replay replay: recording of the user input 11 years ago
roms pseries: Update SLOF firmware image to qemu-slof-20151103 11 years ago
scripts qapi: Provide nicer array names in introspection 11 years ago
slirp slirp: Fix type casts and format strings in debug code 11 years ago
stubs monitor/target-ppc: Define target_get_monitor_def 11 years ago
target-alpha target-alpha: fix uninitialized variable 11 years ago
target-arm target-arm: Clean up DISAS_UPDATE usage in AArch32 translation code 11 years ago
target-cris target-*: Advance pc after recognizing a breakpoint 11 years ago
target-i386 target-i386: Add clflushopt/clwb/pcommit to TCG_7_0_EBX_FEATURES 11 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 target-*: Advance pc after recognizing a breakpoint 11 years ago
target-mips target-mips: fix updating XContext on mmu exception 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 monitor/target-ppc: Define target_get_monitor_def 11 years ago
target-s390x s390x/kvm: don't enable CMMA when hugetlbfs will be used 11 years ago
target-sh4 target-*: Advance pc after recognizing a breakpoint 11 years ago
target-sparc target-*: Advance pc after recognizing a breakpoint 11 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/mips: Support r6 SEL{NE, EQ}Z instead of MOVN/MOVZ 11 years ago
tests iotests: Add test for the block device statistics 11 years ago
trace Remove superfluous '\n' around error_report() 11 years ago
ui blockdev: read-only-mode for blockdev-change-medium 11 years ago
util block: Add average I/O queue depth to BlockDeviceTimedStats 11 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: update virtio-ccw/s390 git tree 11 years ago
Makefile contrib: add ivshmem client and server 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.5 development tree 11 years ago
accel.c accel: Create accel object when initializing machine 12 years ago
aio-posix.c aio: Introduce aio-epoll.c 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 qed: Implement .bdrv_drain 11 years ago
blockdev-nbd.c Include monitor/monitor.h exactly where needed 11 years ago
blockdev.c block: New option to define the intervals for collecting I/O statistics 11 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: Don't disable optimization for non-fortify builds 11 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 So here it is, let's see what happens. 11 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 Round up RAMBlock sizes to host page sizes 11 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 hmp: Add read-only-mode option to change command 11 years ago
hmp.c block: Add idle_time_ns to BlockDeviceStats 11 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 rcu: actually register threads that have RCU read-side critical sections 11 years ago
kvm-all.c Move page_size_init earlier 11 years ago
kvm-stub.c kvm: Move x86-specific functions into target-i386/kvm.c 11 years ago
main-loop.c icount: improve counting for record/replay 11 years ago
memory.c memory: call begin, log_start and commit when registering a new listener 11 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 monitor/target-ppc: Define target_get_monitor_def 11 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 block: add transactional properties 11 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 char: Convert to new qapi union layout 11 years ago
qemu-doc.texi backends/hostmem-file: Allow to specify full pathname for backing file 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 sockets: Convert to new qapi union layout 11 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 replay: command line options 11 years ago
qemu-seccomp.c seccomp: add memfd_create 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 block: Add average I/O queue depth to BlockDeviceTimedStats 11 years ago
qmp.c blockdev: read-only-mode for blockdev-change-medium 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 tpm: Convert to new qapi union layout 11 years ago
trace-events End of migration for postcopy 11 years ago
translate-all.c cpu-exec: allow temporary disabling icount 11 years ago
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 11 years ago
translate-common.c translate: move real_host_page setting to -common 11 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 Move page_size_init earlier 11 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