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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.