aboutsummaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
authorDaniel P. Berrangé <berrange@redhat.com>2019-08-23 17:09:24 +0100
committerDaniel P. Berrangé <berrange@redhat.com>2019-09-05 14:27:06 +0100
commit336a7451e8803c21a2da6e7d1eca8cfb8e8b219a (patch)
tree62b2745dc8a2549652a4aa92c157f0e1b85b8411 /README.rst
parent500efcfcf0fe2e0dae1d25637a13435ce7b6e421 (diff)
docs: convert README, CODING_STYLE and HACKING to RST syntax
Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst150
1 files changed, 150 insertions, 0 deletions
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000000..9ff2877416
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,150 @@
+===========
+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:
+
+* `<https://qemu.org/Hosts/Linux>`_
+* `<https://qemu.org/Hosts/Mac>`_
+* `<https://qemu.org/Hosts/W32>`_
+
+
+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 HACKING.rst and CODING_STYLE.rst files.
+
+Additional information on submitting patches can be found online via
+the QEMU website
+
+* `<https://qemu.org/Contribute/SubmitAPatch>`_
+* `<https://qemu.org/Contribute/TrivialPatches>`_
+
+The QEMU website is also maintained under source control.
+
+.. code-block:: shell
+
+ git clone https://git.qemu.org/git/qemu-web.git
+
+* `<https://www.qemu.org/2017/02/04/the-new-qemu-website-is-up/>`_
+
+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
+
+* `<https://github.com/stefanha/git-publish>`_
+
+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:
+
+* `<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:
+
+* `<https://qemu.org/Contribute/ReportABug>`_
+
+
+Contact
+=======
+
+The QEMU community can be contacted in a number of ways, with the two
+main methods being email and IRC
+
+* `<mailto:qemu-devel@nongnu.org>`_
+* `<https://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:
+
+* `<https://qemu.org/Contribute/StartHere>`_