Skip to content
Snippets Groups Projects
  1. Apr 22, 2020
  2. Apr 21, 2020
  3. Apr 20, 2020
    • Philippe Mathieu-Daudé's avatar
      target/ppc: Fix TCG temporary leaks in gen_slbia() · 3119154d
      Philippe Mathieu-Daudé authored
      This fixes:
      
        $ qemu-system-ppc64 \
        -machine pseries-4.1 -cpu power9 \
        -smp 4 -m 12G -accel tcg ...
        ...
        Quiescing Open Firmware ...
        Booting Linux via __start() @ 0x0000000002000000 ...
        Opcode 1f 12 0f 00 (7ce003e4) leaked temporaries
        Opcode 1f 12 0f 00 (7ce003e4) leaked temporaries
        Opcode 1f 12 0f 00 (7ce003e4) leaked temporaries
      
      [*] https://www.mail-archive.com/qemu-discuss@nongnu.org/msg05400.html
      
      
      
      Fixes: 0418bf78 ("Fix ISA v3.0 (POWER9) slbia implementation")
      Reported-by: default avatarDennis Clarke <dclarke@blastwave.org>
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarNicholas Piggin <npiggin@gmail.com>
      Reviewed-by: default avatarCédric Le Goater <clg@kaod.org>
      Message-id: 20200417090749.14310-1-f4bug@amsat.org
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      3119154d
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-5.0-20200417' into staging · 5b4273e4
      Peter Maydell authored
      
      ppc patch queue for 2020-04-17
      
      Here are a few late bugfixes for qemu-5.0 in the ppc target code.
      Unless some really nasty last minute bug shows up, I expect this to be
      the last ppc pull request for qemu-5.0.
      
      # gpg: Signature made Fri 17 Apr 2020 06:02:13 BST
      # 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-20200417:
        target/ppc: Fix mtmsr(d) L=1 variant that loses interrupts
        target/ppc: Fix wrong interpretation of the disposition flag.
        linux-user/ppc: Fix padding in mcontext_t for ppc64
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      5b4273e4
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging · d5232d8b
      Peter Maydell authored
      
      Fix epoll_create1() for qemu-alpha
      
      # gpg: Signature made Thu 16 Apr 2020 16:28:15 BST
      # gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
      # gpg:                issuer "laurent@vivier.eu"
      # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full]
      # gpg:                 aka "Laurent Vivier <laurent@vivier.eu>" [full]
      # gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full]
      # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
      
      * remotes/vivier2/tags/linux-user-for-5.0-pull-request:
        linux-user/syscall.c: add target-to-host mapping for epoll_create1()
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      d5232d8b
    • Chen Qun's avatar
      block/iscsi:fix heap-buffer-overflow in iscsi_aio_ioctl_cb · ff0507c2
      Chen Qun authored
      
      There is an overflow, the source 'datain.data[2]' is 100 bytes,
       but the 'ss' is 252 bytes.This may cause a security issue because
       we can access a lot of unrelated memory data.
      
      The len for sbp copy data should take the minimum of mx_sb_len and
       sb_len_wr, not the maximum.
      
      If we use iscsi device for VM backend storage, ASAN show stack:
      
      READ of size 252 at 0xfffd149dcfc4 thread T0
          #0 0xaaad433d0d34 in __asan_memcpy (aarch64-softmmu/qemu-system-aarch64+0x2cb0d34)
          #1 0xaaad45f9d6d0 in iscsi_aio_ioctl_cb /qemu/block/iscsi.c:996:9
          #2 0xfffd1af0e2dc  (/usr/lib64/iscsi/libiscsi.so.8+0xe2dc)
          #3 0xfffd1af0d174  (/usr/lib64/iscsi/libiscsi.so.8+0xd174)
          #4 0xfffd1af19fac  (/usr/lib64/iscsi/libiscsi.so.8+0x19fac)
          #5 0xaaad45f9acc8 in iscsi_process_read /qemu/block/iscsi.c:403:5
          #6 0xaaad4623733c in aio_dispatch_handler /qemu/util/aio-posix.c:467:9
          #7 0xaaad4622f350 in aio_dispatch_handlers /qemu/util/aio-posix.c:510:20
          #8 0xaaad4622f350 in aio_dispatch /qemu/util/aio-posix.c:520
          #9 0xaaad46215944 in aio_ctx_dispatch /qemu/util/async.c:298:5
          #10 0xfffd1bed12f4 in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x512f4)
          #11 0xaaad46227de0 in glib_pollfds_poll /qemu/util/main-loop.c:219:9
          #12 0xaaad46227de0 in os_host_main_loop_wait /qemu/util/main-loop.c:242
          #13 0xaaad46227de0 in main_loop_wait /qemu/util/main-loop.c:518
          #14 0xaaad43d9d60c in qemu_main_loop /qemu/softmmu/vl.c:1662:9
          #15 0xaaad4607a5b0 in main /qemu/softmmu/main.c:49:5
          #16 0xfffd1a460b9c in __libc_start_main (/lib64/libc.so.6+0x20b9c)
          #17 0xaaad43320740 in _start (aarch64-softmmu/qemu-system-aarch64+0x2c00740)
      
      0xfffd149dcfc4 is located 0 bytes to the right of 100-byte region [0xfffd149dcf60,0xfffd149dcfc4)
      allocated by thread T0 here:
          #0 0xaaad433d1e70 in __interceptor_malloc (aarch64-softmmu/qemu-system-aarch64+0x2cb1e70)
          #1 0xfffd1af0e254  (/usr/lib64/iscsi/libiscsi.so.8+0xe254)
          #2 0xfffd1af0d174  (/usr/lib64/iscsi/libiscsi.so.8+0xd174)
          #3 0xfffd1af19fac  (/usr/lib64/iscsi/libiscsi.so.8+0x19fac)
          #4 0xaaad45f9acc8 in iscsi_process_read /qemu/block/iscsi.c:403:5
          #5 0xaaad4623733c in aio_dispatch_handler /qemu/util/aio-posix.c:467:9
          #6 0xaaad4622f350 in aio_dispatch_handlers /qemu/util/aio-posix.c:510:20
          #7 0xaaad4622f350 in aio_dispatch /qemu/util/aio-posix.c:520
          #8 0xaaad46215944 in aio_ctx_dispatch /qemu/util/async.c:298:5
          #9 0xfffd1bed12f4 in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x512f4)
          #10 0xaaad46227de0 in glib_pollfds_poll /qemu/util/main-loop.c:219:9
          #11 0xaaad46227de0 in os_host_main_loop_wait /qemu/util/main-loop.c:242
          #12 0xaaad46227de0 in main_loop_wait /qemu/util/main-loop.c:518
          #13 0xaaad43d9d60c in qemu_main_loop /qemu/softmmu/vl.c:1662:9
          #14 0xaaad4607a5b0 in main /qemu/softmmu/main.c:49:5
          #15 0xfffd1a460b9c in __libc_start_main (/lib64/libc.so.6+0x20b9c)
          #16 0xaaad43320740 in _start (aarch64-softmmu/qemu-system-aarch64+0x2c00740)
      
      Reported-by: default avatarEuler Robot <euler.robot@huawei.com>
      Signed-off-by: default avatarChen Qun <kuhn.chenqun@huawei.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-id: 20200418062602.10776-1-kuhn.chenqun@huawei.com
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      ff0507c2
  4. Apr 17, 2020
    • Nicholas Piggin's avatar
      target/ppc: Fix mtmsr(d) L=1 variant that loses interrupts · 5ed19506
      Nicholas Piggin authored
      If mtmsr L=1 sets MSR[EE] while there is a maskable exception pending,
      it does not cause an interrupt. This causes the test case to hang:
      
      https://lists.gnu.org/archive/html/qemu-ppc/2019-10/msg00826.html
      
      More recently, Linux reduced the occurance of operations (e.g., rfi)
      which stop translation and allow pending interrupts to be processed.
      This started causing hangs in Linux boot in long-running kernel tests,
      running with '-d int' shows the decrementer stops firing despite DEC
      wrapping and MSR[EE]=1.
      
      https://lists.ozlabs.org/pipermail/linuxppc-dev/2020-April/208301.html
      
      
      
      The cause is the broken mtmsr L=1 behaviour, which is contrary to the
      architecture. From Power ISA v3.0B, p.977, Move To Machine State Register,
      Programming Note states:
      
          If MSR[EE]=0 and an External, Decrementer, or Performance Monitor
          exception is pending, executing an mtmsrd instruction that sets
          MSR[EE] to 1 will cause the interrupt to occur before the next
          instruction is executed, if no higher priority exception exists
      
      Fix this by handling L=1 exactly the same way as L=0, modulo the MSR
      bits altered.
      
      The confusion arises from L=0 being "context synchronizing" whereas L=1
      is "execution synchronizing", which is a weaker semantic. However this
      is not a relaxation of the requirement that these exceptions cause
      interrupts when MSR[EE]=1 (e.g., when mtmsr executes to completion as
      TCG is doing here), rather it specifies how a pipelined processor can
      have multiple instructions in flight where one may influence how another
      behaves.
      
      Cc: qemu-stable@nongnu.org
      Reported-by: default avatarAnton Blanchard <anton@ozlabs.org>
      Reported-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Tested-by: default avatarNathan Chancellor <natechancellor@gmail.com>
      Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
      Message-Id: <20200414111131.465560-1-npiggin@gmail.com>
      Reviewed-by: default avatarCédric Le Goater <clg@kaod.org>
      Tested-by: default avatarCédric Le Goater <clg@kaod.org>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      5ed19506
    • Ganesh Goudar's avatar
      target/ppc: Fix wrong interpretation of the disposition flag. · 211a7784
      Ganesh Goudar authored
      
      Bitwise AND with kvm_run->flags to evaluate if we recovered from
      MCE or not is not correct, As disposition in kvm_run->flags is a
      two-bit integer value and not a bit map, So check for equality
      instead of bitwise AND.
      
      Without the fix qemu treats any unrecoverable mce error as recoverable
      and ends up in a mce loop inside the guest, Below are the MCE logs before
      and after the fix.
      
      Before fix:
      
      [   66.775757] MCE: CPU0: Initiator CPU
      [   66.775891] MCE: CPU0: Unknown
      [   66.776587] MCE: CPU0: machine check (Harmless) Host UE Indeterminate [Recovered]
      [   66.776857] MCE: CPU0: NIP: [c0080000000e00b8] mcetest_tlbie+0xb0/0x128 [mcetest_tlbie]
      
      After fix:
      
      [ 20.650577] CPU: 0 PID: 1415 Comm: insmod Tainted: G M O 5.6.0-fwnmi-arv+ #11
      [ 20.650618] NIP: c0080000023a00e8 LR: c0080000023a00d8 CTR: c000000000021fe0
      [ 20.650660] REGS: c0000001fffd3d70 TRAP: 0200 Tainted: G M O (5.6.0-fwnmi-arv+)
      [ 20.650708] MSR: 8000000002a0b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE> CR: 42000222 XER: 20040000
      [ 20.650758] CFAR: c00000000000b940 DAR: c0080000025e00e0 DSISR: 00000200 IRQMASK: 0
      [ 20.650758] GPR00: c0080000023a00d8 c0000001fddd79a0 c0080000023a8500 0000000000000039
      [ 20.650758] GPR04: 0000000000000001 0000000000000000 0000000000000000 0000000000000007
      [ 20.650758] GPR08: 0000000000000007 c0080000025e00e0 0000000000000000 00000000000000f7
      [ 20.650758] GPR12: 0000000000000000 c000000001900000 c00000000101f398 c0080000025c052f
      [ 20.650758] GPR16: 00000000000003a8 c0080000025c0000 c0000001fddd7d70 c0000000015b7940
      [ 20.650758] GPR20: 000000000000fff1 c000000000f72c28 c0080000025a0988 0000000000000000
      [ 20.650758] GPR24: 0000000000000100 c0080000023a05d0 c0000000001f1d70 0000000000000000
      [ 20.650758] GPR28: c0000001fde20000 c0000001fd02b2e0 c0080000023a0000 c0080000025e0000
      [ 20.651178] NIP [c0080000023a00e8] mcetest_tlbie+0xe8/0xf0 [mcetest_tlbie]
      [ 20.651220] LR [c0080000023a00d8] mcetest_tlbie+0xd8/0xf0 [mcetest_tlbie]
      [ 20.651262] Call Trace:
      [ 20.651280] [c0000001fddd79a0] [c0080000023a00d8] mcetest_tlbie+0xd8/0xf0 [mcetest_tlbie] (unreliable)
      [ 20.651340] [c0000001fddd7a10] [c00000000001091c] do_one_initcall+0x6c/0x2c0
      [ 20.651390] [c0000001fddd7af0] [c0000000001f7998] do_init_module+0x90/0x298
      [ 20.651433] [c0000001fddd7b80] [c0000000001f61a8] load_module+0x1f58/0x27a0
      [ 20.651476] [c0000001fddd7d40] [c0000000001f6c70] __do_sys_finit_module+0xe0/0x100
      [ 20.651526] [c0000001fddd7e20] [c00000000000b9d0] system_call+0x5c/0x68
      [ 20.651567] Instruction dump:
      [ 20.651594] e8410018 3c620000 e8638020 480000cd e8410018 3c620000 e8638028 480000bd
      [ 20.651646] e8410018 7be904e4 39400000 612900e0 <7d434a64> 4bffff74 3c4c0001 38428410
      [ 20.651699] ---[ end trace 4c40897f016b4340 ]---
      [ 20.653310]
      Bus error
      [ 20.655575] MCE: CPU0: machine check (Harmless) Host UE Indeterminate [Not recovered]
      [ 20.655575] MCE: CPU0: NIP: [c0080000023a00e8] mcetest_tlbie+0xe8/0xf0 [mcetest_tlbie]
      [ 20.655576] MCE: CPU0: Initiator CPU
      [ 20.655576] MCE: CPU0: Unknown
      
      Signed-off-by: default avatarGanesh Goudar <ganeshgr@linux.ibm.com>
      Message-Id: <20200408170944.16003-1-ganeshgr@linux.ibm.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      211a7784
    • Richard Henderson's avatar
      linux-user/ppc: Fix padding in mcontext_t for ppc64 · 5da5f47e
      Richard Henderson authored
      
      The padding that was added in 95cda4c4 was added to a union,
      and so it had no effect.  This fixes misalignment errors detected
      by clang sanitizers for ppc64 and ppc64le.
      
      In addition, only ppc64 allocates space for VSX registers, so do
      not save them for ppc32.  The kernel only has references to
      CONFIG_SPE in signal_32.c, so do not attempt to save them for ppc64.
      
      Fixes: 95cda4c4
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20200407032105.26711-1-richard.henderson@linaro.org>
      Acked-by: default avatarLaurent Vivier <laurent@vivier.eu>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      5da5f47e
  5. Apr 16, 2020
  6. Apr 15, 2020
  7. Apr 14, 2020
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 2f7cc1fb
      Peter Maydell authored
      
      Bugfixes, and reworking of the atomics documentation.
      
      # gpg: Signature made Tue 14 Apr 2020 15:38:01 BST
      # gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
      # gpg:                issuer "pbonzini@redhat.com"
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream:
        hax: Windows doesn't like posix device names
        tests: numa: test one backend with prealloc enabled
        hostmem: set default prealloc_threads to valid value
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      2f7cc1fb
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200414' into staging · a457215e
      Peter Maydell authored
      
      patch queue:
       * Fix some problems that trip up Coverity's scanner
       * run-coverity-scan: New script automating the scan-and-upload process
       * docs: Improve our gdbstub documentation
       * configure: Honour --disable-werror for Sphinx
       * docs: Fix errors produced when building with Sphinx 3.0
       * docs: Require Sphinx 1.6 or better
       * Add deprecation notice for KVM support on AArch32 hosts
      
      # gpg: Signature made Tue 14 Apr 2020 17:25:22 BST
      # 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-target-arm-20200414:
        Deprecate KVM support for AArch32
        docs: Require Sphinx 1.6 or better
        kernel-doc: Use c:struct for Sphinx 3.0 and later
        scripts/kernel-doc: Add missing close-paren in c:function directives
        configure: Honour --disable-werror for Sphinx
        docs: Improve our gdbstub documentation
        scripts/coverity-scan: Add Docker support
        scripts/run-coverity-scan: Script to run Coverity Scan build
        linux-user/flatload.c: Use "" for include of QEMU header target_flat.h
        thread.h: Remove trailing semicolons from Coverity qemu_mutex_lock() etc
        thread.h: Fix Coverity version of qemu_cond_timedwait()
        osdep.h: Drop no-longer-needed Coverity workarounds
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      a457215e
    • Peter Maydell's avatar
      Deprecate KVM support for AArch32 · 84f82ddc
      Peter Maydell authored
      
      The Linux kernel has dropped support for allowing 32-bit Arm systems
      to host KVM guests (kernel commit 541ad0150ca4aa663a2, which just
      landed upstream in the 5.7 merge window).  Mark QEMU's support for
      this configuration as deprecated, so that we can delete that support
      code in 5.2.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarAndrew Jones <drjones@redhat.com>
      84f82ddc
    • Peter Maydell's avatar
      docs: Require Sphinx 1.6 or better · bf3f8573
      Peter Maydell authored
      Versions of Sphinx older than 1.6 can't build all of our documentation,
      because they are too picky about the syntax of the argument to the
      option:: directive; see Sphinx bugs #646, #3366:
      
        https://github.com/sphinx-doc/sphinx/issues/646
        https://github.com/sphinx-doc/sphinx/issues/3366
      
      
      
      Trying to build with a 1.4.x Sphinx fails with
       docs/system/images.rst:4: SEVERE: Duplicate ID: "cmdoption-qcow2-arg-encrypt"
      and a 1.5.x Sphinx fails with
       docs/system/invocation.rst:544: WARNING: Malformed option description '[enable=]PATTERN', should look like "opt", "-opt
      args", "--opt args", "/opt args" or "+opt args"
      
      Update our needs_sphinx setting to indicate that we require at least
      1.6.  This will allow configure to fall back to "don't build the
      docs" rather than causing the build to fail entirely, which is
      probably what most users building on a host old enough to have such
      an old Sphinx would want; if they do want the docs then they'll have
      a useful indication of what they need to do (upgrade Sphinx!) rather
      than a confusing error message.
      
      In theory our distro support policy would suggest that we should
      support building on the Sphinx shipped in those distros, but:
       * EPEL7 has Sphinx 1.2.3 (which we've never supported!)
       * Debian Stretch has Sphinx 1.4.8
      
      Trying to get our docs to work with Sphinx 1.4 is not tractable
      for the 5.0 release and I'm not sure it's worthwhile effort anyway;
      at least with this change the build as a whole now succeeds.
      
      Thanks to John Snow for doing the investigation and testing to
      confirm what Sphinx versions fail in what ways and what distros
      shipped what.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      bf3f8573
    • Peter Maydell's avatar
      kernel-doc: Use c:struct for Sphinx 3.0 and later · 152d1967
      Peter Maydell authored
      
      The kernel-doc Sphinx plugin and associated script currently emit
      'c:type' directives for "struct foo" documentation.
      
      Sphinx 3.0 warns about this:
        /home/petmay01/linaro/qemu-from-laptop/qemu/docs/../include/exec/memory.h:3: WARNING: Type must be either just a name or a typedef-like declaration.
        If just a name:
          Error in declarator or parameters
          Invalid C declaration: Expected identifier in nested name, got keyword: struct [error at 6]
            struct MemoryListener
            ------^
        If typedef-like declaration:
          Error in declarator or parameters
          Invalid C declaration: Expected identifier in nested name. [error at 21]
            struct MemoryListener
            ---------------------^
      
      because it wants us to use the new-in-3.0 'c:struct' instead.
      
      Plumb the Sphinx version through to the kernel-doc script
      and use it to select 'c:struct' for newer versions than 3.0.
      
      Fixes: LP:1872113
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      152d1967
    • Peter Maydell's avatar
      scripts/kernel-doc: Add missing close-paren in c:function directives · a62d5637
      Peter Maydell authored
      
      When kernel-doc generates a 'c:function' directive for a function
      one of whose arguments is a function pointer, it fails to print
      the close-paren after the argument list of the function pointer
      argument, for instance in the memory API documentation:
        .. c:function:: void memory_region_init_resizeable_ram (MemoryRegion * mr, struct Object * owner, const char * name, uint64_t size, uint64_t max_size, void (*resized) (const char*, uint64_t length, void *host, Error ** errp)
      
      which should have a ')' after the 'void *host' which is the
      last argument to 'resized'.
      
      Older versions of Sphinx don't try to parse the argumnet
      to c:function, but Sphinx 3.0 does do this and will complain:
      
        /home/petmay01/linaro/qemu-from-laptop/qemu/docs/../include/exec/memory.h:834: WARNING: Error in declarator or parameters
        Invalid C declaration: Expecting "," or ")" in parameters, got "EOF". [error at 208]
          void memory_region_init_resizeable_ram (MemoryRegion * mr, struct Object * owner, const char * name, uint64_t size, uint64_t max_size, void (*resized) (const char*, uint64_t length, void *host, Error ** errp)
          ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
      
      Add the missing close-paren.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20200411182934.28678-3-peter.maydell@linaro.org
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      a62d5637
    • Volker Rümelin's avatar
      hax: Windows doesn't like posix device names · 9f5a0664
      Volker Rümelin authored
      
      Patch acb9f95a "i386: Fix GCC warning with snprintf when HAX
      is enabled" replaced Windows device names with posix device
      names. Revert this.
      
      Fixes: acb9f95a "i386: Fix GCC warning with snprintf when HAX is enabled"
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20200322210211.29603-1-vr_qemu@t-online.de>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9f5a0664
    • Igor Mammedov's avatar
      tests: numa: test one backend with prealloc enabled · e43651ff
      Igor Mammedov authored
      
      Cannibalize one backend in the HMAT test to make sure that
      prealloc=y is tested.
      
      Signed-off-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Message-Id: <20200325094423.24293-3-imammedo@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      e43651ff
    • Igor Mammedov's avatar
      hostmem: set default prealloc_threads to valid value · 2a4e02d1
      Igor Mammedov authored
      
      Commit 4ebc74db removed default prealloc_threads initialization
      by mistake, and that makes QEMU crash with division on zero at
        numpages_per_thread = numpages / memset_num_threads;
      when QEMU is started with following backend
        -object memory-backend-ram,id=ram-node0,prealloc=yes,size=128M
      
      Return back initialization removed by 4ebc74db to fix issue.
      
      Fixes: 4ebc74db
      Reported-by: default avatarRaphael Norwitz <raphael.norwitz@nutanix.com>
      Signed-off-by: default avatarIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Message-Id: <20200325094423.24293-2-imammedo@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      2a4e02d1
    • Peter Maydell's avatar
      configure: Honour --disable-werror for Sphinx · 516e8b7d
      Peter Maydell authored
      
      If we are not making warnings fatal for compilation, make them
      non-fatal when building the Sphinx documentation also.  (For instance
      Sphinx 3.0 warns about some constructs that older versions were happy
      with, which is a build failure if we use the warnings-as-errors
      flag.)
      
      This provides a workaround at least for LP:1872113.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20200411182934.28678-2-peter.maydell@linaro.org
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      516e8b7d
    • Peter Maydell's avatar
      docs: Improve our gdbstub documentation · e5910d42
      Peter Maydell authored
      
      The documentation of our -s and -gdb options is quite old; in
      particular it still claims that it will cause QEMU to stop and wait
      for the gdb connection, when this has not been true for some time:
      you also need to pass -S if you want to make QEMU not launch the
      guest on startup.
      
      Improve the documentation to mention this requirement in the
      executable's --help output, the documentation of the -gdb option in
      the manual, and in the "GDB usage" chapter.
      
      Includes some minor tweaks to these paragraphs of documentation
      since I was editing them anyway (such as dropping the description
      of our gdb support as "primitive").
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20200403094014.9589-1-peter.maydell@linaro.org
      e5910d42
    • Peter Maydell's avatar
      scripts/coverity-scan: Add Docker support · 9edfa358
      Peter Maydell authored
      
      Add support for running the Coverity Scan tools inside a Docker
      container rather than directly on the host system.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 20200319193323.2038-7-peter.maydell@linaro.org
      9edfa358
    • Peter Maydell's avatar
      scripts/run-coverity-scan: Script to run Coverity Scan build · 9c263d07
      Peter Maydell authored
      
      Add a new script to automate the process of running the Coverity
      Scan build tools and uploading the resulting tarball to the
      website.
      
      This is intended eventually to be driven from Travis,
      but it can be run locally, if you are a maintainer of the
      QEMU project on the Coverity Scan website and have the secret
      upload token.
      
      The script must be run on a Fedora 30 system.  Support for using a
      Docker container is added in a following commit.
      
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 20200319193323.2038-6-peter.maydell@linaro.org
      9c263d07
Loading