All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 0/3] ppc: handle broadcast tlb flush
@ 2016-09-20 16:34 Nikunj A Dadhania
  2016-09-20 16:34 ` [Qemu-devel] [PATCH v6 1/3] target-ppc: add TLB_NEED_LOCAL_FLUSH flag Nikunj A Dadhania
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Nikunj A Dadhania @ 2016-09-20 16:34 UTC (permalink / raw)
  To: qemu-ppc, david, benh; +Cc: alex.bennee, qemu-devel, nikunj

PowerPC failed to handle broadcast TLB flush operations. Executing 
instructions that are defined architecturally as synchronizing global TLB 
should have a global effect.

* tlbie on BookS
* tlbivax on BookE
* H_CALLs (H_REMOVE, H_BULK_REMOVE and H_PROTECT) in case of pseries, 
  since they contain a tlbie on a real hypervisor.

The implementation provides a single point that can be used in MTTCG for 
doing async-flushes.

The patchset introduces bit-flags in CPUPPCState::tlb_need_flush:

  TLB_NEED_LOCAL_FLUSH (0x1) - Flush local tlb
  TLB_NEED_GLOBAL_FLUSH (0x2) - Flush tlb on other cpus.

Note: Tested patches on commit ebc231d(Merge remote-tracking branch 
'remotes/awilliam/tags/vfio-fixes-20160915.0' into staging), as ppc64 
system emulation is broken after that.

Changelog
v5:
* Added check_tlb_flush_[local, global] helpers
* Changed the variable type to bool

v4: 
* Updated commit message for patch 1/3

v3:
* Updated commit messages and cover letter(benh)


Nikunj A Dadhania (3):
  target-ppc: add TLB_NEED_LOCAL_FLUSH flag
  target-ppc: add flag in chech_tlb_flush()
  target-ppc: tlbie/tlbivax should have global effect

 hw/ppc/spapr_hcall.c     |  6 ++++--
 target-ppc/cpu.h         |  2 ++
 target-ppc/excp_helper.c |  4 ++--
 target-ppc/helper.h      |  3 ++-
 target-ppc/helper_regs.h | 25 +++++++++++++++++++++----
 target-ppc/mmu-hash64.c  |  6 +++---
 target-ppc/mmu_helper.c  | 25 +++++++++++++++++--------
 target-ppc/translate.c   | 29 +++++++++++++++++++----------
 8 files changed, 70 insertions(+), 30 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2016-09-21  1:28 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-20 16:34 [Qemu-devel] [PATCH v6 0/3] ppc: handle broadcast tlb flush Nikunj A Dadhania
2016-09-20 16:34 ` [Qemu-devel] [PATCH v6 1/3] target-ppc: add TLB_NEED_LOCAL_FLUSH flag Nikunj A Dadhania
2016-09-20 16:35 ` [Qemu-devel] [PATCH v6 2/3] target-ppc: add flag in chech_tlb_flush() Nikunj A Dadhania
2016-09-20 16:35 ` [Qemu-devel] [PATCH v6 3/3] target-ppc: tlbie/tlbivax should have global effect Nikunj A Dadhania
2016-09-21  1:28 ` [Qemu-devel] [PATCH v6 0/3] ppc: handle broadcast tlb flush David Gibson

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.