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
next 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.