Skip to content
Snippets Groups Projects
  1. Jun 19, 2021
  2. Jun 18, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/audio-20210617-pull-request' into staging · 3ccf6cd0
      Peter Maydell authored
      
      audio: bugfix collection.
      
      # gpg: Signature made Thu 17 Jun 2021 13:40:56 BST
      # gpg:                using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/audio-20210617-pull-request:
        coreaudio: Fix output stream format settings
        audio: Fix format specifications of debug logs
        hw/audio/sb16: Avoid assertion by restricting I/O sampling rate range
        jackaudio: avoid that the client name contains the word (NULL)
        audio: move code to audio/audio.c
        paaudio: remove unused stream flags
        alsaaudio: remove #ifdef DEBUG to avoid bit rot
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      3ccf6cd0
  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
Loading