From 8e0cd23f7163f7f203bdaffd9f06feaa49dcec2d Mon Sep 17 00:00:00 2001 From: Joonas Kankaala Date: Sat, 9 Mar 2024 19:29:32 +0200 Subject: [PATCH 1/4] usb-audio: Fix invalid values in AudioControl descriptors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the invalid bInterfaceProtocol value 0x04 in the USB audio AudioControl descriptors. It should be zero. While Linux and Windows forgive this error, macOS 14 Sonoma does not. The usb-audio device does not appear in macOS sound settings even though the device is recognized and shows up in USB system information. According to the USB audio class specs 1.0-4.0, valid values are 0x00, 0x20, 0x30 and 0x40. (Note also that Linux prints the warning "unknown interface protocol 0x4, assuming v1", but then proceeds as if the value was zero.) This also fixes the invalid wTotalLength value in the multi-channel setup AudioControl interface header descriptor (used when multi=on and out.mixing-engine off). The combined length of all the descriptors there add up to 0x37, not 0x38. In Linux, "lsusb -D ..." displays incomplete descriptor information when this length is incorrect. Signed-off-by: Joonas Kankaala Reviewed-by: Volker Rümelin Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- hw/usb/dev-audio.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c index d5ac1f8962..1897fff9e6 100644 --- a/hw/usb/dev-audio.c +++ b/hw/usb/dev-audio.c @@ -124,7 +124,6 @@ static const USBDescIface desc_iface[] = { .bNumEndpoints = 0, .bInterfaceClass = USB_CLASS_AUDIO, .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL, - .bInterfaceProtocol = 0x04, .iInterface = STRING_USBAUDIO_CONTROL, .ndesc = 4, .descs = (USBDescOther[]) { @@ -282,7 +281,6 @@ static const USBDescIface desc_iface_multi[] = { .bNumEndpoints = 0, .bInterfaceClass = USB_CLASS_AUDIO, .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL, - .bInterfaceProtocol = 0x04, .iInterface = STRING_USBAUDIO_CONTROL, .ndesc = 4, .descs = (USBDescOther[]) { @@ -293,7 +291,7 @@ static const USBDescIface desc_iface_multi[] = { USB_DT_CS_INTERFACE, /* u8 bDescriptorType */ DST_AC_HEADER, /* u8 bDescriptorSubtype */ U16(0x0100), /* u16 bcdADC */ - U16(0x38), /* u16 wTotalLength */ + U16(0x37), /* u16 wTotalLength */ 0x01, /* u8 bInCollection */ 0x01, /* u8 baInterfaceNr */ } From 9988c7b50e0ebd93a8ac10d7da6890d05971e98e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Wed, 27 Mar 2024 15:48:04 +0100 Subject: [PATCH 2/4] fpu/softfloat: Remove mention of TILE-Gx target MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TILE-Gx has been removed during the v6.0 release (see commit 2cc1a90166 "Remove deprecated target tilegx"), no need to mention it in the list of "supported targets". Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Reviewed-by: Richard Henderson Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- fpu/softfloat-specialize.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fpu/softfloat-specialize.c.inc b/fpu/softfloat-specialize.c.inc index 1610472cfc..1c85c48a73 100644 --- a/fpu/softfloat-specialize.c.inc +++ b/fpu/softfloat-specialize.c.inc @@ -152,7 +152,7 @@ static void parts64_default_nan(FloatParts64 *p, float_status *status) /* * This case is true for Alpha, ARM, MIPS, OpenRISC, PPC, RISC-V, * S390, SH4, TriCore, and Xtensa. Our other supported targets, - * CRIS, Nios2, and Tile, do not have floating-point. + * CRIS and Nios2, do not have floating-point. */ if (snan_bit_is_one(status)) { /* set all bits other than msb */ From f6822fee969aed8662baa4fdc38e6aeced3894ad Mon Sep 17 00:00:00 2001 From: Stefan Weil Date: Sun, 31 Mar 2024 18:15:26 +0200 Subject: [PATCH 3/4] Fix some typos in documentation (found by codespell) Signed-off-by: Stefan Weil Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev --- docs/devel/atomics.rst | 2 +- docs/devel/ci-jobs.rst.inc | 2 +- docs/devel/clocks.rst | 2 +- docs/system/i386/sgx.rst | 2 +- qapi/qom.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/devel/atomics.rst b/docs/devel/atomics.rst index ff9b5ee30c..b77c6e13e1 100644 --- a/docs/devel/atomics.rst +++ b/docs/devel/atomics.rst @@ -119,7 +119,7 @@ The only guarantees that you can rely upon in this case are: ordinary accesses instead cause data races if they are concurrent with other accesses of which at least one is a write. In order to ensure this, the compiler will not optimize accesses out of existence, create unsolicited - accesses, or perform other similar optimzations. + accesses, or perform other similar optimizations. - acquire operations will appear to happen, with respect to the other components of the system, before all the LOAD or STORE operations diff --git a/docs/devel/ci-jobs.rst.inc b/docs/devel/ci-jobs.rst.inc index ec33e6ee2b..be06322279 100644 --- a/docs/devel/ci-jobs.rst.inc +++ b/docs/devel/ci-jobs.rst.inc @@ -115,7 +115,7 @@ CI pipeline. QEMU_JOB_SKIPPED ~~~~~~~~~~~~~~~~ -The job is not reliably successsful in general, so is not +The job is not reliably successful in general, so is not currently suitable to be run by default. Ideally this should be a temporary marker until the problems can be addressed, or the job permanently removed. diff --git a/docs/devel/clocks.rst b/docs/devel/clocks.rst index b2d1148cdb..177ee1c90d 100644 --- a/docs/devel/clocks.rst +++ b/docs/devel/clocks.rst @@ -279,7 +279,7 @@ You can change the multiplier and divider of a clock at runtime, so you can use this to model clock controller devices which have guest-programmable frequency multipliers or dividers. -Similary to ``clock_set()``, ``clock_set_mul_div()`` returns ``true`` if +Similarly to ``clock_set()``, ``clock_set_mul_div()`` returns ``true`` if the clock state was modified; that is, if the multiplier or the diviser or both were changed by the call. diff --git a/docs/system/i386/sgx.rst b/docs/system/i386/sgx.rst index 0f0a73f758..ab58b29392 100644 --- a/docs/system/i386/sgx.rst +++ b/docs/system/i386/sgx.rst @@ -6,7 +6,7 @@ Overview Intel Software Guard eXtensions (SGX) is a set of instructions and mechanisms for memory accesses in order to provide security accesses for sensitive -applications and data. SGX allows an application to use it's pariticular +applications and data. SGX allows an application to use its particular address space as an *enclave*, which is a protected area provides confidentiality and integrity even in the presence of privileged malware. Accesses to the enclave memory area from any software not resident in the enclave are prevented, diff --git a/qapi/qom.json b/qapi/qom.json index 8d4ca8ed92..85e6b4f84a 100644 --- a/qapi/qom.json +++ b/qapi/qom.json @@ -802,7 +802,7 @@ # # @fd: file descriptor name previously passed via 'getfd' command, # which represents a pre-opened /dev/iommu. This allows the -# iommufd object to be shared accross several subsystems (VFIO, +# iommufd object to be shared across several subsystems (VFIO, # VDPA, ...), and the file descriptor to be shared with other # process, e.g. DPDK. (default: QEMU opens /dev/iommu by itself) # From 7805132bc30b2619355b10bbfb67217ac838c677 Mon Sep 17 00:00:00 2001 From: Dayu Liu Date: Mon, 1 Apr 2024 17:43:55 +0800 Subject: [PATCH 4/4] hmp: Add help information for watchdog action: inject-nmi virsh qemu-monitor-command --hmp help information of watchdog_action missing inject-nmi which already supported in Commit 795dc6e4 Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2247 Signed-off-by: Dayu Liu Reviewed-by: Michael Tokarev Signed-off-by: Michael Tokarev [Mjt: decode and word-wrap commit message and add Resolves: tag] --- hmp-commands.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hmp-commands.hx b/hmp-commands.hx index 17b5ea839d..2e2a3bcf98 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1412,7 +1412,7 @@ ERST { .name = "watchdog_action", .args_type = "action:s", - .params = "[reset|shutdown|poweroff|pause|debug|none]", + .params = "[reset|shutdown|poweroff|pause|debug|none|inject-nmi]", .help = "change watchdog action", .cmd = hmp_watchdog_action, .command_completion = watchdog_action_completion,