暫無描述

osy cd46296ce8 tcg (aarch64 target): fix indirect tb jumps 6 年之前
accel 252beadf13 tcg: support exec memory locking 5 年之前
audio 7ffc90f3ae audio: fix audio recording 5 年之前
authz 0b8fa32f55 Include qemu/module.h where needed, drop it from qemu-common.h 6 年之前
backends 038adc2f58 core: replace getpagesize() with qemu_real_host_page_size 5 年之前
block feb8266224 build: Add support for iOS host 5 年之前
bsd-user c36f7a642c *-user: plugin syscalls 5 年之前
capstone @ 22ead3e0bf e219c499e9 disas: Add capstone as submodule 7 年之前
chardev fc8135c630 socket: Add num connections to qio_net_listener_open_sync() 6 年之前
contrib ec244b1739 vhost-user-input: use free(elem) instead of g_free(elem) 5 年之前
crypto dc2207af2d crypto: add support for nettle's native XTS impl 5 年之前
default-configs f724de8dde Merge remote-tracking branch 'remotes/vivier/tags/q800-branch-pull-request' into staging 5 年之前
disas 9739b11adc cris: do not leak struct cris_disasm_data 5 年之前
docs 252beadf13 tcg: support exec memory locking 5 年之前
dtc @ 88f18909db 0b001b3094 Update dtc/libfdt submodule to v1.4.7 6 年之前
dump 54d31236b9 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 6 年之前
fpu 21381dcf0c softfp: Added hardfloat conversion from float32 to float64 5 年之前
fsdev 1a6ed33cc5 9p: Added virtfs option 'multidevs=remap|forbid|warn' 5 年之前
gdb-xml ab9056ff9b target/riscv: Expose "priv" register for GDB for reads 5 年之前
hw 5a0948d36c net/virtio: Fix failover error handling crash bugs 5 年之前
include 252beadf13 tcg: support exec memory locking 5 年之前
io fc8135c630 socket: Add num connections to qio_net_listener_open_sync() 6 年之前
libdecnumber 7271a81949 build: remove CONFIG_LIBDECNUMBER 7 年之前
libucontext @ 148ec4c5b6 4e91fc77d5 coroutine: add libucontext as external library 5 年之前
linux-headers f363d039e8 linux headers: update against v5.4-rc1 5 年之前
linux-user d1e2670741 linux-user: fix translation of statx structures 5 年之前
migration 284f42a520 net/virtio: fix dev_unplug_pending 5 年之前
monitor 2895aaa139 monitor/qmp: resume monitor when clearing its queue 5 年之前
nbd 93676c88d7 nbd: Don't send oversize strings 5 年之前
net feb8266224 build: Add support for iOS host 5 年之前
pc-bios a2fad86497 pseries: Update SLOF firmware image 5 年之前
plugins 3fb356cc86 tcg plugins: expose an API version concept 5 年之前
po c55c974486 ui/gtk: fix gettext message's charset. 5 年之前
python 0858096702 Python libs: close console sockets before shutting down the VMs 5 年之前
qapi cf7c49cf6a bitmap: Enforce maximum bitmap name length 5 年之前
qga feb8266224 build: Add support for iOS host 5 年之前
qobject 6f0dd6c5d2 json: Move switch 'fall through' comment to correct place 6 年之前
qom d55e937d3e qom: Fix error message in object_class_property_add() 5 年之前
replay e4ec5ad464 replay: add BH oneshot event for block layer 5 年之前
roms a2fad86497 pseries: Update SLOF firmware image 5 年之前
scripts e8d0ac5801 vmstate-static-checker: Fix for current python 5 年之前
scsi b2aca78cb2 qemu-pr-helper: fix crash in mpath_reconstruct_sense 5 年之前
slirp @ 126c04acba e1a4a24d26 slirp: update with CVE-2019-14378 fix 6 年之前
stubs 0fd61a2d1c hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h 5 年之前
target feb8266224 build: Add support for iOS host 5 年之前
tcg cd46296ce8 tcg (aarch64 target): fix indirect tb jumps 5 年之前
tests be54302608 Merge remote-tracking branch 'remotes/stsquad/tags/pull-rc3-testing-261119-1' into staging 5 年之前
trace 504f73f7b3 trace: add mmu_index to mem_info 5 年之前
ui c55c974486 ui/gtk: fix gettext message's charset. 5 年之前
util 4e91fc77d5 coroutine: add libucontext as external library 5 年之前
.cirrus.yml fc84471ae2 cirrus.yml: add latest Xcode build target 5 年之前
.dir-locals.el 91288a58a5 Add .dir-locals.el file to configure emacs coding style 10 年之前
.editorconfig 9b109f566a editorconfig: add setting for shell scripts 6 年之前
.exrc 692e587fc6 qemu: add .exrc 13 年之前
.gdbinit 3a586d2f0b .gdbinit: load QEMU sub-commands when gdb starts 8 年之前
.gitignore 5c95975d8d build: Don't ignore qapi-visit-core.c 6 年之前
.gitlab-ci.yml 17db6bf4f1 gitlab-ci.yml: Use libvdeplug-dev to compile-test the VDE network backend 5 年之前
.gitmodules 4e91fc77d5 coroutine: add libucontext as external library 5 年之前
.gitpublish 08bb160e02 Add a git-publish configuration file 7 年之前
.mailmap 63640d6a7a MAINTAINERS: Update mail address of Aleksandar Rikalo 5 年之前
.patchew.yml f6adb8e7e3 ci: store Patchew configuration in the tree 6 年之前
.shippable.yml 06746324ad tests/docker: set HOST_ARCH if we don't have ARCH 5 年之前
.travis.yml fb2246882a .travis.yml: drop xcode9.4 from build matrix 5 年之前
CODING_STYLE.rst 9f8efa74d3 docs: split the CODING_STYLE doc into distinct groups 6 年之前
COPYING a013cc6593 COPYING: update from FSF 17 年之前
COPYING.LIB f0d44cc446 COPYING.LIB: Synchronize the LGPL 2.1 with the version from gnu.org 6 年之前
Changelog 70b7fba987 Use HTTPS for qemu.org and other domains 7 年之前
Kconfig.host 98387d5802 9p: simplify source file selection 6 年之前
LICENSE cb974c95df tcg/LICENSE: Remove out of date claim about TCG subdirectory licensing 5 年之前
MAINTAINERS 8ea6abf0d0 docs/devel: rename plugins.rst to tcg-plugins.rst 5 年之前
Makefile 4e91fc77d5 coroutine: add libucontext as external library 5 年之前
Makefile.objs 877c181cd4 hw: Move PL031 device from hw/timer/ to hw/rtc/ subdirectory 5 年之前
Makefile.target 1474e37eae build: Added support for building QEMU as a shared library 5 年之前
README.rst 637f39568f docs: merge HACKING.rst contents into CODING_STYLE.rst 6 年之前
VERSION b0ca999a43 Update version for v4.2.0 release 5 年之前
arch_init.c 8ac919a065 hw/m68k: add Nubus macfb video card 5 年之前
balloon.c 6a0acfff99 Clean up inclusion of exec/cpu-common.h 6 年之前
block.c feb8266224 build: Add support for iOS host 5 年之前
blockdev-nbd.c 93676c88d7 nbd: Don't send oversize strings 5 年之前
blockdev.c c80d8b06cf block: Add @exact parameter to bdrv_co_truncate() 5 年之前
blockjob.c d876bf676f blockjob: update nodes head while removing all bdrv 6 年之前
bootdevice.c aea60a13b9 bootdevice: FW_CFG interface for LCHS values 5 年之前
bt-host.c d38ea87ac5 all: Clean up includes 9 年之前
bt-vhci.c a8d2532645 Include qemu-common.h exactly where needed 6 年之前
configure 252beadf13 tcg: support exec memory locking 5 年之前
cpus-common.c cfbc3c6083 cpu: introduce cpu_in_exclusive_context() 5 年之前
cpus.c 30865f3168 cpu: hook plugin vcpu events 5 年之前
device-hotplug.c 650d103d3e Include hw/hw.h exactly where needed 6 年之前
device_tree.c 065e6298a7 device_tree: Fix integer overflowing in load_device_tree() 6 年之前
disas.c cbafa2362a plugin: add qemu_plugin_insn_disas helper 5 年之前
dma-helpers.c 539343c0a4 dma-helpers: ensure AIO callback is invoked after cancellation 6 年之前
exec-vary.c bb8e3ea6fa exec: Cache TARGET_PAGE_MASK for TARGET_PAGE_BITS_VARY 5 年之前
exec.c 68d8ef4ec5 Merge remote-tracking branch 'remotes/stsquad/tags/pull-tcg-plugins-281019-4' into staging 5 年之前
gdbstub.c c6ee95216b gdbstub: Fix handler for 'F' packet 6 年之前
gitdm.config eb34fc03e2 contrib: gitdm: add a mapping for Janus Technologies 6 年之前
hmp-commands-info.hx df42fdd6cc riscv: hmp: Add a command to show virtual memory mappings 6 年之前
hmp-commands.hx f0b9f36d71 audio: add audiodev property to vnc and wav_capture 6 年之前
ioport.c a8d2532645 Include qemu-common.h exactly where needed 6 年之前
iothread.c 6ca206204f iothread: document about why we need explicit aio_poll() 6 年之前
job-qmp.c a8d2532645 Include qemu-common.h exactly where needed 6 年之前
job.c bb0c940993 job: drop job_drain 6 年之前
memory.c 894d354fd8 Remove unassigned_access CPU hook 5 年之前
memory_ldst.inc.c 9bf825bf3d memory: Single byte swap along the I/O path 6 年之前
memory_mapping.c a8d2532645 Include qemu-common.h exactly where needed 6 年之前
module-common.c d38ea87ac5 all: Clean up includes 9 年之前
os-posix.c 54d31236b9 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 6 年之前
os-win32.c 54d31236b9 sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 6 年之前
qdev-monitor.c a1190ab628 migration: allow unplug during migration for failover devices 5 年之前
qemu-bridge-helper.c 3283dde4b5 qemu-bridge-helper: move repeating code in parse_acl_file 6 年之前
qemu-deprecated.texi 0d074bf8e7 scsi: deprecate scsi-disk 5 年之前
qemu-doc.texi 369e8f5bbd buildfix: update texinfo menu 5 年之前
qemu-edid.c a8d2532645 Include qemu-common.h exactly where needed 6 年之前
qemu-img-cmds.hx 8eaac025fb qemu-img: Add salvaging mode to convert 6 年之前
qemu-img.c 1474e37eae build: Added support for building QEMU as a shared library 5 年之前
qemu-img.texi fa27c47810 doc: Preallocation does not require writing zeroes 6 年之前
qemu-io-cmds.c e8d04f9237 block: Pass truncate exact=true where reasonable 5 年之前
qemu-io.c 4fa1f0dc05 qemu-io: Support help options for --object 5 年之前
qemu-keymap.c a8d2532645 Include qemu-common.h exactly where needed 6 年之前
qemu-nbd.c 93676c88d7 nbd: Don't send oversize strings 5 年之前
qemu-nbd.texi 637bc5a5d8 qemu-nbd: Add --pid-file option 6 年之前
qemu-option-trace.texi 0b816e986d qemu-option-trace: -trace enable= is a pattern, not a file 7 年之前
qemu-options-wrapper.h 183861456d qemu-img: remove references to GEN_DOCS 7 年之前
qemu-options.h 2a6a4076e1 Clean up ill-advised or unusual header guards 9 年之前
qemu-options.hx d0f90e1423 Merge remote-tracking branch 'remotes/kraxel/tags/audio-20191106-pull-request' into staging 5 年之前
qemu-seccomp.c 035121d23a seccomp: report more useful errors from seccomp 6 年之前
qemu-tech.texi 32481687e1 qemu-tech: Fix dangling @menu entries 6 年之前
qemu.nsi f64f598ad9 win32: fix README file in NSIS installer 6 年之前
qemu.sasl c6a9a9f575 Default to GSSAPI (Kerberos) instead of DIGEST-MD5 for SASL 8 年之前
qtest.c eb062cfa73 tests: add module loading test 6 年之前
replication.c 190b9a8b55 replication: Introduce new APIs to do replication operation 9 年之前
replication.h 0b8fa32f55 Include qemu/module.h where needed, drop it from qemu-common.h 6 年之前
rules.mak 1474e37eae build: Added support for building QEMU as a shared library 5 年之前
thunk.c a8df4845a0 thunk: improve readability of allocation loop 6 年之前
tpm.c d10e05f15d tpm: Clean up error reporting in tpm_init_tpmdev() 6 年之前
trace-events 504f73f7b3 trace: add mmu_index to mem_info 5 年之前
version.rc 70b7fba987 Use HTTPS for qemu.org and other domains 7 年之前
vl.c 1474e37eae build: Added support for building QEMU as a shared library 5 年之前

