All of lore.kernel.org
 help / color / mirror / Atom feed
From: wei.guo.simon@gmail.com
To: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	Shuah Khan <shuahkh@osg.samsung.com>,
	Anton Blanchard <anton@samba.org>, Cyril Bur <cyrilbur@gmail.com>,
	Anshuman Khandual <khandual@linux.vnet.ibm.com>,
	Simon Guo <wei.guo.simon@gmail.com>,
	Ulrich Weigand <ulrich.weigand@de.ibm.com>,
	Michael Neuling <mikey@neuling.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Kees Cook <keescook@chromium.org>,
	Rashmica Gupta <rashmicy@gmail.com>,
	Khem Raj <raj.khem@gmail.com>, Jessica Yu <jeyu@redhat.com>,
	Jiri Kosina <jkosina@suse.cz>, Miroslav Benes <mbenes@suse.cz>,
	Suraj Jitindar Singh <sjitindarsingh@gmail.com>,
	Chris Smart <chris@distroguy.com>,
	linux-kselftest@vger.kernel.org
Subject: [PATCH v13 02/30] powerpc/process: Add the function flush_tmregs_to_thread
Date: Thu, 28 Jul 2016 10:57:31 +0800	[thread overview]
Message-ID: <1469674679-8580-3-git-send-email-wei.guo.simon@gmail.com> (raw)
In-Reply-To: <1469674679-8580-1-git-send-email-wei.guo.simon@gmail.com>

From: Anshuman Khandual <khandual@linux.vnet.ibm.com>

This patch creates a function flush_tmregs_to_thread which
will then be used by subsequent patches in this series. The
function checks for self tracing ptrace interface attempts
while in the TM context and logs appropriate warning message.

Signed-off-by: Anshuman Khandual <khandual@linux.vnet.ibm.com>
Signed-off-by: Simon Guo <wei.guo.simon@gmail.com>
---
 arch/powerpc/include/asm/switch_to.h |  8 ++++++++
 arch/powerpc/kernel/process.c        | 20 ++++++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/arch/powerpc/include/asm/switch_to.h b/arch/powerpc/include/asm/switch_to.h
