[PULL 1/1] hw/nvme: fix handling of over-committed queues

2024-11-08 Thread Klaus Jensen
From: Klaus Jensen If a host chooses to use the SQHD "hint" in the CQE to know if there is room in the submission queue for additional commands, it may result in a situation where there are not enough internal resources (struct NvmeRequest) available to process the command. For a lack of a better

Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs

2024-11-08 Thread Cédric Le Goater
On 11/8/24 10:29, Jan Lübbe wrote: On Tue, 2024-10-29 at 15:06 +, Peter Maydell wrote: On Fri, 18 Oct 2024 at 16:42, Peter Maydell wrote: On Tue, 15 Oct 2024 at 14:57, Jan Luebbe wrote: For testing eMMC-specific functionality (such as handling boot partitions), it would be very useful to

Re: [PATCH] hw/sd/sdcard: Allow user creation of eMMCs

2024-11-08 Thread Jan Lübbe
On Tue, 2024-10-29 at 15:06 +, Peter Maydell wrote: > On Fri, 18 Oct 2024 at 16:42, Peter Maydell wrote: > > On Tue, 15 Oct 2024 at 14:57, Jan Luebbe wrote: > > > For testing eMMC-specific functionality (such as handling boot > > > partitions), it would be very useful to attach them to generi

Re: [PATCH] block: fix possible int overflow

