暫無描述

Marc-André Lureau 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
.github 9b89cdb2a5 .github: move repo lockdown to the v2 configuration 3 年之前
.gitlab 6a9c2e07cc GitLab: Add "Feature Request" issue template. 4 年之前
.gitlab-ci.d efd080de76 gitlab: include new aarch32 job in custom-runners 3 年之前
accel 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
audio 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
authz 05e391ae40 configure, meson: convert pam detection to meson 4 年之前
backends 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
block 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
bsd-user 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
capstone @ f8b1b83301 eef20e402c capstone: Update to upstream "next" branch 4 年之前
chardev 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
common-user 620d0b49a4 common-user/host/sparc64: Fix safe_syscall_base 3 年之前
configs ee3eb3a7ce Replace TARGET_WORDS_BIGENDIAN 3 年之前
contrib 8e3b0cbb72 Replace qemu_real_host_page variables with inlined functions 3 年之前
crypto 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
disas 332dab6878 target/riscv: setup everything for rv64 to support rv128 execution 3 年之前
docs ee3eb3a7ce Replace TARGET_WORDS_BIGENDIAN 3 年之前
dtc @ b6910bec11 962fde57b7 dtc: Update to version 1.6.1 3 年之前
dump 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
ebpf 080832e4f4 ebpf: only include in system emulators 3 年之前
fpu 42636fb923 softfloat: Add float64r32 arithmetic routines 3 年之前
fsdev 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
gdb-xml dbd9e08476 target/arm: Advertise MVE to gdb when present 3 年之前
hw 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
include 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
io 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
libdecnumber 21d7826fdb libdecnumber: Introduce decNumberIntegralToInt128 3 年之前
linux-headers 1ea5208feb linux-headers: include missing changes from 5.17 3 年之前
linux-user 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
meson @ 12f9f04ba0 6638cae5f6 meson: bump submodule to 0.59.3 3 年之前
migration 69242e7e7e Move CPU softfloat unions to cpu-float.h 3 年之前
monitor 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
nbd e0e7fe07e1 Remove trailing ; after G_DEFINE_AUTO macro 3 年之前
net 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
pc-bios 9584d3d00a build: disable fcf-protection on -march=486 -m16 3 年之前
plugins 5df022cf2e osdep: Move memalign-related functions to their own header 3 年之前
po 764ecf77d0 po: update turkish translation 3 年之前
python 062fd1dad2 python/utils: add VerboseProcessError 3 年之前
qapi f793dde091 Replace qemu_gettimeofday() with g_get_real_time() 3 年之前
qga 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
qobject d709bbf3b1 include/qapi: add g_autoptr support for qobject types 3 年之前
qom b21e238037 Use g_new() & friends where that makes obvious sense 3 年之前
replay b21e238037 Use g_new() & friends where that makes obvious sense 3 年之前
roms 3ce48e499b edk2: add microvm build 3 年之前
scripts 8e3b0cbb72 Replace qemu_real_host_page variables with inlined functions 3 年之前
scsi f9734d5d40 error: Use error_fatal to simplify obvious fatal errors (again) 4 年之前
semihosting 78beee809d semihosting: clean up handling of expanded argv 3 年之前
slirp @ a88d9ace23 43f547b73d Update libslirp to v4.6.1 4 年之前
softmmu 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
storage-daemon 336d354ba7 error: use GLib to remember the program name 3 年之前
stubs 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
subprojects eb99baa9b3 libvhost-user: Map shared RAM with MAP_NORESERVE to support virtio-mem with hugetlb 3 年之前
target 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
tcg 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
tests 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
tools 4ce7a08d3e virtiofsd: Let meson check for statx.stx_mnt_id 3 年之前
trace 336d354ba7 error: use GLib to remember the program name 3 年之前
ui 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
util 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
.cirrus.yml d2b7bb099f tests: Manually remove libxml2 on MSYS2 runners 3 年之前
.dir-locals.el 91288a58a5 Add .dir-locals.el file to configure emacs coding style 10 年之前
.editorconfig 2c9192c177 .editorconfig: update the automatic mode setting for Emacs 4 年之前
.exrc 692e587fc6 qemu: add .exrc 13 年之前
.gdbinit 3a586d2f0b .gdbinit: load QEMU sub-commands when gdb starts 8 年之前
.gitattributes bc4ca8efba gitattributes: Cover Objective-C source files 3 年之前
.gitignore 5934ebe990 .gitignore: add .gcov pattern 3 年之前
.gitlab-ci.yml 9ada9fd259 docs: Document GitLab custom CI/CD variables 4 年之前
.gitmodules 9641ba6b58 gitmodules: Correct libvirt-ci submodule URL 3 年之前
.gitpublish 08bb160e02 Add a git-publish configuration file 7 年之前
.mailmap 034e050dbd MAINTAINERS: change Fred Konrad's email address 3 年之前
.patchew.yml 66cf70149a scripts/checkpatch: roll diff tweaking into checkpatch itself 4 年之前
.readthedocs.yml 36d9c2883e readthedocs: build with Python 3.6 4 年之前
.travis.yml 309df6acb2 gitlab: disable accelerated zlib for s390x 3 年之前
COPYING a013cc6593 COPYING: update from FSF 17 年之前
COPYING.LIB f0d44cc446 COPYING.LIB: Synchronize the LGPL 2.1 with the version from gnu.org 6 年之前
Kconfig f4063f9c31 meson: Introduce target-specific Kconfig 4 年之前
Kconfig.host 65ce87d476 kconfig: split CONFIG_SPARSE_MEM from fuzzing 3 年之前
LICENSE cb974c95df tcg/LICENSE: Remove out of date claim about TCG subdirectory licensing 5 年之前
MAINTAINERS bc6ec396d4 Merge tag 'pull-request-2022-04-01' of https://gitlab.com/thuth/qemu into staging 3 年之前
Makefile 029e2da880 Makefile: also remove .gcno files when cleaning 3 年之前
README.rst 1c3515ad59 README: Fix some documentation URLs 3 年之前
VERSION aea6e47108 Update version for v7.0.0-rc2 release 3 年之前
block.c 8e3b0cbb72 Replace qemu_real_host_page variables with inlined functions 3 年之前
blockdev-nbd.c e8ae8b1a75 block/nbd: don't restrict TLS usage to IP sockets 3 年之前
blockdev.c f793dde091 Replace qemu_gettimeofday() with g_get_real_time() 3 年之前
blockjob.c cf81ae28a1 assertions for blockjob.h global state API 3 年之前
configure 98a02bc449 configure: remove dead int128 test 3 年之前
cpu.c 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
cpus-common.c b21e238037 Use g_new() & friends where that makes obvious sense 3 年之前
disas.c ee3eb3a7ce Replace TARGET_WORDS_BIGENDIAN 3 年之前
gdbstub.c 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
gitdm.config a10f373de4 contrib/gitdm: add a new interns group-map for GSoC/Outreachy work 4 年之前
hmp-commands-info.hx 409e9f7131 mos6522: add "info via" HMP command for debugging 3 年之前
hmp-commands.hx 675fd3c96b qapi/monitor: allow VNC display id in set/expire_password 3 年之前
iothread.c 1cc7eada97 iothread: use IOThreadParamInfo in iothread_[set|get]_param() 3 年之前
job-qmp.c a7b4f8fc09 progressmeter: protect with a mutex 4 年之前
job.c c70b8031c6 job.h: assertions in the callers of JobDriver function pointers 3 年之前
memory_ldst.c.inc f933b02b59 exec/memory_ldst: Use correct type sizes 4 年之前
meson.build fcc41961c9 qga: remove explicit environ argument from exec/spawn 3 年之前
meson_options.txt 5dc4618e78 configure, meson: move CONFIG_IASL to a Meson option 3 年之前
module-common.c d38ea87ac5 all: Clean up includes 9 年之前
os-posix.c 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
os-win32.c 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
page-vary-common.c 0f9668e0c1 Remove qemu-common.h include from most units 3 年之前
page-vary.c ec5f7ca857 include: move target page bits declaration to page-vary.h 3 年之前
qemu-bridge-helper.c f761b41a62 qemu-bridge-helper: relocate path to default ACL 4 年之前
qemu-edid.c de72c4b7cd edid: set default resolution to 1280x800 (WXGA) 3 年之前
qemu-img-cmds.hx 111fbd74f6 qemu-img: Unify [-b [-F]] documentation 3 年之前
qemu-img.c 16a18f2681 include: move progress API to qemu-progress.h 3 年之前
qemu-io-cmds.c fdee2c9692 Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2022-03-07' into staging 3 年之前
qemu-io.c 336d354ba7 error: use GLib to remember the program name 3 年之前
qemu-keymap.c 4455922f7b qemu-keymap: Add license in generated files 3 年之前
qemu-nbd.c e8ae8b1a75 block/nbd: don't restrict TLS usage to IP sockets 3 年之前
qemu-options.hx 5324e3e958 qemu-options: define -spice only #ifdef CONFIG_SPICE 3 年之前
qemu.nsi c08796378d nsis installer: Fix mouse-over descriptions for emulators 3 年之前
qemu.sasl 213de8a2fb sasl: remove comment about obsolete kerberos versions 4 年之前
replication.c b02629550d replication: move include out of root directory 4 年之前
trace-events c51e51005b tracing: remove TCG memory access tracing 3 年之前
version.rc ddfcb8c43c configure: remove CONFIG_FILEVERSION and CONFIG_PRODUCTVERSION 4 年之前

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.


Documentation
=============

Documentation can be found hosted online at
``_. The documentation for the
current development version that is available at
``_ is generated from the ``docs/``
folder in the source tree, and is built by `Sphinx
_`.


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://gitlab.com/qemu-project/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 `style section
` of
the Developers Guide.

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://gitlab.com/qemu-project/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 GitLab issues to track bugs. 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 GitLab.

For additional information on bug reporting consult:

* ``_


ChangeLog
=========

For version history and release notes, please visit
``_ or look at the git history for
more detailed information.


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:

* ``_