All of lore.kernel.org
 help / color / mirror / Atom feed
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

             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.