Skip to content
Snippets Groups Projects
  1. Jun 21, 2021
  2. Jun 18, 2021
  3. Jun 17, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging · b6d73e9c
      Peter Maydell authored
      
      * avoid deprecation warnings for SASL on macOS 10.11 or newer
      * fix -readconfig when config blocks have an id (like [chardev "qmp"])
      * Error* initialization fixes
      * Improvements to ESP emulation (Mark)
      * Allow creating noreserve memory backends (David)
      * Improvements to query-memdev (David)
      * Bump compiler to C11 (Richard)
      * First round of SVM fixes from GSoC project (Lara)
      
      # gpg: Signature made Wed 16 Jun 2021 16:37:49 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-gitlab/tags/for-upstream: (45 commits)
        configure: Remove probe for _Static_assert
        qemu/compiler: Remove QEMU_GENERIC
        include/qemu/lockable: Use _Generic instead of QEMU_GENERIC
        util: Use unique type for QemuRecMutex in thread-posix.h
        util: Pass file+line to qemu_rec_mutex_unlock_impl
        util: Use real functions for thread-posix QemuRecMutex
        softfloat: Use _Generic instead of QEMU_GENERIC
        configure: Use -std=gnu11
        target/i386: Added Intercept CR0 writes check
        target/i386: Added consistency checks for CR0
        target/i386: Added consistency checks for VMRUN intercept and ASID
        target/i386: Refactored intercept checks into cpu_svm_has_intercept
        configure: map x32 to cpu_family x86_64 for meson
        hmp: Print "reserve" property of memory backends with "info memdev"
        qmp: Include "reserve" property of memory backends
        hmp: Print "share" property of memory backends with "info memdev"
        qmp: Include "share" property of memory backends
        qmp: Clarify memory backend properties returned via query-memdev
        hostmem: Wire up RAM_NORESERVE via "reserve" property
        util/mmap-alloc: Support RAM_NORESERVE via MAP_NORESERVE under Linux
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      b6d73e9c
    • Akihiko Odaki's avatar
      coreaudio: Fix output stream format settings · 986bdbc6
      Akihiko Odaki authored
      
      Before commit 7d6948cd, it was coded to
      retrieve the initial output stream format settings, modify the frame
      rate, and set again. However, I removed a frame rate modification code by
      mistake in the commit. It also assumes the initial output stream format
      is consistent with what QEMU expects, but that expectation is not in the
      code, which makes it harder to understand and will lead to breakage if
      the initial settings change.
      
      This change explicitly sets all of the output stream settings to solve
      these problems.
      
      Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@gmail.com>
      Message-Id: <20210616141721.54091-1-akihiko.odaki@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      986bdbc6
    • Akihiko Odaki's avatar
      audio: Fix format specifications of debug logs · 0c29b786
      Akihiko Odaki authored
      
      Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@gmail.com>
      Message-id: 20210616141411.53892-1-akihiko.odaki@gmail.com
      Message-Id: <20210616141411.53892-1-akihiko.odaki@gmail.com>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      0c29b786
    • Philippe Mathieu-Daudé's avatar
      hw/audio/sb16: Avoid assertion by restricting I/O sampling rate range · a2cd86a9
      Philippe Mathieu-Daudé authored
      While the SB16 seems to work up to 48000 Hz, the "Sound Blaster Series
      Hardware Programming Guide" limit the sampling range from 4000 Hz to
      44100 Hz (Section 3-9, 3-10: Digitized Sound I/O Programming, tables
      3-2 and 3-3).
      
      Later, section 6-15 (DSP Commands) is more specific regarding the 41h /
      42h registers (Set digitized sound output sampling rate):
      
        Valid sampling rates range from 5000 to 45000 Hz inclusive.
      
      There is no comment regarding error handling if the register is filled
      with an out-of-range value.  (See also section 3-28 "8-bit or 16-bit
      Auto-initialize Transfer"). Assume limits are enforced in hardware.
      
      This fixes triggering an assertion in audio_calloc():
      
        #1 abort
        #2 audio_bug audio/audio.c:119:9
        #3 audio_calloc audio/audio.c:154:9
        #4 audio_pcm_sw_alloc_resources_out audio/audio_template.h:116:15
        #5 audio_pcm_sw_init_out audio/audio_template.h:175:11
        #6 audio_pcm_create_voice_pair_out audio/audio_template.h:410:9
        #7 AUD_open_out audio/audio_template.h:503:14
        #8 continue_dma8 hw/audio/sb16.c:216:20
        #9 dma_cmd8 hw/audio/sb16.c:276:5
        #10 command hw/audio/sb16.c:0
        #11 dsp_write hw/audio/sb16.c:949:13
        #12 portio_write softmmu/ioport.c:205:13
        #13 memory_region_write_accessor softmmu/memory.c:491:5
        #14 access_with_adjusted_size softmmu/memory.c:552:18
        #15 memory_region_dispatch_write softmmu/memory.c:0:13
        #16 flatview_write_continue softmmu/physmem.c:2759:23
        #17 flatview_write softmmu/physmem.c:2799:14
        #18 address_space_write softmmu/physmem.c:2891:18
        #19 cpu_outw softmmu/ioport.c:70:5
      
      [*] http://www.baudline.com/solutions/full_duplex/sb16_pci/index.html
      
      OSS-Fuzz Report: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=29174
      
      Fixes: 85571bc7 ("audio merge (malc)")
      Buglink: https://bugs.launchpad.net/bugs/1910603
      
      
      Tested-by: default avatarQiang Liu <cyruscyliu@gmail.com>
      Reviewed-by: default avatarQiang Liu <cyruscyliu@gmail.com>
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20210616104349.2398060-1-f4bug@amsat.org>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      a2cd86a9
    • Volker Rümelin's avatar
      jackaudio: avoid that the client name contains the word (NULL) · 2833d697
      Volker Rümelin authored
      
      Currently with jackaudio client name and qemu guest name unset,
      the JACK client names are out-(NULL) and in-(NULL). These names
      are user visible in the patch bay. Replace the function call to
      qemu_get_vm_name() with a call to audio_application_name() which
      replaces NULL with "qemu" to have more descriptive names.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210517194604.2545-4-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      2833d697
    • Volker Rümelin's avatar
      audio: move code to audio/audio.c · 37a54d05
      Volker Rümelin authored
      
      Move the code to generate the pa_context_new() application name
      argument to a function in audio/audio.c. The new function
      audio_application_name() will also be used in the jackaudio
      backend.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210517194604.2545-3-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      37a54d05
    • Volker Rümelin's avatar
      paaudio: remove unused stream flags · 50db82d8
      Volker Rümelin authored
      
      In current code there are no calls to pa_stream_get_latency()
      or pa_stream_get_time() to receive latency or time information.
      
      Remove the flags PA_STREAM_INTERPOLATE_TIMING and
      PA_STREAM_AUTO_TIMING_UPDATE which instruct PulseAudio to
      calculate this information in regular intervals.
      
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210517194604.2545-2-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      50db82d8
    • Volker Rümelin's avatar
      alsaaudio: remove #ifdef DEBUG to avoid bit rot · 24301189
      Volker Rümelin authored
      
      Merge the #ifdef DEBUG code with the if statement a few lines
      above to avoid bit rot.
      
      Suggested-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      Signed-off-by: default avatarVolker Rümelin <vr_qemu@t-online.de>
      Message-Id: <20210517194604.2545-1-vr_qemu@t-online.de>
      Signed-off-by: default avatarGerd Hoffmann <kraxel@redhat.com>
      24301189
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/rth-gitlab/tags/pull-c11-20210615' into staging · 18e53dff
      Peter Maydell authored
      
      Change to -std=gnu11.
      Replace QEMU_GENERIC with _Generic.
      Remove configure detect of _Static_assert.
      
      # gpg: Signature made Wed 16 Jun 2021 02:32:32 BST
      # gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
      # gpg:                issuer "richard.henderson@linaro.org"
      # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full]
      # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F
      
      * remotes/rth-gitlab/tags/pull-c11-20210615:
        configure: Remove probe for _Static_assert
        qemu/compiler: Remove QEMU_GENERIC
        include/qemu/lockable: Use _Generic instead of QEMU_GENERIC
        util: Use unique type for QemuRecMutex in thread-posix.h
        util: Pass file+line to qemu_rec_mutex_unlock_impl
        util: Use real functions for thread-posix QemuRecMutex
        softfloat: Use _Generic instead of QEMU_GENERIC
        configure: Use -std=gnu11
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      18e53dff
  4. Jun 16, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210616' into staging · 38848ce5
      Peter Maydell authored
      
      target-arm queue:
       * hw/intc/arm_gicv3_cpuif: Tolerate spurious EOIR writes
       * handle some UNALLOCATED decode cases correctly rather
         than asserting
       * hw: virt: consider hw_compat_6_0
       * hw/arm: add quanta-gbs-bmc machine
       * hw/intc/armv7m_nvic: Remove stale comment
       * target/arm: Fix mte page crossing test
       * hw/arm: quanta-q71l add pca954x muxes
       * target/arm: First few parts of MVE support
      
      # gpg: Signature made Wed 16 Jun 2021 14:34:49 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-20210616: (25 commits)
        include/qemu/int128.h: Add function to create Int128 from int64_t
        bitops.h: Provide hswap32(), hswap64(), wswap64() swapping operations
        target/arm: Move expand_pred_b() data to vec_helper.c
        target/arm: Add framework for MVE decode
        target/arm: Implement MVE LETP insn
        target/arm: Implement MVE DLSTP
        target/arm: Implement MVE WLSTP insn
        target/arm: Implement MVE LCTP
        target/arm: Let vfp_access_check() handle late NOCP checks
        target/arm: Add handling for PSR.ECI/ICI
        target/arm: Handle VPR semantics in existing code
        target/arm: Enable FPSCR.QC bit for MVE
        target/arm: Provide and use H8 and H1_8 macros
        hw/arm: quanta-q71l add pca954x muxes
        hw/arm: gsj add pca9548
        hw/arm: gsj add i2c comments
        target/arm: Fix mte page crossing test
        hw/intc/armv7m_nvic: Remove stale comment
        hw/arm: quanta-gbs-bmc add i2c comments
        hw/arm: add quanta-gbs-bmc machine
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      38848ce5
    • Peter Maydell's avatar
      include/qemu/int128.h: Add function to create Int128 from int64_t · 703235a3
      Peter Maydell authored
      
      int128_make64() creates an Int128 from an unsigned 64 bit value; add
      a function int128_makes64() creating an Int128 from a signed 64 bit
      value.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20210614151007.4545-34-peter.maydell@linaro.org
      703235a3
    • Peter Maydell's avatar
      bitops.h: Provide hswap32(), hswap64(), wswap64() swapping operations · dbcf6f93
      Peter Maydell authored
      
      Currently the ARM SVE helper code defines locally some utility
      functions for swapping 16-bit halfwords within 32-bit or 64-bit
      values and for swapping 32-bit words within 64-bit values,
      parallel to the byte-swapping bswap16/32/64 functions.
      
      We want these also for the ARM MVE code, and they're potentially
      generally useful for other targets, so move them to bitops.h.
      (We don't put them in bswap.h with the bswap* functions because
      they are implemented in terms of the rotate operations also
      defined in bitops.h, and including bitops.h from bswap.h seems
      better avoided.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 20210614151007.4545-17-peter.maydell@linaro.org
      dbcf6f93
    • Peter Maydell's avatar
      target/arm: Move expand_pred_b() data to vec_helper.c · 77f96148
      Peter Maydell authored
      
      For MVE, we want to re-use the large data table from expand_pred_b().
      Move the data table to vec_helper.c so it is no longer in an SVE
      specific source file.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-14-peter.maydell@linaro.org
      77f96148
    • Peter Maydell's avatar
      target/arm: Add framework for MVE decode · 6390eed4
      Peter Maydell authored
      
      Add the framework for decoding MVE insns, with the necessary new
      files and the meson.build rules, but no actual content yet.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-11-peter.maydell@linaro.org
      6390eed4
    • Peter Maydell's avatar
      target/arm: Implement MVE LETP insn · a454ea1e
      Peter Maydell authored
      
      Implement the MVE LETP insn.  This is like the existing LE loop-end
      insn, but it must perform an FPU-enabled check, and on loop-exit it
      resets LTPSIZE to 4.
      
      To accommodate the requirement to do something on loop-exit, we drop
      the use of condlabel and instead manage both the TB exits manually,
      in the same way we already do in trans_WLS().
      
      The other MVE-specific change to the LE insn is that we must raise an
      INVSTATE UsageFault insn if LTPSIZE is not 4.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-10-peter.maydell@linaro.org
      a454ea1e
    • Peter Maydell's avatar
      target/arm: Implement MVE DLSTP · 40a36f00
      Peter Maydell authored
      
      Implement the MVE DLSTP insn; this is like the existing DLS
      insn, except that it must do an FPU access check and it
      sets LTPSIZE to the value specified in the insn.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-9-peter.maydell@linaro.org
      40a36f00
    • Peter Maydell's avatar
      target/arm: Implement MVE WLSTP insn · 6822abfd
      Peter Maydell authored
      
      Implement the MVE WLSTP insn; this is like the existing WLS insn,
      except that it specifies a size value which is used to set
      FPSCR.LTPSIZE.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-8-peter.maydell@linaro.org
      6822abfd
    • Peter Maydell's avatar
      target/arm: Implement MVE LCTP · 76c32d72
      Peter Maydell authored
      
      Implement the MVE LCTP instruction.
      
      We put its decode and implementation with the other
      low-overhead-branch insns because although it is only present if MVE
      is implemented it is logically in the same group as the other LOB
      insns.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-7-peter.maydell@linaro.org
      76c32d72
    • Peter Maydell's avatar
      target/arm: Let vfp_access_check() handle late NOCP checks · 9a486856
      Peter Maydell authored
      
      In commit a3494d46 we reworked the M-profile handling of its
      checks for when the NOCP exception should be raised because the FPU
      is disabled, so that (in line with the architecture) the NOCP check
      is done early over a large range of the encoding space, and takes
      precedence over UNDEF exceptions.  As part of this, we removed the
      code from full_vfp_access_check() which raised an exception there for
      M-profile with the FPU disabled, because it was no longer reachable.
      
      For MVE, some instructions which are outside the "coprocessor space"
      region of the encoding space must nonetheless do "is the FPU enabled"
      checks and possibly raise a NOCP exception.  (In particular this
      covers the MVE-specific low-overhead branch insns LCTP, DLSTP and
      WLSTP.) To support these insns, reinstate the code in
      full_vfp_access_check(), so that their trans functions can call
      vfp_access_check() and get the correct behaviour.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-6-peter.maydell@linaro.org
      9a486856
    • Peter Maydell's avatar
      target/arm: Add handling for PSR.ECI/ICI · 5138bd01
      Peter Maydell authored
      
      On A-profile, PSR bits [15:10][26:25] are always the IT state bits.
      On M-profile, some of the reserved encodings of the IT state are used
      to instead indicate partial progress through instructions that were
      interrupted partway through by an exception and can be resumed.
      
      These resumable instructions fall into two categories:
      
      (1) load/store multiple instructions, where these bits are called
      "ICI" and specify the register in the ldm/stm list where execution
      should resume.  (Specifically: LDM, STM, VLDM, VSTM, VLLDM, VLSTM,
      CLRM, VSCCLRM.)
      
      (2) MVE instructions subject to beatwise execution, where these bits
      are called "ECI" and specify which beats in this and possibly also
      the following MVE insn have been executed.
      
      There are also a few insns (LE, LETP, and BKPT) which do not use the
      ICI/ECI bits but must leave them alone.
      
      Otherwise, we should raise an INVSTATE UsageFault for any attempt to
      execute an insn with non-zero ICI/ECI bits.
      
      So far we have been able to ignore ECI/ICI, because the architecture
      allows the IMPDEF choice of "always restart load/store multiple from
      the beginning regardless of ICI state", so the only thing we have
      been missing is that we don't raise the INVSTATE fault for bad guest
      code.  However, MVE requires that we honour ECI bits and do not
      rexecute beats of an insn that have already been executed.
      
      Add the support in the decoder for handling ECI/ICI:
       * identify the ECI/ICI case in the CONDEXEC TB flags
       * when a load/store multiple insn succeeds, it updates the ECI/ICI
         state (both in DisasContext and in the CPU state), and sets a flag
         to say that the ECI/ICI state was handled
       * if we find that the insn we just decoded did not handle the
         ECI/ICI state, we delete all the code that we just generated for
         it and instead emit the code to raise the INVFAULT.  This allows
         us to avoid having to update every non-MVE non-LDM/STM insn to
         make it check for "is ECI/ICI set?".
      
      We continue with our existing IMPDEF choice of not caring about the
      ICI state for the load/store multiples and simply restarting them
      from the beginning.  Because we don't allow interrupts in the middle
      of an insn, the only way we would see this state is if the guest set
      ICI manually on return from an exception handler, so it's a corner
      case which doesn't merit optimisation.
      
      ICI update for LDM/STM is simple -- it always zeroes the state.  ECI
      update for MVE beatwise insns will be a little more complex, since
      the ECI state may include information for the following insn.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-5-peter.maydell@linaro.org
      5138bd01
    • Peter Maydell's avatar
      target/arm: Handle VPR semantics in existing code · 375256a8
      Peter Maydell authored
      
      When MVE is supported, the VPR register has a place on the exception
      stack frame in a previously reserved slot just above the FPSCR.
      It must also be zeroed in various situations when we invalidate
      FPU context.
      
      Update the code which handles the stack frames (exception entry and
      exit code, VLLDM, and VLSTM) to save/restore VPR.
      
      Update code which invalidates FP registers (mostly also exception
      entry and exit code, but also VSCCLRM and the code in
      full_vfp_access_check() that corresponds to the ExecuteFPCheck()
      pseudocode) to zero VPR.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-4-peter.maydell@linaro.org
      375256a8
    • Peter Maydell's avatar
      target/arm: Enable FPSCR.QC bit for MVE · c485ce2c
      Peter Maydell authored
      
      MVE has an FPSCR.QC bit similar to the A-profile Neon one; when MVE
      is implemented make the bit writeable, both in the generic "load and
      store FPSCR" helper functions and in the code for handling the NZCVQC
      sysreg which we had previously left as "TODO when we implement MVE".
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-3-peter.maydell@linaro.org
      c485ce2c
    • Peter Maydell's avatar
      target/arm: Provide and use H8 and H1_8 macros · 6e802db3
      Peter Maydell authored
      
      Currently we provide Hn and H1_n macros for accessing the correct
      data within arrays of vector elements of size 1, 2 and 4, accounting
      for host endianness.  We don't provide any macros for elements of
      size 8 because there the host endianness doesn't matter.  However,
      this does result in awkwardness where we need to pass empty arguments
      to macros, because checkpatch complains about them.  The empty
      argument is a little confusing for humans to read as well.
      
      Add H8() and H1_8() macros and use them where we were previously
      passing empty arguments to macros.
      
      Suggested-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20210614151007.4545-2-peter.maydell@linaro.org
      Message-id: 20210610132505.5827-1-peter.maydell@linaro.org
      6e802db3
    • Patrick Venture's avatar
      hw/arm: quanta-q71l add pca954x muxes · 3ec75e39
      Patrick Venture authored
      
      Adds the pca954x muxes expected.
      
      Tested: Booted quanta-q71l image to userspace.
      Signed-off-by: default avatarPatrick Venture <venture@google.com>
      Reviewed-by: default avatarHao Wu <wuhaotsh@google.com>
      Reviewed-by: default avatarJoel Stanley <joel@jms.id.au>
      Reviewed-by: default avatarCédric Le Goater <clg@kaod.org>
      Message-id: 20210608202522.2677850-4-venture@google.com
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      3ec75e39
Loading