README.rst

===========
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:


.. code-block:: shell

mkdir build
cd build
../configure
make

Additional information can also be found online via the QEMU website:

* ``_
* ``_
* ``_


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

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

.. code-block:: shell

git clone https://git.qemu.org/git/qemu.git

When submitting patches, one common 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 CODING_STYLE.rst file.

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

* ``_
* ``_

The QEMU website is also maintained under source control.

.. code-block:: shell

git clone https://git.qemu.org/git/qemu-web.git

* ``_

A 'git-publish' utility was created to make above process less
cumbersome, and is highly recommended for making regular contributions,
or even just for sending consecutive patch series revisions. It also
requires a working 'git send-email' setup, and by default doesn't
automate everything, so you may want to go through the above steps
manually for once.

For installation instructions, please go to

* ``_

The workflow with 'git-publish' is:

.. code-block:: shell

$ git checkout master -b my-feature
$ # work on new commits, add your 'Signed-off-by' lines to each
$ git publish

Your patch series will be sent and tagged as my-feature-v1 if you need to refer
back to it in the future.

Sending v2:

.. code-block:: shell

$ git checkout my-feature # same topic branch
$ # making changes to the commits (using 'git rebase', for example)
$ git publish

Your patch series will be sent with 'v2' tag in the subject and the git tip
will be tagged as my-feature-v2.

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:

* ``_

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:

* ``_


Contact
=======

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

* ``_
* ``_
* #qemu on irc.oftc.net

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

* ``_