All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 0/8] Steps towards per CPU address-spaces
@ 2013-11-22 15:15 edgar.iglesias
  2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 1/8] exec: Make tb_invalidate_phys_addr input an AS edgar.iglesias
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: edgar.iglesias @ 2013-11-22 15:15 UTC (permalink / raw)
  To: qemu-devel

From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>

Hi,

I'm looking at modelling a system where multiple CPUs co-exist with
different views of their attached buses/devs.

With this RFC series I'm trying to take small steps towards having
an address-space per CPU. This is still incomplete but I would like
to get comments early before changing to much. As there are no users
in the tree yet, this code restructure should not result in any
functional changes.

Patch 6 shows an issue with circular header deps between
qemu-common.h, cpu.h. I've got a branch with a possible
solution to that but its very intrusive so I opted to keep that
for later.

Patch 8 shows a possible transform to ld*/st*_phys here only
implemented for ldl_*_phys.

Future work will have to transform more of the cpu_* bus accessing
functions.

Cheers,
Edgar

Edgar E. Iglesias (8):
  exec: Make tb_invalidate_phys_addr input an AS
  exec: Make iotlb_to_region input an AS
  exec: Always initialize MemorySection address spaces
  exec: Make memory_region_section_get_iotlb use section AS
  memory: Add MemoryListener to typedefs
  cpu: Add per-cpu address space
  exec: On AS changes, only flush affected CPU TLBs
  exec: Make ldl_*_phys input an AddressSpace

 cpu-exec.c                        |    5 +-
 cputlb.c                          |    4 +-
 exec.c                            |   64 +++++++++++++++--------
 hw/dma/pl080.c                    |    9 ++--
 hw/dma/sun4m_iommu.c              |    3 +-
 hw/net/vmware_utils.h             |    2 +-
 hw/ppc/spapr_hcall.c              |    8 +--
 hw/s390x/css.c                    |    3 +-
 hw/s390x/s390-virtio-bus.c        |    2 +-
 hw/s390x/virtio-ccw.c             |    5 +-
 hw/scsi/megasas.c                 |    4 +-
 hw/scsi/vmw_pvscsi.c              |    3 +-
 hw/virtio/virtio.c                |    3 +-
 include/exec/cpu-common.h         |    6 +--
 include/exec/cpu-defs.h           |    3 ++
 include/exec/exec-all.h           |    5 +-
 include/exec/softmmu_template.h   |    5 +-
 include/hw/ppc/spapr.h            |    2 +-
 include/qemu/typedefs.h           |    1 +
 include/qom/cpu.h                 |    2 +
 target-alpha/helper.h             |    2 +-
 target-alpha/mem_helper.c         |    8 +--
 target-alpha/translate.c          |    2 +-
 target-arm/helper.c               |   12 ++---
 target-i386/arch_memory_mapping.c |   36 ++++++-------
 target-i386/helper.c              |    8 +--
 target-i386/seg_helper.c          |    4 +-
 target-i386/smm_helper.c          |  102 +++++++++++++++++++------------------
 target-i386/svm_helper.c          |   26 +++++-----
 target-ppc/excp_helper.c          |    2 +-
 target-ppc/mmu-hash32.h           |    4 +-
 target-s390x/cpu.c                |    2 +-
 target-sparc/ldst_helper.c        |    6 +--
 target-sparc/mmu_helper.c         |   18 +++----
 target-unicore32/softmmu.c        |    4 +-
 target-xtensa/helper.c            |    2 +-
 target-xtensa/op_helper.c         |    3 +-
 translate-all.c                   |    4 +-
 38 files changed, 215 insertions(+), 169 deletions(-)

-- 
1.7.10.4

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

end of thread, other threads:[~2013-11-23 21:57 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-22 15:15 [Qemu-devel] [RFC PATCH 0/8] Steps towards per CPU address-spaces edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 1/8] exec: Make tb_invalidate_phys_addr input an AS edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 2/8] exec: Make iotlb_to_region " edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 3/8] exec: Always initialize MemorySection address spaces edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 4/8] exec: Make memory_region_section_get_iotlb use section AS edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 5/8] memory: Add MemoryListener to typedefs edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 6/8] cpu: Add per-cpu address space edgar.iglesias
2013-11-22 15:50   ` Peter Maydell
2013-11-22 16:02     ` Edgar E. Iglesias
2013-11-23 18:00       ` Andreas Färber
2013-11-23 21:56         ` Edgar E. Iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 7/8] exec: On AS changes, only flush affected CPU TLBs edgar.iglesias
2013-11-22 15:15 ` [Qemu-devel] [RFC PATCH 8/8] exec: Make ldl_*_phys input an AddressSpace edgar.iglesias

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.