Skip to content
Snippets Groups Projects
  1. May 25, 2021
  2. May 24, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/stefanha-gitlab/tags/block-pull-request' into staging · 0dab1d36
      Peter Maydell authored
      
      Pull request
      
      (Resent due to an email preparation mistake.)
      
      # gpg: Signature made Mon 24 May 2021 14:01:42 BST
      # gpg:                using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha-gitlab/tags/block-pull-request:
        coroutine-sleep: introduce qemu_co_sleep
        coroutine-sleep: replace QemuCoSleepState pointer with struct in the API
        coroutine-sleep: move timer out of QemuCoSleepState
        coroutine-sleep: allow qemu_co_sleep_wake that wakes nothing
        coroutine-sleep: disallow NULL QemuCoSleepState** argument
        coroutine-sleep: use a stack-allocated timer
        bitops.h: Improve find_xxx_bit() documentation
        multi-process: Initialize variables declared with g_auto*
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      0dab1d36
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/xtensa/tags/20210521-xtensa' into staging · 371ebfe2
      Peter Maydell authored
      
      target/xtensa updates for v6.1:
      
      - don't generate extra EXCP_DEBUG on exception
      - fix l32ex access ring
      - clean up unaligned access
      
      # gpg: Signature made Fri 21 May 2021 14:59:30 BST
      # gpg:                using RSA key 2B67854B98E5327DCDEB17D851F9CC91F83FA044
      # gpg:                issuer "jcmvbkbc@gmail.com"
      # gpg: Good signature from "Max Filippov <filippov@cadence.com>" [unknown]
      # gpg:                 aka "Max Filippov <max.filippov@cogentembedded.com>" [full]
      # gpg:                 aka "Max Filippov <jcmvbkbc@gmail.com>" [full]
      # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044
      
      * remotes/xtensa/tags/20210521-xtensa:
        target/xtensa: clean up unaligned access
        target/xtensa: fix access ring in l32ex
        target/xtensa: don't generate extra EXCP_DEBUG on exception
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      371ebfe2
  3. May 21, 2021
  4. May 20, 2021
    • Max Filippov's avatar
      target/xtensa: clean up unaligned access · 583e6a5f
      Max Filippov authored
      
      Xtensa cores may or may not have hardware support for unaligned memory
      access. Remove TARGET_ALIGNED_ONLY=y from all xtensa configurations and
      pass MO_ALIGN in memory access flags for all operations that would raise
      an exception.
      Simplify use of gen_load_store_alignment by passing access size and
      alignment requirements in single parameter.
      Drop condition from xtensa_cpu_do_unaligned_access and replace it with
      assertion.
      Add a test.
      
      Suggested-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Suggested-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      583e6a5f
    • Max Filippov's avatar
      target/xtensa: fix access ring in l32ex · 735aa900
      Max Filippov authored
      
      l32ex does memory access as all regular load/store operations at CRING
      level. Fix apparent pasto from l32e that caused it to use RING instead.
      
      This is a correctness issue, not a security issue, because in the worst
      case the privilege level of memory access may be lowered, resulting in
      an exception when the correct implementation would've succeeded.
      In no case it would allow memory access that would've raised an
      exception in the correct implementation.
      
      Cc: qemu-stable@nongnu.org
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      735aa900
    • Max Filippov's avatar
      target/xtensa: don't generate extra EXCP_DEBUG on exception · cb2d627a
      Max Filippov authored
      
      target/xtensa used to generate an extra EXCP_DEBUG exception before the
      first instruction executed after an interrupt or an exception is taken
      to allow single-stepping that instruction in the debugger.
      This is no longer needed after the following commits:
      a7ba744f ("tcg/cpu-exec: precise single-stepping after an exception")
      ba3c35d9 ("tcg/cpu-exec: precise single-stepping after an interrupt")
      Drop exception state tracking/extra EXCP_DEBUG generation code.
      
      Cc: qemu-stable@nongnu.org # v5.1, v5.2, v6.0
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
      cb2d627a
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2021-05-20' into staging · 0b5acf89
      Peter Maydell authored
      
      QAPI patches patches for 2021-05-20
      
      # gpg: Signature made Thu 20 May 2021 16:10:21 BST
      # gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
      # gpg:                issuer "armbru@redhat.com"
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-qapi-2021-05-20:
        qapi/parser: add docstrings
        qapi/parser: allow 'ch' variable name
        qapi/parser: Remove superfluous list comprehension
        qapi/parser: add type hint annotations
        qapi/parser: Rework _check_pragma_list_of_str as a TypeGuard
        qapi/parser: Fix token membership tests when token can be None
        qapi: add must_match helper
        qapi/parser: Use @staticmethod where appropriate
        qapi/parser: assert object keys are strings
        qapi/parser: enforce all top-level expressions must be dict in _parse()
        qapi/parser: Assert lexer value is a string
        qapi/parser: factor parsing routine into method
        qapi/source: Remove line number from QAPISourceInfo initializer
        qapi: Add test for nonexistent schema file
        qapi/parser: Don't try to handle file errors
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      0b5acf89
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/cohuck-gitlab/tags/s390x-20210520-v2' into staging · 972e848b
      Peter Maydell authored
      
      s390x fixes and cleanups; also related fixes in xtensa,
      arm, and x86 code
      
      # gpg: Signature made Thu 20 May 2021 13:23:15 BST
      # gpg:                using RSA key C3D0D66DC3624FF6A8C018CEDECF6B93C6F02FAF
      # gpg:                issuer "cohuck@redhat.com"
      # gpg: Good signature from "Cornelia Huck <conny@cornelia-huck.de>" [unknown]
      # gpg:                 aka "Cornelia Huck <huckc@linux.vnet.ibm.com>" [full]
      # gpg:                 aka "Cornelia Huck <cornelia.huck@de.ibm.com>" [full]
      # gpg:                 aka "Cornelia Huck <cohuck@kernel.org>" [unknown]
      # gpg:                 aka "Cornelia Huck <cohuck@redhat.com>" [unknown]
      # Primary key fingerprint: C3D0 D66D C362 4FF6 A8C0  18CE DECF 6B93 C6F0 2FAF
      
      * remotes/cohuck-gitlab/tags/s390x-20210520-v2:
        tests/tcg/x86_64: add vsyscall smoke test
        target/i386: Make sure that vsyscall's tb->size != 0
        vfio-ccw: Attempt to clean up all IRQs on error
        hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent
        vfio-ccw: Permit missing IRQs
        accel/tcg: Assert that tb->size != 0 after translation
        target/xtensa: Make sure that tb->size != 0
        target/arm: Make sure that commpage's tb->size != 0
        target/s390x: Fix translation exception on illegal instruction
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      972e848b
    • John Snow's avatar
      qapi/parser: add docstrings · d4092ffa
      John Snow authored
      
      Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
      Message-Id: <20210519183951.3946870-16-jsnow@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      [Doc string spacing tweaked slightly]
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      d4092ffa
    • John Snow's avatar
      qapi/parser: allow 'ch' variable name · 9b91e76b
      John Snow authored
      
      We can have a two-letter variable name, as a treat.
      
      Signed-off-by: default avatarJohn Snow <jsnow@redhat.com>
      Message-Id: <20210519183951.3946870-15-jsnow@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      9b91e76b
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/bsdimp/tags/pull-bsd-user-20210511' into staging · a1362f39
      Peter Maydell authored
      
      pull-bsd-user-20210511 is the next round of cleanups to bsd-user in merging the
      bsd-user fork into qemu. It contains a number of style commits, as well as 3
      commits that start to change things: Some unused files are deleted, building the
      sparc and sparc64 targets are removed, and a structure is renamed.
      
      The next set of pull requests will start to execute the following plan:
      1. Move existing code around to have a structure similar to the bsd-user fork.
      2. Incrementally merge groups of system calls, focused on making x86 work.
      3. Once the groups of system calls are all merged, additional platforms will
         be added back.
      4. Concurrently, as changes are requested as part of the merge happen, those
         changes will be merged into the fork. An experimental merge to tip of master
         is under test and is what will be updated.
      5. Eventually, there will be no diference, and the bsd-user fork will only
         be a staging area for cutting-edge features prior to upstreaming into
         qemu mainline.
      
      The bsd-user code in qemu has a lot of style issues. This cleans up a number in
      the files touched. However, the checkpatch.pl detects some incremental issues in
      the commits. The following are expected, but are corrected in later hashes in
      this branch. MAINTAINERS does not need to be updated, since all the files added
      or deleted are covered under existing regexp in MAINTAINERS.
      
      Checking all commits since f9a576a8...
      d60c3b93:101: ERROR: consider using qemu_strtol in preference to strtol
      d60c3b93:142: ERROR: braces {} are necessary for all arms of this statement
      d60c3b93:145: ERROR: braces {} are necessary for all arms of this statement
      total: 3 errors, 0 warnings, 119 lines checked
      b4bebeee:148: WARNING: line over 80 characters
      b4bebeee:330: ERROR: braces {} are necessary for all arms of this statement
      b4bebeee:340: ERROR: braces {} are necessary for all arms of this statement
      b4bebeee:381: ERROR: space prohibited between function name and open parenthesis '('
      b4bebeee:390: ERROR: spaces required around that '<' (ctx:VxV)
      b4bebeee:408: WARNING: Block comments use a leading /* on a separate line
      b4bebeee:409: WARNING: Block comments use * on subsequent lines
      b4bebeee:409: WARNING: Block comments use a trailing */ on a separate line
      b4bebeee:441: WARNING: line over 80 characters
      b4bebeee:445: WARNING: line over 80 characters
      b4bebeee:502: ERROR: line over 90 characters
      b4bebeee:551: ERROR: space required after that ',' (ctx:VxV)
      b4bebeee:552: ERROR: space required after that ',' (ctx:VxV)
      b4bebeee:587: ERROR: space required after that ';' (ctx:VxV)
      b4bebeee:623: ERROR: suspect code indent for conditional statements (12, 14)
      total: 9 errors, 6 warnings, 664 lines checked
      86545e7a:31: ERROR: space required after that ';' (ctx:VxV)
      86545e7a:40: ERROR: space required after that ';' (ctx:VxV)
      total: 2 errors, 0 warnings, 60 lines checked
      Use of uninitialized value $acpi_testexpected in string eq at scripts/checkpatch.pl line 1529.
      65d58c91:22: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
      total: 0 errors, 1 warnings, 14 lines checked
      Use of uninitialized value $acpi_testexpected in string eq at scripts/checkpatch.pl line 1529.
      f8ce3970:21: WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
      total: 0 errors, 1 warnings, 0 lines checked
         FAIL one or more commits failed scripts/checkpatch.pl
      Cleaning up file based variables
      ERROR: Job failed: exit code 1
      
      # gpg: Signature made Wed 12 May 2021 17:40:34 BST
      # gpg:                using RSA key 2035F894B00AA3CF7CCDE1B76C1CD1287DB01100
      # gpg: Good signature from "Warner Losh <wlosh@netflix.com>" [unknown]
      # gpg:                 aka "Warner Losh <imp@bsdimp.com>" [unknown]
      # gpg:                 aka "Warner Losh <imp@freebsd.org>" [unknown]
      # gpg:                 aka "Warner Losh <imp@village.org>" [unknown]
      # gpg:                 aka "Warner Losh <wlosh@bsdimp.com>" [unknown]
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 2035 F894 B00A A3CF 7CCD  E1B7 6C1C D128 7DB0 1100
      
      * remotes/bsdimp/tags/pull-bsd-user-20210511:
        bsd-user: rename linux_binprm to bsd_binprm
        bsd-user: Stop building the sparc targets
        bsd-user: remove target_signal.h, it's unused
        bsd-user: style tweak: keyword space (
        bsd-user: style tweak: Remove #if 0'd code
        bsd-user: style tweak: keyword space (
        bsd-user: style tweak: keyword space (
        bsd-user: whitespace changes
        bsd-user: use qemu_strtoul in preference to strtol
        bsd-user: style tweak: use {} consistently in for / if / else statements
        bsd-user: style tweak: use {} for all if statements, format else correctly
        bsd-user: style tweak: don't assign in if statements
        bsd-user: style tweak: Use preferred block comments
        bsd-user: style tweak: remove spacing after '*' and add after }
        bsd-user: style tweak: move extern to header file
        bsd-user: Remove commented out code
        bsd-user: style tweak: Use preferred block comments
        bsd-user: style tweak: Remove #if 0'd code
        bsd-user: style tweak: use C not C++ comments
        bsd-user: whitespace changes
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      a1362f39
    • Ilya Leoshkevich's avatar
      tests/tcg/x86_64: add vsyscall smoke test · f6648775
      Ilya Leoshkevich authored
      
      Having a small test will prevent trivial regressions in the future.
      
      Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
      Message-Id: <20210519045738.1335210-3-iii@linux.ibm.com>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      f6648775
    • Ilya Leoshkevich's avatar
      target/i386: Make sure that vsyscall's tb->size != 0 · 9b21049e
      Ilya Leoshkevich authored
      
      tb_gen_code() assumes that tb->size must never be zero, otherwise it
      may produce spurious exceptions. For x86_64 this may happen when
      creating a translation block for the vsyscall page.
      
      Fix by pretending that vsyscall translation blocks have at least one
      instruction.
      
      Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20210519045738.1335210-2-iii@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      9b21049e
    • Eric Farman's avatar
      vfio-ccw: Attempt to clean up all IRQs on error · dcc9cf38
      Eric Farman authored
      
      The vfio_ccw_unrealize() routine makes an unconditional attempt to
      unregister every IRQ notifier, though they may not have been registered
      in the first place (when running on an older kernel, for example).
      
      Let's mirror this behavior in the error cleanups in vfio_ccw_realize()
      so that if/when new IRQs are added, it is less confusing to recognize
      the necessary procedures. The worst case scenario would be some extra
      messages about an undefined IRQ, but since this is an error exit that
      won't be the only thing to worry about.
      
      And regarding those messages, let's change it to a warning instead of
      an error, to better reflect their severity. The existing code in both
      paths handles everything anyway.
      
      Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
      Acked-by: default avatarMatthew Rosato <mjrosato@linux.ibm.com>
      Message-Id: <20210428143652.1571487-1-farman@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      dcc9cf38
    • Philippe Mathieu-Daudé's avatar
      hw/s390x/ccw: Register qbus type in abstract TYPE_CCW_DEVICE parent · a6d8b731
      Philippe Mathieu-Daudé authored
      
      Instead of having all TYPE_CCW_DEVICE children set the bus type to
      TYPE_VIRTUAL_CSS_BUS, do it once in the abstract parent.
      
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Acked-by: default avatarEric Farman <farman@linux.ibm.com>
      Message-Id: <20210424145313.3287400-1-f4bug@amsat.org>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      a6d8b731
    • Eric Farman's avatar
      vfio-ccw: Permit missing IRQs · 6178d468
      Eric Farman authored
      
      Commit 690e29b9 ("vfio-ccw: Refactor ccw irq handler") changed
      one of the checks for the IRQ notifier registration from saying
      "the host needs to recognize the only IRQ that exists" to saying
      "the host needs to recognize ANY IRQ that exists."
      
      And this worked fine, because the subsequent change to support the
      CRW IRQ notifier doesn't get into this code when running on an older
      kernel, thanks to a guard by a capability region. The later addition
      of the REQ(uest) IRQ by commit b2f96f9e ("vfio-ccw: Connect the
      device request notifier") broke this assumption because there is no
      matching capability region. Thus, running new QEMU on an older
      kernel fails with:
      
        vfio: unexpected number of irqs 2
      
      Let's adapt the message here so that there's a better clue of what
      IRQ is missing.
      
      Furthermore, let's make the REQ(uest) IRQ not fail when attempting
      to register it, to permit running vfio-ccw on a newer QEMU with an
      older kernel.
      
      Fixes: b2f96f9e ("vfio-ccw: Connect the device request notifier")
      Signed-off-by: default avatarEric Farman <farman@linux.ibm.com>
      Message-Id: <20210421152053.2379873-1-farman@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      6178d468
    • Ilya Leoshkevich's avatar
      accel/tcg: Assert that tb->size != 0 after translation · 0b00b0c1
      Ilya Leoshkevich authored
      
      If arch-specific code generates a translation block of size 0,
      tb_gen_code() may generate a spurious exception. Add an assertion in
      order to catch such situations early.
      
      Signed-off-by: default avatarIlya Leoshkevich <iii@linux.ibm.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      Message-Id: <20210416154939.32404-5-iii@linux.ibm.com>
      Signed-off-by: default avatarCornelia Huck <cohuck@redhat.com>
      0b00b0c1
Loading