[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 00/21] hw: Remove implicit sysbus_mmio_map() from pflash A
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v2 00/21] hw: Remove implicit sysbus_mmio_map() from pflash APIs |
Date: |
Mon, 9 Jan 2023 13:13:20 +0100 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 |
On 9/1/23 13:08, Philippe Mathieu-Daudé wrote:
Since v1:
- Do not introduce pflash_cfi_create(), directly
open-code pflash_cfi_register() before removing it (Peter)
- Added R-b tags
Sigh, my sendemail.cccmd command didn't work, so Cc'ing manually the cover.
Paving the road toward heterogeneous QEMU, the limitations of
having a single machine sysbus become more apparent.
The sysbus_mmio_map() API forces the caller to map a sysbus
device to an address on the system bus (system bus here is
the root MemoryRegion returned by get_system_memory() ).
This is not practical when each core has its own address
space and group of cores have access to a part of the
peripherals.
Experimenting with the PFLASH devices. Here the fix is
quite easy: open-code the pflash_cfi_register() functions.
Since we were touching the PFLASH API, we restricted the
PFlashCFI0X structures to their models. The API now deals
with a generic qdev pointer (DeviceState*).
Please review,
Phil.
Based-on: <20230109115316.2235-1-philmd@linaro.org>
"hw/arm: Cleanups before pflash refactor"
Based-on: <20230109120154.2868-1-philmd@linaro.org>
"hw/misc: Cleanups around PFLASH use"
Philippe Mathieu-Daudé (21):
hw/block: Rename TYPE_PFLASH_CFI02 'width' property as 'device-width'
hw/block: Pass DeviceState to pflash_cfi01_get_blk()
hw/block: Use pflash_cfi01_get_blk() in pflash_cfi01_legacy_drive()
hw/block: Pass DeviceState to pflash_cfi01_get_memory()
hw/arm: Use generic DeviceState instead of PFlashCFI01
hw/loongarch: Use generic DeviceState instead of PFlashCFI01
hw/riscv: Use generic DeviceState instead of PFlashCFI01
hw/i386: Use generic DeviceState instead of PFlashCFI01
hw/xtensa: Use generic DeviceState instead of PFlashCFI01
hw/sh4: Open-code pflash_cfi02_register()
hw/arm/digic: Open-code pflash_cfi02_register()
hw/arm/musicpal: Open-code pflash_cfi02_register()
hw/arm/xilinx_zynq: Open-code pflash_cfi02_register()
hw/block: Remove unused pflash_cfi02_register()
hw/block: Make PFlashCFI02 QOM declaration internal
hw/arm: Open-code pflash_cfi01_register()
hw/microblaze: Open-code pflash_cfi01_register()
hw/mips: Open-code pflash_cfi01_register()
hw/ppc: Open-code pflash_cfi01_register()
hw/block: Remove unused pflash_cfi01_register()
hw/block: Make PFlashCFI01 QOM declaration internal
- [PATCH v2 14/21] hw/block: Remove unused pflash_cfi02_register(), (continued)
- [PATCH v2 14/21] hw/block: Remove unused pflash_cfi02_register(), Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 15/21] hw/block: Make PFlashCFI02 QOM declaration internal, Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 16/21] hw/arm: Open-code pflash_cfi01_register(), Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 17/21] hw/microblaze: Open-code pflash_cfi01_register(), Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 20/21] hw/block: Remove unused pflash_cfi01_register(), Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 19/21] hw/ppc: Open-code pflash_cfi01_register(), Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 18/21] hw/mips: Open-code pflash_cfi01_register(), Philippe Mathieu-Daudé, 2023/01/09
- [PATCH v2 21/21] hw/block: Make PFlashCFI01 QOM declaration internal, Philippe Mathieu-Daudé, 2023/01/09
- Re: [PATCH v2 00/21] hw: Remove implicit sysbus_mmio_map() from pflash APIs,
Philippe Mathieu-Daudé <=