From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
To: qemu-devel@nongnu.org
Cc: pbonzini@redhat.com, edgari@xilinx.com, afaerber@suse.de,
peter.maydell@linaro.org
Subject: [Qemu-devel] [RFC PATCH v1 00/11] Per Master Addressing (PMA)
Date: Mon, 2 Jun 2014 19:06:26 -0700 [thread overview]
Message-ID: <cover.1401760826.git.peter.crosthwaite@xilinx.com> (raw)
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
next reply other threads:[~2014-06-03 2:10 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-03 2:06 Peter Crosthwaite [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1401760826.git.peter.crosthwaite@xilinx.com \
--to=peter.crosthwaite@xilinx.com \
--cc=afaerber@suse.de \
--cc=edgari@xilinx.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).