[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 0/9] hw/misc: Add support for interleaved memory accesses
From: |
Philippe Mathieu-Daudé |
Subject: |
[RFC PATCH 0/9] hw/misc: Add support for interleaved memory accesses |
Date: |
Mon, 17 Aug 2020 18:18:44 +0200 |
This is a follow up on last year patch from Stephen Checkoway:
"block/pflash_cfi02: Implement intereleaved flash devices"
https://www.mail-archive.com/qemu-devel@nongnu.org/msg613077.html
Instead of making the PFLASH device more complex, I went
implementing a generic interleaver device (that can be re-used
for other MMIO devices, probably pointless, still useful for
simple testing).
The series is available on [1] and is organized as:
1/ Fix a pair of issues in memory.c as we are not exercing much
the memory_region_[read/write]_with_attrs_accessor functions (see
also [2]).
2/ Allow to use qtest helpers with the 'none' machine (without any
CPU).
3/ Add the interleaver device
4/ Add a device to test the interleaver device (later I'll expand
it to other MMIO accesses, such access_with_adjusted_size, endianess
and unaligned accesses). Let the 'none' machine create this device
from command line.
5/ Add qtests using 4/ to test 3/.
6/ Add a way to display the interleaved memory (sub)regions in
the HMP 'info mtree' command.
Based-on: <20200816173051.16274-1-f4bug@amsat.org>
[1] https://gitlab.com/philmd/qemu/-/tree/interleaved_device-v1
[2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg730279.html
Philippe Mathieu-Daudé (9):
memory: Initialize MemoryRegionOps for RAM memory regions
qtest: Add local qtest_mem_as() getter
qtest: Directly use global address_space_memory when no CPU available
hw/misc: Add interleaver device to make interleaved memory accesses
hw/misc: Add MMIO test device
hw/core/null-machine: Allow to use the MMIO 'test' device
tests/qtest: Add generic MMIO tests
memory: Allow memory region to display its subregions own descriptions
hw/misc/interleaver: Display subregions in 'info mtree'
include/exec/memory.h | 6 +
include/hw/misc/interleaver.h | 40 +++++
include/hw/misc/testdev.h | 15 ++
hw/core/null-machine.c | 2 +
hw/misc/interleaver.c | 283 ++++++++++++++++++++++++++++++++++
hw/misc/mmio-testdev.c | 150 ++++++++++++++++++
softmmu/memory.c | 32 ++++
softmmu/qtest.c | 40 +++--
tests/qtest/mmio-test.c | 146 ++++++++++++++++++
MAINTAINERS | 9 ++
hw/misc/Kconfig | 9 ++
hw/misc/Makefile.objs | 2 +
hw/misc/trace-events | 6 +
tests/qtest/Makefile.include | 1 +
14 files changed, 728 insertions(+), 13 deletions(-)
create mode 100644 include/hw/misc/interleaver.h
create mode 100644 include/hw/misc/testdev.h
create mode 100644 hw/misc/interleaver.c
create mode 100644 hw/misc/mmio-testdev.c
create mode 100644 tests/qtest/mmio-test.c
--
2.26.2
- [RFC PATCH 0/9] hw/misc: Add support for interleaved memory accesses,
Philippe Mathieu-Daudé <=
- [RFC PATCH 2/9] qtest: Add local qtest_mem_as() getter, Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 3/9] qtest: Directly use global address_space_memory when no CPU available, Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 4/9] hw/misc: Add interleaver device to make interleaved memory accesses, Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 1/9] memory: Initialize MemoryRegionOps for RAM memory regions, Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 5/9] hw/misc: Add MMIO test device, Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 9/9] hw/misc/interleaver: Display subregions in 'info mtree', Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 6/9] hw/core/null-machine: Allow to use the MMIO 'test' device, Philippe Mathieu-Daudé, 2020/08/17
- [RFC PATCH 7/9] tests/qtest: Add generic MMIO tests, Philippe Mathieu-Daudé, 2020/08/17