index 17c8380..0a74ebe 100644
--- a/arch/powerpc/include/asm/switch_to.h
+++ b/arch/powerpc/include/asm/switch_to.h
@@ -75,6 +75,14 @@ static inline void disable_kernel_spe(void)
 static inline void __giveup_spe(struct task_struct *t) { }
 #endif
 
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+extern void flush_tmregs_to_thread(struct task_struct *);
+#else
+static inline void flush_tmregs_to_thread(struct task_struct *t)
+{
+}
+#endif
+
 static inline void clear_task_ebb(struct task_struct *t)
 {
 #ifdef CONFIG_PPC_BOOK3S_64
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index 0b93893..e9f7f52 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -1051,6 +1051,26 @@ static inline void restore_sprs(struct thread_struct *old_thread,
 #endif
 }
 
+#ifdef CONFIG_PPC_TRANSACTIONAL_MEM
+void flush_tmregs_to_thread(struct task_struct *tsk)
+{
+	/*
+	 * Process self tracing is not yet supported through
+	 * ptrace interface. Ptrace generic code should have
+	 * prevented this from happening in the first place.
+	 * Warn once here with the message, if some how it
+	 * is attempted.
+	 */
+	WARN_ONCE(tsk == current,
+		"Not expecting ptrace on self: TM regs may be incorrect\n");
+
+	/*
+	 * If task is not current, it should have been flushed
+	 * already to it's thread_struct during __switch_to().
+	 */
+}
+#endif
+
 struct task_struct *__switch_to(struct task_struct *prev,
 	struct task_struct *new)
 {
-- 
1.8.3.1

  parent reply	other threads:[~2016-07-28  2:58 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-28  2:57 [PATCH v13 00/30] Add new powerpc specific ELF core notes wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 01/30] elf: Add powerpc specific core note sections wei.guo.simon
2016-07-28  2:57 ` wei.guo.simon [this message]
2016-07-28  2:57 ` [PATCH v13 03/30] powerpc/ptrace: Enable in transaction NT_PRFPREG ptrace requests wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 04/30] powerpc/ptrace: Enable in transaction NT_PPC_VMX " wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 05/30] powerpc/ptrace: Enable in transaction NT_PPC_VSX " wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 06/30] powerpc/ptrace: Adapt gpr32_get, gpr32_set functions for transaction wei.guo.simon
2016-08-04  6:36   ` Daniel Axtens
2016-08-04  8:28     ` Michael Ellerman
2016-08-05  0:30       ` Daniel Axtens
2016-07-28  2:57 ` [PATCH v13 07/30] powerpc/ptrace: Enable support for NT_PPC_CGPR wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 08/30] powerpc/ptrace: Enable support for NT_PPC_CFPR wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 09/30] powerpc/ptrace: Enable support for NT_PPC_CVMX wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 10/30] powerpc/ptrace: Enable support for NT_PPC_CVSX wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 11/30] powerpc/ptrace: Enable support for TM SPR state wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 12/30] powerpc/ptrace: Enable NT_PPC_TM_CTAR, NT_PPC_TM_CPPR, NT_PPC_TM_CDSCR wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 13/30] powerpc/ptrace: Enable support for NT_PPPC_TAR, NT_PPC_PPR, NT_PPC_DSCR wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 14/30] powerpc/ptrace: Enable support for EBB registers wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 15/30] powerpc/ptrace: Enable support for Performance Monitor registers wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 16/30] selftests/powerpc: Add more SPR numbers, TM & VMX instructions to 'reg.h' wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 17/30] selftests/powerpc: Use the new SPRN_DSCR_PRIV definiton wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 18/30] selftests/powerpc: Add ptrace tests for EBB wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 19/30] selftests/powerpc: Add ptrace tests for GPR/FPR registers wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 20/30] selftests/powerpc: Add ptrace tests for GPR/FPR registers in TM wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 21/30] selftests/powerpc: Add ptrace tests for GPR/FPR registers in suspended TM wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 22/30] selftests/powerpc: Add ptrace tests for TAR, PPR, DSCR registers wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 23/30] selftests/powerpc: Add ptrace tests for TAR, PPR, DSCR in TM wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 24/30] selftests/powerpc: Add ptrace tests for TAR, PPR, DSCR in suspended TM wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 25/30] selftests/powerpc: Add ptrace tests for VSX, VMX registers wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 26/30] selftests/powerpc: Add ptrace tests for VSX, VMX registers in TM wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 27/30] selftests/powerpc: Add ptrace tests for VSX, VMX registers in suspended TM wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 28/30] selftests/powerpc: Add ptrace tests for TM SPR registers wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 29/30] selftests/powerpc: Add .gitignore file for ptrace executables wei.guo.simon
2016-07-28  2:57 ` [PATCH v13 30/30] selftests/powerpc: Fix a build issue wei.guo.simon

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=1469674679-8580-3-git-send-email-wei.guo.simon@gmail.com \
    --to=wei.guo.simon@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=anton@samba.org \
    --cc=chris@distroguy.com \
    --cc=cyrilbur@gmail.com \
    --cc=jeyu@redhat.com \
    --cc=jkosina@suse.cz \
    --cc=keescook@chromium.org \
    --cc=khandual@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mbenes@suse.cz \
    --cc=mikey@neuling.org \
    --cc=mpe@ellerman.id.au \
    --cc=raj.khem@gmail.com \
    --cc=rashmicy@gmail.com \
    --cc=shuahkh@osg.samsung.com \
    --cc=sjitindarsingh@gmail.com \
    --cc=ulrich.weigand@de.ibm.com \
    /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.