qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH v1 00/11]  Per Master Addressing (PMA)
@ 2014-06-03  2:06 Peter Crosthwaite
  2014-06-03  2:07 ` [Qemu-devel] [RFC PATCH v1 01/11] microblaze: ml605: Get rid of useless ddr_base variable Peter Crosthwaite
                   ` (12 more replies)
  0 siblings, 13 replies; 18+ messages in thread
From: Peter Crosthwaite @ 2014-06-03  2:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: pbonzini, edgari, afaerber, peter.maydell

Hi All,

This series implements Per-bus-Master Address spaces (PMA). It builds
on the merged components of Edgar's original series:

https://lists.gnu.org/archive/html/qemu-devel/2014-02/msg01346.html

And my pending MemoryRegion QOMification:

https://lists.nongnu.org/archive/html/qemu-devel/2014-06/msg00029.html

The approach is based on PMA as discussed KVM call 2014-05-13. MOM:

http://lists.gnu.org/archive/html/qemu-devel/2014-05/msg02430.html

"
PM: Address space is flattended memory regions, needed for actual memory
access when constructing machines, we deal with memory regions, not
address spaces

AF+PM: Each CPU should have its own address space

...

Do busmasters get their own address space, too?
PM: Yes
"

Patches 3-9 patch memory, exec and CPU to enable this capability
generally. The basic idea is MemoryRegions are QOM/linkable, and masters
create their own AddressSpace as needed from their given MRs.

The PetaLogix ml605 board is converted to use the new framework as the
lead example P10/11. It is tested as working. For a diagram of the real
hardware setup WRT to DMA and bus master visibility:

http://www.xilinx.com/support/documentation/ip_documentation/axi_dma/v6_03_a/pg021_axi_dma.pdf

page 49.

This series is work-in-progress and has numerous FIXMEs in it.
Looking for conceptual level commentary.

2 trivials at the front of the series. Easily skipped by reviewers.

Regards,
Peter


Peter Crosthwaite (11):
  microblaze: ml605: Get rid of useless ddr_base variable
  dma: axidma: Variablise repeated s->streams[i] sub-expr
  exec: Parent root MRs to the machine
  exec: dummy_section: Pass address space through.
  memory: Parent Memory Regions to their registered owners
  memory: address_space_init: do nothing if no root region given
  memory.c: Add address_space_init_shareable()
  qom/cpu: Add Memory Region Property
  exec: use per-cpu address-spaces for cpuisms
  microblaze: ml605: Convert to PMA
  dma: axidma: Convert to PMA

 exec.c                              | 23 +++++++++++-------
 hw/core/loader.c                    |  2 +-
 hw/dma/xilinx_axidma.c              | 47 ++++++++++++++++++++++++++++++-------
 hw/microblaze/petalogix_ml605_mmu.c | 42 ++++++++++++++++++++++++---------
 include/exec/memory.h               |  2 ++
 include/qom/cpu.h                   |  1 +
 memory.c                            | 47 +++++++++++++++++++++++++++++++++++++
 qom/cpu.c                           | 30 +++++++++++++++++++++++
 8 files changed, 165 insertions(+), 29 deletions(-)

-- 
2.0.0

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2014-08-20  7:43 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-03  2:06 [Qemu-devel] [RFC PATCH v1 00/11] Per Master Addressing (PMA) Peter Crosthwaite
2014-06-03  2:07 ` [Qemu-devel] [RFC PATCH v1 01/11] microblaze: ml605: Get rid of useless ddr_base variable Peter Crosthwaite
2014-06-03  2:07 ` [Qemu-devel] [RFC PATCH v1 02/11] dma: axidma: Variablise repeated s->streams[i] sub-expr Peter Crosthwaite
2014-06-03  2:08 ` [Qemu-devel] [RFC PATCH v1 03/11] exec: Parent root MRs to the machine Peter Crosthwaite
2014-06-03  2:08 ` [Qemu-devel] [RFC PATCH v1 04/11] exec: dummy_section: Pass address space through Peter Crosthwaite
2014-06-03  2:09 ` [Qemu-devel] [RFC PATCH v1 05/11] memory: Parent Memory Regions to their registered owners Peter Crosthwaite
2014-06-03  2:09 ` [Qemu-devel] [RFC PATCH v1 06/11] memory: address_space_init: do nothing if no root region given Peter Crosthwaite
2014-06-03  2:10 ` [Qemu-devel] [RFC PATCH v1 07/11] memory.c: Add address_space_init_shareable() Peter Crosthwaite
2014-06-03 15:30   ` Peter Maydell
2014-08-20  7:30     ` Peter Crosthwaite
2014-06-03  2:10 ` [Qemu-devel] [RFC PATCH v1 08/11] qom/cpu: Add Memory Region Property Peter Crosthwaite
2014-06-03  2:11 ` [Qemu-devel] [RFC PATCH v1 09/11] exec: use per-cpu address-spaces for cpuisms Peter Crosthwaite
2014-06-03 15:28   ` Peter Maydell
2014-08-20  7:42     ` Peter Crosthwaite
2014-06-03  2:12 ` [Qemu-devel] [RFC PATCH v1 10/11] microblaze: ml605: Convert to PMA Peter Crosthwaite
2014-06-03  2:12 ` [Qemu-devel] [RFC PATCH v1 11/11] dma: axidma: " Peter Crosthwaite
2014-06-03 12:11 ` [Qemu-devel] [RFC PATCH v1 00/11] Per Master Addressing (PMA) Paolo Bonzini
2014-06-03 15:44 ` Peter Maydell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).