2024-11-08 Thread Denis V. Lunev
On 11/6/24 17:00, Kevin Wolf wrote: Am 06.11.2024 um 16:45 hat Denis V. Lunev geschrieben: On 11/6/24 10:53, Kevin Wolf wrote: [ Cc: qemu-block ] Am 06.11.2024 um 09:04 hat Dmitry Frolov geschrieben: The sum "cluster_index + count" may overflow uint32_t. Found by Linux Verification Center (l

Re: [PATCH] block: fix possible int overflow

2024-11-08 Thread Denis V. Lunev
On 11/6/24 10:53, Kevin Wolf wrote: [ Cc: qemu-block ] Am 06.11.2024 um 09:04 hat Dmitry Frolov geschrieben: The sum "cluster_index + count" may overflow uint32_t. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Dmitry Frolov Thanks, applied to the block bra

Re: [PATCH] qapi: fix device-sync-config since-version

2024-11-08 Thread Michael S. Tsirkin
On Fri, Nov 08, 2024 at 09:35:08AM +0100, Markus Armbruster wrote: > Vladimir Sementsov-Ogievskiy writes: > > > Actually it comes in 9.2, not 9.1. > > > > Fixes: 3f98408e2e ("qapi: introduce device-sync-config") > > Signed-off-by: Vladimir Sementsov-Ogievskiy > > --- > > qapi/qdev.json | 2 +- >

Re: [PATCH] qapi: fix device-sync-config since-version

2024-11-08 Thread Markus Armbruster
Vladimir Sementsov-Ogievskiy writes: > Actually it comes in 9.2, not 9.1. > > Fixes: 3f98408e2e ("qapi: introduce device-sync-config") > Signed-off-by: Vladimir Sementsov-Ogievskiy > --- > qapi/qdev.json | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/qapi/qdev.json b/q

[PATCH v8 02/15] hw/display/apple-gfx: Introduce ParavirtualizedGraphics.Framework support

2024-11-08 Thread Phil Dennis-Jordan
MacOS provides a framework (library) that allows any vmm to implement a paravirtualized 3d graphics passthrough to the host metal stack called ParavirtualizedGraphics.Framework (PVG). The library abstracts away almost every aspect of the paravirtualized device model and only provides and receives c

[PATCH v8 09/15] gpex: Allow more than 4 legacy IRQs

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf Some boards such as vmapple don't do real legacy PCI IRQ swizzling. Instead, they just keep allocating more board IRQ lines for each new legacy IRQ. Let's support that mode by giving instantiators a new "nr_irqs" property they can use to support more than 4 legacy IRQ lines.

[PATCH v8 04/15] hw/display/apple-gfx: Adds configurable mode list

2024-11-08 Thread Phil Dennis-Jordan
This change adds a property 'display_modes' on the graphics device which permits specifying a list of display modes. (screen resolution and refresh rate) The property is an array of a custom type to make the syntax slightly less awkward to use, for example: -device '{"driver":"apple-gfx-pci", "di

[PATCH v8 00/15] macOS PV Graphics and new vmapple machine type

2024-11-08 Thread Phil Dennis-Jordan
This patch set introduces a new ARM and macOS HVF specific machine type called "vmapple", as well as a family of display devices based on the ParavirtualizedGraphics.framework in macOS. One of the display adapter variants, apple-gfx-mmio, is required for the new machine type, while apple-gfx-pci ca

[PATCH v8 03/15] hw/display/apple-gfx: Adds PCI implementation

2024-11-08 Thread Phil Dennis-Jordan
This change wires up the PCI variant of the paravirtualised graphics device, mainly useful for x86-64 macOS guests, implemented by macOS's ParavirtualizedGraphics.framework. It builds on code shared with the vmapple/mmio variant of the PVG device. Signed-off-by: Phil Dennis-Jordan --- v4: * Th

[PATCH v8 10/15] hw/vmapple/aes: Introduce aes engine

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf VMApple contains an "aes" engine device that it uses to encrypt and decrypt its nvram. It has trivial hard coded keys it uses for that purpose. Add device emulation for this device model. Signed-off-by: Alexander Graf Signed-off-by: Phil Dennis-Jordan --- v3: * Rebased

[PATCH v8 08/15] hvf: arm: Ignore writes to CNTP_CTL_EL0

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf MacOS unconditionally disables interrupts of the physical timer on boot and then continues to use the virtual one. We don't really want to support a full physical timer emulation, so let's just ignore those writes. Signed-off-by: Alexander Graf Signed-off-by: Phil Dennis-Jo

[PATCH v8 05/15] MAINTAINERS: Add myself as maintainer for apple-gfx, reviewer for HVF

2024-11-08 Thread Phil Dennis-Jordan
I'm happy to take responsibility for the macOS PV graphics code. As HVF patches don't seem to get much attention at the moment, I'm also adding myself as designated reviewer for HVF and x86 HVF to try and improve that. I anticipate that the resulting workload should be covered by the funding I'm r

[PATCH v8 15/15] hw/vmapple/vmapple: Add vmapple machine type

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf Apple defines a new "vmapple" machine type as part of its proprietary macOS Virtualization.Framework vmm. This machine type is similar to the virt one, but with subtle differences in base devices, a few special vmapple device additions and a vastly different boot chain. This

[PATCH v8 14/15] hw/block/virtio-blk: Replaces request free function with g_free

2024-11-08 Thread Phil Dennis-Jordan
The virtio_blk_free_request() function has been a 1-liner forwarding to g_free() for a while now. We may as well call g_free on the request pointer directly. Signed-off-by: Phil Dennis-Jordan Reviewed-by: Akihiko Odaki --- hw/block/virtio-blk.c | 43 +++---

[PATCH v8 06/15] hw: Add vmapple subdir

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf We will introduce a number of devices that are specific to the vmapple target machine. To keep them all tidily together, let's put them into a single target directory. Signed-off-by: Alexander Graf Signed-off-by: Phil Dennis-Jordan Reviewed-by: Akihiko Odaki --- MAINTAIN

[PATCH v8 13/15] hw/vmapple/virtio-blk: Add support for apple virtio-blk

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf Apple has its own virtio-blk PCI device ID where it deviates from the official virtio-pci spec slightly: It puts a new "apple type" field at a static offset in config space and introduces a new barrier command. This patch first creates a mechanism for virtio-blk downstream c

[PATCH v8 12/15] hw/vmapple/cfg: Introduce vmapple cfg region

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf Instead of device tree or other more standardized means, VMApple passes platform configuration to the first stage boot loader in a binary encoded format that resides at a dedicated RAM region in physical address space. This patch models this configuration space as a qdev dev

[PATCH v8 07/15] hw/misc/pvpanic: Add MMIO interface

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf In addition to the ISA and PCI variants of pvpanic, let's add an MMIO platform device that we can use in embedded arm environments. Signed-off-by: Alexander Graf Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Signed-off-by: Phil Dennis-Jordan Revie

[PATCH v8 01/15] ui & main loop: Redesign of system-specific main thread event handling

2024-11-08 Thread Phil Dennis-Jordan
macOS's Cocoa event handling must be done on the initial (main) thread of the process. Furthermore, if library or application code uses libdispatch, the main dispatch queue must be handling events on the main thread as well. So far, this has affected Qemu in both the Cocoa and SDL UIs, although in

[PATCH v8 11/15] hw/vmapple/bdif: Introduce vmapple backdoor interface

2024-11-08 Thread Phil Dennis-Jordan
From: Alexander Graf The VMApple machine exposes AUX and ROOT block devices (as well as USB OTG emulation) via virtio-pci as well as a special, simple backdoor platform device. This patch implements this backdoor platform device to the best of my understanding. I left out any USB OTG parts; they