qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]