1. 05 2月, 2020 7 次提交
  2. 04 2月, 2020 18 次提交
  3. 03 2月, 2020 15 次提交
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-docs-20200203' into staging · f31160c7
      Peter Maydell 提交于
      docs:
       * Fix Makefile concurrency bug where we could run Sphinx twice
         in parallel on the same manual (which makes it crash)
       * Support handling hxtool doc fragments for rST manuals
       * Convert qemu-img docs to rST
       * Convert qemu-trace-stap docs to rST
       * Convert virtfs-proxy-helper docs to rST
      
      # gpg: Signature made Mon 03 Feb 2020 11:11:44 GMT
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-docs-20200203:
        virtfs-proxy-helper: Convert documentation to rST
        scripts/qemu-trace-stap: Convert documentation to rST
        qemu-img-cmds.hx: Remove texinfo document fragments
        qemu-img: Convert invocation documentation to rST
        qemu-img-cmds.hx: Add rST documentation fragments
        docs/sphinx: Add new hxtool Sphinx extension
        hxtool: Support SRST/ERST directives
        Makefile: Ensure we don't run Sphinx in parallel for manpages
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      f31160c7
    • P
      virtfs-proxy-helper: Convert documentation to rST · 78813586
      Peter Maydell 提交于
      The virtfs-proxy-helper documentation is currently in
      fsdev/qemu-trace-stap.texi in Texinfo format, which we
      present to the user as:
       * a virtfs-proxy-helper manpage
       * but not (unusually for QEMU) part of the HTML docs
      
      Convert the documentation to rST format that lives in
      the docs/ subdirectory, and present it to the user as:
       * a virtfs-proxy-helper manpage
       * part of the interop/ Sphinx manual
      
      There are minor formatting changes to suit Sphinx, but no
      content changes. In particular I've split the -u and -g
      options into each having their own description text.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Acked-by: NGreg Kurz <groug@kaod.org>
      Message-id: 20200124162606.8787-9-peter.maydell@linaro.org
      78813586
    • P
      scripts/qemu-trace-stap: Convert documentation to rST · 605ffebb
      Peter Maydell 提交于
      The qemu-trace-stap documentation is currently in
      scripts/qemu-trace-stap.texi in Texinfo format, which we
      present to the user as:
       * a qemu-trace-stap manpage
       * but not (unusually for QEMU) part of the HTML docs
      
      Convert the documentation to rST format that lives in
      the docs/ subdirectory, and present it to the user as:
       * a qemu-trace-stap manpage
       * part of the interop/ Sphinx manual
      
      There are minor formatting changes to suit Sphinx, but no
      content changes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Tested-by: NAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20200124162606.8787-8-peter.maydell@linaro.org
      605ffebb
    • P
      qemu-img-cmds.hx: Remove texinfo document fragments · 96ddefbc
      Peter Maydell 提交于
      Now the qemu-img documentation has been converted to rST, we can
      remove the texinfo document fragments from qemu-img-cmds.hx, as
      they are no longer used.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20200124162606.8787-7-peter.maydell@linaro.org
      96ddefbc
    • P
      qemu-img: Convert invocation documentation to rST · e13c59fa
      Peter Maydell 提交于
      The qemu-img documentation is currently in qemu-nbd.texi in Texinfo
      format, which we present to the user as:
       * a qemu-img manpage
       * a section of the main qemu-doc HTML documentation
      
      Convert the documentation to rST format, and present it to the user as:
       * a qemu-img manpage
       * part of the interop/ Sphinx manual
      
      The qemu-img rST document uses the new hxtool extension
      to handle pulling rST fragments out of qemu-img-cmds.hx.
      
      The documentation of the various options and commands is rather
      muddled, with some options being described inside the relevant
      command description and some in a more general section near the start
      of the manual.  All the command synopses are replicated in the .hx
      file and then again in the manual.  A lot of text is also duplicated
      in the qemu-img.c code for the help text.  I have not attempted to
      deal with any of this, but have simply transposed the existing
      structure into rST.
      
      As usual, there are some minor formatting changes but no
      textual changes, except that as with one or two other conversions
      I have dropped the 'see also' section since it's not very
      informative and looks odd in the HTML.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Tested-by: NAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20200124162606.8787-6-peter.maydell@linaro.org
      e13c59fa
    • P
      qemu-img-cmds.hx: Add rST documentation fragments · 195b5109
      Peter Maydell 提交于
      Add the rST versions of the documentation fragments.
      Once we've converted qemu-img.texi to rST we can delete
      the texi fragments; for the moment we leave them in place.
      
      (Commit created with the aid of emacs query-replace-regexp
      from "@var{\([^}]*\)}" to "\,(upcase \1))".)
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20200124162606.8787-5-peter.maydell@linaro.org
      195b5109
    • P
      docs/sphinx: Add new hxtool Sphinx extension · 6803d6e9
      Peter Maydell 提交于
      Some of our documentation includes sections which are created
      by assembling fragments of texinfo from a .hx source file into
      a .texi file, which is then included from qemu-doc.texi or
      qemu-img.texi.
      
      For Sphinx, rather than creating a file to include, the most natural
      way to handle this is to have a small custom Sphinx extension which
      reads the .hx file and process it.  So instead of:
       * makefile produces foo.texi from foo.hx
       * qemu-doc.texi says '@include foo.texi'
      we have:
       * qemu-doc.rst says 'hxtool-doc:: foo.hx'
       * the Sphinx extension for hxtool has code that runs to handle that
         Sphinx directive which reads the .hx file and emits the appropriate
         documentation contents
      
      This is pretty much the same way the kerneldoc extension works right
      now. It also has the advantage that it should work for third-party
      services like readthedocs that expect to build the docs directly with
      sphinx rather than by invoking our makefiles.
      
      In this commit we implement the hxtool extension.
      
      Note that syntax errors in the rST fragments will be correctly
      reported to the user with the filename and line number within the
      hx file.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Tested-by: NAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20200124162606.8787-4-peter.maydell@linaro.org
      6803d6e9
    • P
      hxtool: Support SRST/ERST directives · b0cecc0d
      Peter Maydell 提交于
      We want to add support for including rST document fragments
      in our .hx files, in the same way we currently have texinfo
      fragments. These will be delimited by SRST and ERST directives,
      in the same way the texinfo is delimited by STEXI/ETEXI.
      The rST fragments will not be extracted by the hxtool
      script, but by a different mechanism, so all we need to
      do in hxtool is have it ignore all the text inside a
      SRST/ERST section, with suitable error-checking for
      mismatched rST-vs-texi fragment delimiters.
      
      The resulting effective state machine has only three states:
       * flag = 0, rstflag = 0 : reading section for C output
       * flag = 1, rstflag = 0 : reading texi fragment
       * flag = 0, rstflag = 1 : reading rST fragment
      and flag = 1, rstflag = 1 is not possible. Using two
      variables makes the parallel between the rST handling and
      the texi handling clearer; in any case all this code will
      be deleted once we've converted entirely to rST.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-id: 20200124162606.8787-3-peter.maydell@linaro.org
      b0cecc0d
    • P
      Makefile: Ensure we don't run Sphinx in parallel for manpages · e0f3728d
      Peter Maydell 提交于
      Sphinx will corrupt its doctree cache if we run two copies
      of it in parallel. In commit 6bda415c we worked
      around this by having separate doctrees for 'html' vs 'manpage'
      runs. However now that we have more than one manpage produced
      from a single manual we can run into this again when trying
      to produce the two manpages.
      
      Use the trick described in 'Atomic Rules in GNU Make'
      https://www.cmcrossroads.com/article/atomic-rules-gnu-make
      to ensure that we only run the Sphinx manpage builder once
      for each manual, even if we're producing several manpages.
      This fixes doctree corruption in parallel builds and also
      avoids pointlessly running Sphinx more often than we need to.
      
      (In GNU Make 4.3 there is builtin support for this, via
      the "&:" syntax, but we can't wait for that to be available
      in all the distros we support...)
      
      The generic "one invocation for multiple output files"
      machinery is provided as a macro named 'atomic' in rules.mak;
      we then wrap this in a more specific macro for defining
      the rule and dependencies for the manpages in a Sphinx
      manual, to avoid excessive repetition.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      Tested-by: NAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20200124162606.8787-2-peter.maydell@linaro.org
      e0f3728d
    • P
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-5.0-20200203' into staging · 035b2197
      Peter Maydell 提交于
      ppc patch queue 2020-02093
      
      This pull request supersedes ppc-for-5.0-20200131.  The only changes
      are one extra patch to suppress some irritating warnings during tests
      under TCG, and an extra Tested-by in one of the other patches.
      
      Here's the next batch of patches for ppc and associated machine types.
      Highlights includes:
       * Remove the deprecated "prep" machine type and its OpenHackware
         firmware
       * Add TCG emulation of the msgsndp etc. supervisor privileged
         doorbell instructions
       * Allow "pnv" machine type to run Hostboot style firmwares
       * Add a virtual TPM device for spapr machines
       * Implement devices for POWER8 PHB3 and POWER9 PHB4 host bridges for
         the pnv machine type
       * Use faster Spectre mitigation by default for POWER9 DD2.3 machines
       * Introduce Firmware Assisted NMI dump facility for spapr machines
       * Fix a performance regression with load/store multiple instructions
         in TCG
      
      as well as some other assorted cleanups and fixes.
      
      # gpg: Signature made Mon 03 Feb 2020 03:30:24 GMT
      # gpg:                using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392
      # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full]
      # gpg:                 aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full]
      # gpg:                 aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full]
      # gpg:                 aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown]
      # Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392
      
      * remotes/dgibson/tags/ppc-for-5.0-20200203: (35 commits)
        tests: Silence various warnings with pseries
        target/ppc: Use probe_write for DCBZ
        target/ppc: Remove redundant mask in DCBZ
        target/ppc: Use probe_access for LMW, STMW
        target/ppc: Use probe_access for LSW, STSW
        ppc: spapr: Activate the FWNMI functionality
        migration: Include migration support for machine check handling
        ppc: spapr: Handle "ibm,nmi-register" and "ibm,nmi-interlock" RTAS calls
        target/ppc: Build rtas error log upon an MCE
        target/ppc: Handle NMI guest exit
        ppc: spapr: Introduce FWNMI capability
        Wrapper function to wait on condition for the main loop mutex
        target/ppc/cpu.h: Put macro parameter in parentheses
        spapr: Enable DD2.3 accelerated count cache flush in pseries-5.0 machine
        ppc/pnv: change the PowerNV machine devices to be non user creatable
        ppc/pnv: Add models for POWER8 PHB3 PCIe Host bridge
        ppc/pnv: Add models for POWER9 PHB4 PCIe Host bridge
        docs/specs/tpm: reST-ify TPM documentation
        hw/ppc/Kconfig: Enable TPM_SPAPR as part of PSERIES config
        tpm_spapr: Support suspend and resume
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      035b2197
    • G
      tests: Silence various warnings with pseries · 63d57c8f
      Greg Kurz 提交于
      Some default features of the pseries machine are only available with
      KVM. Warnings are printed when the pseries machine is used with another
      accelerator:
      
      qemu-system-ppc64: warning: TCG doesn't support requested feature,
      cap-ccf-assist=on
      qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
      Interrupts(FWNMI) not supported in TCG
      qemu-system-ppc64: warning: TCG doesn't support requested feature,
      cap-ccf-assist=on
      qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
      Interrupts(FWNMI) not supported in TCG
      qemu-system-ppc64: warning: TCG doesn't support requested feature,
      cap-ccf-assist=on
      qemu-system-ppc64: warning: Firmware Assisted Non-Maskable
      Interrupts(FWNMI) not supported in TCG
      
      This is annoying for CI since it usually runs without KVM. We already
      disable features that emit similar warnings thanks to properties of
      the pseries machine, but this is open-coded in various
      places. Consolidate the set of properties in a single place. Extend it
      to silence the above warnings. And use it in the various tests that
      start pseries machines.
      Reported-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Message-Id: <158059697130.1820292.7823434132030453110.stgit@bahia.lan>
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      [dwg: Correct minor grammatical error]
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      63d57c8f
    • R
      target/ppc: Use probe_write for DCBZ · 4dcf078f
      Richard Henderson 提交于
      Using probe_write instead of tlb_vaddr_to_host means that we
      process watchpoints and notdirty pages more efficiently.
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20200129235040.24022-5-richard.henderson@linaro.org>
      Tested-by: NHoward Spoelstra <hsp.cat7@gmail.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      4dcf078f
    • R
      target/ppc: Remove redundant mask in DCBZ · 1cbddf6d
      Richard Henderson 提交于
      The value of addr has already been masked, just above.
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20200129235040.24022-4-richard.henderson@linaro.org>
      Tested-by: NHoward Spoelstra <hsp.cat7@gmail.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      1cbddf6d
    • R
      target/ppc: Use probe_access for LMW, STMW · 2ca2ef49
      Richard Henderson 提交于
      Use a minimum number of mmu lookups for the contiguous bytes
      that are accessed.  If the lookup succeeds, we can finish the
      operation with host addresses only.
      Reported-by: NHoward Spoelstra <hsp.cat7@gmail.com>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20200129235040.24022-3-richard.henderson@linaro.org>
      Tested-by: NHoward Spoelstra <hsp.cat7@gmail.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      2ca2ef49
    • R
      target/ppc: Use probe_access for LSW, STSW · bb99b391
      Richard Henderson 提交于
      Use a minimum number of mmu lookups for the contiguous bytes
      that are accessed.  If the lookup succeeds, we can finish the
      operation with host addresses only.
      Reported-by: NHoward Spoelstra <hsp.cat7@gmail.com>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20200129235040.24022-2-richard.henderson@linaro.org>
      Tested-by: NHoward Spoelstra <hsp.cat7@gmail.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      bb99b391