All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
To: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au,
	benh@kernel.crashing.org
Cc: alex.bennee@linaro.org, qemu-devel@nongnu.org, nikunj@linux.vnet.ibm.com
Subject: [Qemu-devel] [PATCH v6 0/3] ppc: handle broadcast tlb flush
Date: Tue, 20 Sep 2016 22:04:58 +0530	[thread overview]
Message-ID: <1474389301-4859-1-git-send-email-nikunj@linux.vnet.ibm.com> (raw)

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

             reply	other threads:[~2016-09-20 16:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-20 16:34 Nikunj A Dadhania [this message]
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

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=1474389301-4859-1-git-send-email-nikunj@linux.vnet.ibm.com \
    --to=nikunj@linux.vnet.ibm.com \
    --cc=alex.bennee@linaro.org \
    --cc=benh@kernel.crashing.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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.