summaryrefslogtreecommitdiffstats
path: root/qemu-tech.texi
Commit message (Collapse)AuthorAgeFilesLines
* cli qmp: Mark --preconfig, exit-preconfig experimentalMarkus Armbruster2018-07-161-4/+4
| | | | | | | | | | | | | | | | Committing to the current --preconfig / exit-preconfig interface before it has seen any use is premature. Mark both as experimental, the former in documentation, the latter by renaming it to x-exit-preconfig. See the previous commit for more detailed rationale. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20180705091402.26244-3-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Eduardo Habkost <ehabkost@redhat.com> Acked-by: Igor Mammedov <imammedo@redhat.com> [Straightforward conflict with commit 514337c142f resolved]
* qapi: Do not expose "allow-preconfig" in query-qmp-schemaMarkus Armbruster2018-07-161-3/+0Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to commit 047f7038f58, option --preconfig [...] allows pausing QEMU in the new RUN_STATE_PRECONFIG state, allowing the configuration of QEMU from QMP before the machine jumps into board initialization code of machine_run_board_init() The intent is to allow management to query machine state and additionally configure it using previous query results within one QEMU instance (i.e. eliminate the need to start QEMU twice, 1st to query board specific parameters and 2nd for actual VM start using query results for additional parameters). The implementation is a bit of a hack: it splices in an additional main loop before machine creation, in special runstate preconfig. New command exit-preconfig exits that main loop. QEMU continues initializing, creates the machine, and runs the good old main loop. The replacement of the main loop is transparent to monitors. Sadly, some commands expect initialization to be complete. Running them in --preconfig's main loop violates their preconditions. Since we don't really know which commands are safe, we use a whitelist. This drags the concept of run state into the QMP core. The whitelist is done as a command flag in the QAPI schema (commit d6fe3d02e9a). Drags the concept of run state further into the QAPI language. The command flag is exposed in query-qmp-schema (also commit d6fe3d02e9a). This makes it ABI. I consider the whole thing an offensively ugly hack, but sometimes an ugly hack is the best we can do to solve a problem people have. The need described by the commit message quote above is genuine. The proper solution would be a main loop that permits complete configuration via QMP. This is out of reach, thus the hack. However, even though the need is genuine, it isn't urgent: libvirt is not going to use this anytime soon. Baking a hack into ABI before it has any users is a bad idea. This commit reverts the parts of commit d6fe3d02e9a that affect ABI via query-qmp-schema. The commit did the following: (1) Add command flag 'allow-preconfig' to the QAPI schema language (2) Pass it to code generators (3) Have the commands.py code generator pass it to the command registry (so commit 047f7038f58 can use it as whitelist) (4) Add 'allow-preconfig' to SchemaInfoCommand (neglecting to update qapi-code-gen.txt section "Client JSON Protocol introspection") (5) Set 'allow-preconfig': true for commands qmp_capabilities, query-commands, query-command-line-options, query-status Revert exactly (4), plus a bit of documentation added to qemu-tech.info in commit 047f7038f58. Shrinks query-qmp-schema's output from 126.5KiB to 121.8KiB for me. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20180705091402.26244-2-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Acked-by: Eduardo Habkost <ehabkost@redhat.com> Acked-by: Igor Mammedov <imammedo@redhat.com> [Straightforward conflict with commit d626b6c1ae7 resolved]
* cli: add --preconfig optionIgor Mammedov2018-05-301-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This option allows pausing QEMU in the new RUN_STATE_PRECONFIG state, allowing the configuration of QEMU from QMP before the machine jumps into board initialization code of machine_run_board_init() The intent is to allow management to query machine state and additionally configure it using previous query results within one QEMU instance (i.e. eliminate the need to start QEMU twice, 1st to query board specific parameters and 2nd for actual VM start using query results for additional parameters). The new option complements -S option and could be used with or without it. The difference is that -S pauses QEMU when the machine is completely initialized with all devices wired up and ready to execute guest code (QEMU needs only to unpause VCPUs to let guest execute its code), while the "preconfig" option pauses QEMU early before board specific init callback (machine_run_board_init) is executed and allows the configuration of machine parameters which will be used by board init code. When early introspection/configuration is done, command 'exit-preconfig' should be used to exit RUN_STATE_PRECONFIG and transition to the next requested state (i.e. if -S is used then QEMU will pause the second time when board/device initialization is completed or start guest execution if -S isn't provided on CLI) PS: Initially 'preconfig' is planned to be used for configuring numa topology depending on board specified possible cpus layout. Signed-off-by: Igor Mammedov <imammedo@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <1526059483-42847-1-git-send-email-imammedo@redhat.com> [ehabkost: Changed "since 2.13" to "since 3.0"] Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* qemu-doc: merge qemu-tech and qemu-docPaolo Bonzini2016-10-071-44/+12Star
| | | | | | | | | | | Merge what is left of qemu-tech into the main manual as an appendix. Ultimately we should have a new internals manual built from docs/, and then the "Translator Internals" parts of qemu-tech could move to docs/ as well. The bits on limitation and features of CPU emulation should remain in qemu-doc. Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: rewrite some partsPaolo Bonzini2016-10-071-82/+42Star
| | | | | | | | Drop most the device emulation part and merge the rest into the description of the MMU. Make some bits more up-to-date. Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: reorganize contentPaolo Bonzini2016-10-071-97/+74Star
| | | | | | | | Split more parts into separate chapters, place comparison last, rename "Introduction" to "CPU emulation". Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: move TCG test documentation to tests/tcg/READMEPaolo Bonzini2016-10-071-35/+0Star
| | | | | Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: move user mode emulation features from qemu-techPaolo Bonzini2016-10-071-71/+0Star
| | | | | | | | | | | These are interesting for users too, since nowadays most qemu-user users are going to be somewhat technical rather than just people that want to run Wine. Some detail is lost, on the other hand some of the information I removed (e.g. basic block unchaining) was obsolete. Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: document lazy condition code evaluation in cpu.hPaolo Bonzini2016-10-071-25/+0Star
| | | | | | | Unlike the other sections, they are pretty specific to a particular CPU. Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: move text from qemu-tech to tcg/READMEPaolo Bonzini2016-10-071-10/+2Star
| | | | | Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-doc: replace introduction with the one from the internals manualPaolo Bonzini2016-10-071-88/+0Star
| | | | | | | | | | The user manual has an obsolete introduction, and the one in the internals manual lists QEMU's features quite nicely. Drop the obsolete content and remove generic user-level documentation from qemu-tech. Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech: drop indexPaolo Bonzini2016-10-071-5/+0Star
| | | | | Reviewed-by: Emilio G. Cota <cota@braap.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* Remove remainders of HPPA backendThomas Huth2016-09-151-2/+1Star
| | | | | | | | | | | | | | | | The HPPA backend has been removed by the following commit: 802b5081233a6b643a8b135a5facaf14bafaa77d tcg-hppa: Remove tcg backend But some small pieces of the HPPA backend still survived until today. Since we also do not have support for a HPPA target in QEMU, we can nowadays safely remove the remaining HPPA parts (like the disassembler code, or the detection of HPPA in the configure script). Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
* tcg: Rename tcg-target.c to tcg-target.inc.cPeter Maydell2016-02-231-1/+1
| | | | | | | | | | | Rename the per-architecture tcg-target.c files to tcg-target.inc.c. This makes it clearer that they are not intended to be standalone C files, but are instead #included into another source file. Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Message-Id: <1456238983-10160-2-git-send-email-peter.maydell@linaro.org> Signed-off-by: Richard Henderson <rth@twiddle.net>
* doc: Refresh URLs in the qemu-tech documentationThomas Huth2015-09-251-43/+30Star
| | | | | | | | | | The TwoOStwo and Willows page seem to have disappeared completely, and also some of the other links were not pointing to the right locations anymore. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-Id: <1443173916-8895-1-git-send-email-thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-doc: fix typosGonglei2015-07-241-1/+1
| | | | | | | Signed-off-by: Gonglei <arei.gonglei@huawei.com> Message-Id: <1435917057-9396-1-git-send-email-arei.gonglei@huawei.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
* qemu-tech.texi: update implemented xtensa features listMax Filippov2012-11-291-5/+5
| | | | | | | | Debug option is available since QEMU-1.2; FP coprocessor and coprocessor context is available since QEMU-1.3. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* doc: Fix indefinite article an -> a before nouns that begin with 'h'Stefan Weil2012-07-171-1/+1
| | | | | | | | | Although the rule also allows 'an' for historical reasons, 'a' is more common because 'h' is pronounced. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Drop darwin-userAndreas Färber2012-05-011-2/+1Star
| | | | | | | | | | | | It's been orphaned, not compiling for a long time and despite Apple's drop of their Rosetta ppc emulation technology with Mac OS X Lion no one has stepped up to fix it. Testing necessary changes wrt QOM'ification thus is impossible, so we might as well remove it completely. Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
* qemu-tech.texi: Remove libqemu related stuff from the documentChen Wei-Ren2011-12-091-10/+0Star
| | | | | | | | | Remove libqemu related stuff from the document since libqemu.a is not supported anymore. Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Chen Wei-Ren <chenwj@iis.sinica.edu.tw> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* qemu-tech.texi: Update default code cache size陳韋任2011-11-101-1/+1
| | | | | | | Update the document since the default code cache size is 32 MB now. Signed-off-by: chenwj <chenwj@cs.nctu.edu.tw> Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
* target-xtensa: update qemu-doc.texiMax Filippov2011-10-151-7/+33
| | | | | Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* qemu-tech: Spelling fixesStefan Weil2011-01-091-2/+2
| | | | | Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Documentation: Use UTF-8 encoding and fix one wrong encodingStefan Weil2010-02-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | At least for Linux distributions UTF-8 is now standard, so the QEMU documentation should use this encoding, too. Even if there was currently only a single special character using ISO-8859-1, this might change in the future. So the texinfo keywords @documentlanguage and @documentencoding now document the language and the encoding. The special character was changed to UTF-8 (it could also have been changed to an x, but the original cross looks really nice if it is displayed correctly). These changes fix the html presentation at http://www.qemu.org/qemu-doc.html#SEC65 (ARM System emulator). Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Documentation: Add direntry for info formatStefan Weil2010-02-101-0/+6
| | | | | | | | | | | | | | update-info-dir maintains an index of all available documentation in info format (the file /usr/share/info/dir). It reads special @direntry tags in info files. This patch (extracted from a larger patch provided by Dirk Ullrich) adds these tags for qemu-doc.info and qemu-tech.info. Signed-off-by: Stefan Weil <weil@mail.berlios.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Unbreak large mem support by removing kqemuAnthony Liguori2009-08-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | kqemu introduces a number of restrictions on the i386 target. The worst is that it prevents large memory from working in the default build. Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on the TSC as a time source which will not be reliable on a multiple processor system in userspace. Since most modern processors are multicore, this severely limits the utility of kqemu. kvm is a viable alternative for people looking to accelerate qemu and has the benefit of being supported by the upstream Linux kernel. If someone can implement work arounds to remove the restrictions introduced by kqemu, I'm happy to avoid and/or revert this patch. N.B. kqemu will still function in the 0.11 series but this patch removes it from the 0.12 series. Paul, please Ack or Nack this patch. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
* Update docs on dynamic condition code calculationBlue Swirl2009-05-101-3/+5
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej)blueswir12008-10-091-110/+178
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5453 c046a42c-6fe2-441c-8c8c-71466251a162
* Spelling fixes, by Stefan Weil.ths2008-06-031-2/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4655 c046a42c-6fe2-441c-8c8c-71466251a162
* 128-bit float support for user modeblueswir12007-11-251-2/+1Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3740 c046a42c-6fe2-441c-8c8c-71466251a162
* Update Sparc parts in documentationblueswir12007-10-201-6/+4Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3413 c046a42c-6fe2-441c-8c8c-71466251a162
* find -type f | xargs sed -i 's/[\t ]$//g' # on most filesths2007-09-161-25/+25
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162
* More documentation bits, from Stefan Weil.ths2007-07-121-1/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3073 c046a42c-6fe2-441c-8c8c-71466251a162
* Documentation update for MIPS.ths2007-07-111-0/+26
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3056 c046a42c-6fe2-441c-8c8c-71466251a162
* Documentation updateblueswir12007-04-051-3/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2605 c046a42c-6fe2-441c-8c8c-71466251a162
* Sparc tagged operations (Aurelien Jarno)blueswir12007-03-231-3/+0Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2531 c046a42c-6fe2-441c-8c8c-71466251a162
* Enhanced Documentation (Stefan Weil)bellard2006-04-301-4/+82
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1873 c046a42c-6fe2-441c-8c8c-71466251a162
* sparc64 fixes (Blue Swirl)bellard2005-07-231-1/+0Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1514 c046a42c-6fe2-441c-8c8c-71466251a162
* sparc64 marge (Blue Swirl)bellard2005-07-021-2/+25
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1462 c046a42c-6fe2-441c-8c8c-71466251a162
* typosbellard2005-04-301-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1427 c046a42c-6fe2-441c-8c8c-71466251a162
* SPARC mergebellard2004-12-201-2/+3
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1179 c046a42c-6fe2-441c-8c8c-71466251a162
* updatebellard2004-09-051-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1058 c046a42c-6fe2-441c-8c8c-71466251a162
* doc updatebellard2004-07-081-16/+3Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@990 c046a42c-6fe2-441c-8c8c-71466251a162
* updatebellard2004-04-241-1/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@740 c046a42c-6fe2-441c-8c8c-71466251a162
* doc updatebellard2004-04-041-0/+506
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@705 c046a42c-6fe2-441c-8c8c-71466251a162