[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/7] hw/misc: Add memory_region_add_subregion_aliased() helper
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 0/7] hw/misc: Add memory_region_add_subregion_aliased() helper [pflash part] |
Date: |
Mon, 19 Apr 2021 11:43:22 +0200 |
Hi,
This series introduce the memory_region_add_subregion_aliased()
helper which basically create a device which maps a subregion
multiple times.
Since v1:
- Split series in 2, keeping the I/O regions (showed with the q800
machine) part for 2nd part
- Added R-b tags
Examples are easier, so having a subregion aliased every @span_size
then mapped onto a container at an offset, you get something like:
^-----------^
| |
| |
| +-------+ | +---------+ <--+
| | +---------+ |
| | | | |
| | +-----------> | alias#3 | |
| | | | | |
| | | +---------+ |
| | | +---------+ |
| | | | | |
| | | +-------> | alias#2 | |
| | | | | | |region
| container | | | +---------+ | size
| | | | +---------+ |
| | | | | | |
| | | | +----> | alias#1 | |
| | | | | | | |
| | | | | +---------+ <--+ |
| | +-+---+--+--+ +---------+ | |
| | | | | | |span |
| | | subregion +-> | alias#0 | |size |
offset | | | | | | | |
+----> | +-------+ | +-----------+ +---------+ <--+ <--+
| | |
| | |
| | |
| | |
| | |
| ^-----------^
I know it need more documentation and tests, but I prefer to send
as draft RFC for early review before spending more time on it.
Supersedes: <20210326002728.1069834-1-f4bug@amsat.org>
Based-on: <20210325120921.858993-1-f4bug@amsat.org>
https://www.mail-archive.com/qemu-devel@nongnu.org/msg795218.html
Philippe Mathieu-Daudé (7):
hw/misc: Add device to help managing aliased memory regions
hw/arm/musicpal: Open-code pflash_cfi02_register() call
hw/arm/musicpal: Map flash using memory_region_add_subregion_aliased()
hw/arm/digic: Open-code pflash_cfi02_register() call
hw/arm/digic: Map flash using memory_region_add_subregion_aliased()
hw/block/pflash_cfi02: Remove pflash_setup_mappings()
hw/block/pflash_cfi02: Simplify pflash_cfi02_register() prototype
include/hw/block/flash.h | 1 -
include/hw/misc/aliased_region.h | 87 ++++++++++++++++++++
hw/arm/digic_boards.c | 28 +++++--
hw/arm/musicpal.c | 29 +++++--
hw/arm/xilinx_zynq.c | 2 +-
hw/block/pflash_cfi02.c | 36 +--------
hw/lm32/lm32_boards.c | 4 +-
hw/misc/aliased_region.c | 132 +++++++++++++++++++++++++++++++
hw/ppc/ppc405_boards.c | 6 +-
hw/sh4/r2d.c | 2 +-
MAINTAINERS | 6 ++
hw/arm/Kconfig | 2 +
hw/misc/Kconfig | 3 +
hw/misc/meson.build | 1 +
14 files changed, 285 insertions(+), 54 deletions(-)
create mode 100644 include/hw/misc/aliased_region.h
create mode 100644 hw/misc/aliased_region.c
--
2.26.3
- [PATCH v2 0/7] hw/misc: Add memory_region_add_subregion_aliased() helper [pflash part],
Philippe Mathieu-Daudé <=
- [RFC PATCH v2 1/7] hw/misc: Add device to help managing aliased memory regions, Philippe Mathieu-Daudé, 2021/04/19
- [PATCH v2 2/7] hw/arm/musicpal: Open-code pflash_cfi02_register() call, Philippe Mathieu-Daudé, 2021/04/19
- [PATCH v2 3/7] hw/arm/musicpal: Map flash using memory_region_add_subregion_aliased(), Philippe Mathieu-Daudé, 2021/04/19
- [PATCH v2 4/7] hw/arm/digic: Open-code pflash_cfi02_register() call, Philippe Mathieu-Daudé, 2021/04/19
- [PATCH v2 5/7] hw/arm/digic: Map flash using memory_region_add_subregion_aliased(), Philippe Mathieu-Daudé, 2021/04/19