All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	npiggin@gmail.com, msuchanek@suse.de
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: [PATCH v5 13/22] powerpc/32: Always save non volatile GPRs at syscall entry
Date: Mon,  8 Feb 2021 15:10:32 +0000 (UTC)	[thread overview]
Message-ID: <21c08162b83655195fe9ead78ff2cfd28508d023.1612796617.git.christophe.leroy@csgroup.eu> (raw)
In-Reply-To: <cover.1612796617.git.christophe.leroy@csgroup.eu>

In preparation for porting syscall entry/exit to C, inconditionally
save non volatile general purpose registers.

Commit 965dd3ad3076 ("powerpc/64/syscall: Remove non-volatile GPR save
optimisation") provides detailed explanation.

This increases the number of cycles by 24 cycles on 8xx with
null_syscall benchmark (280 => 304 cycles)

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
---
 arch/powerpc/kernel/entry_32.S           | 46 +-----------------------
 arch/powerpc/kernel/head_32.h            |  2 +-
 arch/powerpc/kernel/head_booke.h         |  2 +-
 arch/powerpc/kernel/syscalls/syscall.tbl | 20 +++--------
 4 files changed, 8 insertions(+), 62 deletions(-)

diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index b1e36602c013..97dc28a68465 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -351,6 +351,7 @@ trace_syscall_entry_irq_off:
 
 	.globl	transfer_to_syscall
 transfer_to_syscall:
+	SAVE_NVGPRS(r1)
 #ifdef CONFIG_PPC_BOOK3S_32
 	kuep_lock r11, r12
 #endif
@@ -614,51 +615,6 @@ ret_from_kernel_syscall:
 #endif
 _ASM_NOKPROBE_SYMBOL(ret_from_kernel_syscall)
 
-/*
- * The fork/clone functions need to copy the full register set into
- * the child process. Therefore we need to save all the nonvolatile
- * registers (r13 - r31) before calling the C code.
- */
-	.globl	ppc_fork
-ppc_fork:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_fork
-
-	.globl	ppc_vfork
-ppc_vfork:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_vfork
-
-	.globl	ppc_clone
-ppc_clone:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_clone
-
-	.globl	ppc_clone3
-ppc_clone3:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_clone3
-
-	.globl	ppc_swapcontext
-ppc_swapcontext:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_swapcontext
-
 /*
  * Top-level page fault handling.
  * This is in assembler because if do_page_fault tells us that
diff --git a/arch/powerpc/kernel/head_32.h b/arch/powerpc/kernel/head_32.h
index 24dc326e0d56..7b12736ec546 100644
--- a/arch/powerpc/kernel/head_32.h
+++ b/arch/powerpc/kernel/head_32.h
@@ -148,7 +148,7 @@
 	stw	r2,GPR2(r11)
 	addi	r10,r10,STACK_FRAME_REGS_MARKER@l
 	stw	r9,_MSR(r11)
-	li	r2, \trapno + 1
+	li	r2, \trapno
 	stw	r10,8(r11)
 	stw	r2,_TRAP(r11)
 	SAVE_GPR(0, r11)
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index b3c502c503a0..626e716576ce 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -124,7 +124,7 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_EMB_HV)
 	stw	r2,GPR2(r11)
 	addi	r12, r12, STACK_FRAME_REGS_MARKER@l
 	stw	r9,_MSR(r11)
-	li	r2, \trapno + 1
+	li	r2, \trapno
 	stw	r12, 8(r11)
 	stw	r2,_TRAP(r11)
 	SAVE_GPR(0, r11)
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index f744eb5cba88..96b2157f0371 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -9,9 +9,7 @@
 #
 0	nospu	restart_syscall			sys_restart_syscall
 1	nospu	exit				sys_exit
-2	32	fork				ppc_fork			sys_fork
-2	64	fork				sys_fork
-2	spu	fork				sys_ni_syscall
+2	nospu	fork				sys_fork
 3	common	read				sys_read
 4	common	write				sys_write
 5	common	open				sys_open			compat_sys_open
@@ -160,9 +158,7 @@
 119	32	sigreturn			sys_sigreturn			compat_sys_sigreturn
 119	64	sigreturn			sys_ni_syscall
 119	spu	sigreturn			sys_ni_syscall
-120	32	clone				ppc_clone			sys_clone
-120	64	clone				sys_clone
-120	spu	clone				sys_ni_syscall
+120	nospu	clone				sys_clone
 121	common	setdomainname			sys_setdomainname
 122	common	uname				sys_newuname
 123	common	modify_ldt			sys_ni_syscall
@@ -244,9 +240,7 @@
 186	spu	sendfile			sys_sendfile64
 187	common	getpmsg				sys_ni_syscall
 188	common 	putpmsg				sys_ni_syscall
-189	32	vfork				ppc_vfork			sys_vfork
-189	64	vfork				sys_vfork
-189	spu	vfork				sys_ni_syscall
+189	nospu	vfork				sys_vfork
 190	common	ugetrlimit			sys_getrlimit			compat_sys_getrlimit
 191	common	readahead			sys_readahead			compat_sys_readahead
 192	32	mmap2				sys_mmap2			compat_sys_mmap2
@@ -322,9 +316,7 @@
 248	32	clock_nanosleep			sys_clock_nanosleep_time32
 248	64	clock_nanosleep			sys_clock_nanosleep
 248	spu	clock_nanosleep			sys_clock_nanosleep
-249	32	swapcontext			ppc_swapcontext			compat_sys_swapcontext
-249	64	swapcontext			sys_swapcontext
-249	spu	swapcontext			sys_ni_syscall
+249	nospu	swapcontext			sys_swapcontext			compat_sys_swapcontext
 250	common	tgkill				sys_tgkill
 251	32	utimes				sys_utimes_time32
 251	64	utimes				sys_utimes
@@ -522,9 +514,7 @@
 432	common	fsmount				sys_fsmount
 433	common	fspick				sys_fspick
 434	common	pidfd_open			sys_pidfd_open
-435	32	clone3				ppc_clone3			sys_clone3
-435	64	clone3				sys_clone3
-435	spu	clone3				sys_ni_syscall
+435	nospu	clone3				sys_clone3
 436	common	close_range			sys_close_range
 437	common	openat2				sys_openat2
 438	common	pidfd_getfd			sys_pidfd_getfd
-- 
2.25.0


WARNING: multiple messages have this Message-ID (diff)
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	Michael Ellerman <mpe@ellerman.id.au>,
	 npiggin@gmail.com, msuchanek@suse.de
Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: [PATCH v5 13/22] powerpc/32: Always save non volatile GPRs at syscall entry
Date: Mon,  8 Feb 2021 15:10:32 +0000 (UTC)	[thread overview]
Message-ID: <21c08162b83655195fe9ead78ff2cfd28508d023.1612796617.git.christophe.leroy@csgroup.eu> (raw)
In-Reply-To: <cover.1612796617.git.christophe.leroy@csgroup.eu>

In preparation for porting syscall entry/exit to C, inconditionally
save non volatile general purpose registers.

Commit 965dd3ad3076 ("powerpc/64/syscall: Remove non-volatile GPR save
optimisation") provides detailed explanation.

This increases the number of cycles by 24 cycles on 8xx with
null_syscall benchmark (280 => 304 cycles)

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
---
 arch/powerpc/kernel/entry_32.S           | 46 +-----------------------
 arch/powerpc/kernel/head_32.h            |  2 +-
 arch/powerpc/kernel/head_booke.h         |  2 +-
 arch/powerpc/kernel/syscalls/syscall.tbl | 20 +++--------
 4 files changed, 8 insertions(+), 62 deletions(-)

diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S
index b1e36602c013..97dc28a68465 100644
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
@@ -351,6 +351,7 @@ trace_syscall_entry_irq_off:
 
 	.globl	transfer_to_syscall
 transfer_to_syscall:
+	SAVE_NVGPRS(r1)
 #ifdef CONFIG_PPC_BOOK3S_32
 	kuep_lock r11, r12
 #endif
@@ -614,51 +615,6 @@ ret_from_kernel_syscall:
 #endif
 _ASM_NOKPROBE_SYMBOL(ret_from_kernel_syscall)
 
-/*
- * The fork/clone functions need to copy the full register set into
- * the child process. Therefore we need to save all the nonvolatile
- * registers (r13 - r31) before calling the C code.
- */
-	.globl	ppc_fork
-ppc_fork:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_fork
-
-	.globl	ppc_vfork
-ppc_vfork:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_vfork
-
-	.globl	ppc_clone
-ppc_clone:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_clone
-
-	.globl	ppc_clone3
-ppc_clone3:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_clone3
-
-	.globl	ppc_swapcontext
-ppc_swapcontext:
-	SAVE_NVGPRS(r1)
-	lwz	r0,_TRAP(r1)
-	rlwinm	r0,r0,0,0,30		/* clear LSB to indicate full */
-	stw	r0,_TRAP(r1)		/* register set saved */
-	b	sys_swapcontext
-
 /*
  * Top-level page fault handling.
  * This is in assembler because if do_page_fault tells us that
diff --git a/arch/powerpc/kernel/head_32.h b/arch/powerpc/kernel/head_32.h
index 24dc326e0d56..7b12736ec546 100644
--- a/arch/powerpc/kernel/head_32.h
+++ b/arch/powerpc/kernel/head_32.h
@@ -148,7 +148,7 @@
 	stw	r2,GPR2(r11)
 	addi	r10,r10,STACK_FRAME_REGS_MARKER@l
 	stw	r9,_MSR(r11)
-	li	r2, \trapno + 1
+	li	r2, \trapno
 	stw	r10,8(r11)
 	stw	r2,_TRAP(r11)
 	SAVE_GPR(0, r11)
diff --git a/arch/powerpc/kernel/head_booke.h b/arch/powerpc/kernel/head_booke.h
index b3c502c503a0..626e716576ce 100644
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
@@ -124,7 +124,7 @@ ALT_FTR_SECTION_END_IFSET(CPU_FTR_EMB_HV)
 	stw	r2,GPR2(r11)
 	addi	r12, r12, STACK_FRAME_REGS_MARKER@l
 	stw	r9,_MSR(r11)
-	li	r2, \trapno + 1
+	li	r2, \trapno
 	stw	r12, 8(r11)
 	stw	r2,_TRAP(r11)
 	SAVE_GPR(0, r11)
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index f744eb5cba88..96b2157f0371 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -9,9 +9,7 @@
 #
 0	nospu	restart_syscall			sys_restart_syscall
 1	nospu	exit				sys_exit
-2	32	fork				ppc_fork			sys_fork
-2	64	fork				sys_fork
-2	spu	fork				sys_ni_syscall
+2	nospu	fork				sys_fork
 3	common	read				sys_read
 4	common	write				sys_write
 5	common	open				sys_open			compat_sys_open
@@ -160,9 +158,7 @@
 119	32	sigreturn			sys_sigreturn			compat_sys_sigreturn
 119	64	sigreturn			sys_ni_syscall
 119	spu	sigreturn			sys_ni_syscall
-120	32	clone				ppc_clone			sys_clone
-120	64	clone				sys_clone
-120	spu	clone				sys_ni_syscall
+120	nospu	clone				sys_clone
 121	common	setdomainname			sys_setdomainname
 122	common	uname				sys_newuname
 123	common	modify_ldt			sys_ni_syscall
@@ -244,9 +240,7 @@
 186	spu	sendfile			sys_sendfile64
 187	common	getpmsg				sys_ni_syscall
 188	common 	putpmsg				sys_ni_syscall
-189	32	vfork				ppc_vfork			sys_vfork
-189	64	vfork				sys_vfork
-189	spu	vfork				sys_ni_syscall
+189	nospu	vfork				sys_vfork
 190	common	ugetrlimit			sys_getrlimit			compat_sys_getrlimit
 191	common	readahead			sys_readahead			compat_sys_readahead
 192	32	mmap2				sys_mmap2			compat_sys_mmap2
@@ -322,9 +316,7 @@
 248	32	clock_nanosleep			sys_clock_nanosleep_time32
 248	64	clock_nanosleep			sys_clock_nanosleep
 248	spu	clock_nanosleep			sys_clock_nanosleep
-249	32	swapcontext			ppc_swapcontext			compat_sys_swapcontext
-249	64	swapcontext			sys_swapcontext
-249	spu	swapcontext			sys_ni_syscall
+249	nospu	swapcontext			sys_swapcontext			compat_sys_swapcontext
 250	common	tgkill				sys_tgkill
 251	32	utimes				sys_utimes_time32
 251	64	utimes				sys_utimes
@@ -522,9 +514,7 @@
 432	common	fsmount				sys_fsmount
 433	common	fspick				sys_fspick
 434	common	pidfd_open			sys_pidfd_open
-435	32	clone3				ppc_clone3			sys_clone3
-435	64	clone3				sys_clone3
-435	spu	clone3				sys_ni_syscall
+435	nospu	clone3				sys_clone3
 436	common	close_range			sys_close_range
 437	common	openat2				sys_openat2
 438	common	pidfd_getfd			sys_pidfd_getfd
-- 
2.25.0


  parent reply	other threads:[~2021-02-08 16:27 UTC|newest]

Thread overview: 118+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-08 15:10 [PATCH v5 00/22] powerpc/32: Implement C syscall entry/exit Christophe Leroy
2021-02-08 15:10 ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 01/22] powerpc/32s: Add missing call to kuep_lock on syscall entry Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 02/22] powerpc/32: Always enable data translation " Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 03/22] powerpc/32: On syscall entry, enable instruction translation at the same time as data Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 04/22] powerpc/32: Reorder instructions to avoid using CTR in syscall entry Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 05/22] powerpc/irq: Add helper to set regs->softe Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:11   ` Nicholas Piggin
2021-02-09  1:11     ` Nicholas Piggin
2021-02-09  5:57     ` Christophe Leroy
2021-02-09  5:57       ` Christophe Leroy
2021-02-09  7:47       ` Nicholas Piggin
2021-02-09  7:47         ` Nicholas Piggin
2021-02-09  6:18     ` Christophe Leroy
2021-02-09  6:18       ` Christophe Leroy
2021-02-09  7:49       ` Nicholas Piggin
2021-02-09  7:49         ` Nicholas Piggin
2021-03-05  8:54         ` Christophe Leroy
2021-03-05  8:54           ` Christophe Leroy
2021-03-08  8:47           ` Nicholas Piggin
2021-03-08  8:47             ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 06/22] powerpc/irq: Rework helpers that manipulate MSR[EE/RI] Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:14   ` Nicholas Piggin
2021-02-09  1:14     ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 07/22] powerpc/irq: Add stub irq_soft_mask_return() for PPC32 Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:19   ` Nicholas Piggin
2021-02-09  1:19     ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 08/22] powerpc/syscall: Rename syscall_64.c into interrupt.c Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:19   ` Nicholas Piggin
2021-02-09  1:19     ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 09/22] powerpc/syscall: Make interrupt.c buildable on PPC32 Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:27   ` Nicholas Piggin
2021-02-09  1:27     ` Nicholas Piggin
2021-02-09  6:02     ` Christophe Leroy
2021-02-09  6:02       ` Christophe Leroy
2021-02-09  7:50       ` Nicholas Piggin
2021-02-09  7:50         ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 10/22] powerpc/syscall: Use is_compat_task() Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:29   ` Nicholas Piggin
2021-02-09  1:29     ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 11/22] powerpc/syscall: Save r3 in regs->orig_r3 Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:29   ` Nicholas Piggin
2021-02-09  1:29     ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 12/22] powerpc/syscall: Change condition to check MSR_RI Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:36   ` Nicholas Piggin
2021-02-09  1:36     ` Nicholas Piggin
2021-02-08 15:10 ` Christophe Leroy [this message]
2021-02-08 15:10   ` [PATCH v5 13/22] powerpc/32: Always save non volatile GPRs at syscall entry Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 14/22] powerpc/syscall: implement system call entry/exit logic in C for PPC32 Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 15/22] powerpc/32: Remove verification of MSR_PR on syscall in the ASM entry Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 16/22] powerpc/syscall: Avoid stack frame in likely part of system_call_exception() Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:55   ` Nicholas Piggin
2021-02-09  1:55     ` Nicholas Piggin
2021-02-09 16:13     ` Christophe Leroy
2021-02-09 16:13       ` Christophe Leroy
2021-02-10  1:56       ` Nicholas Piggin
2021-02-10  1:56         ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 17/22] powerpc/syscall: Do not check unsupported scv vector on PPC32 Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  2:00   ` Nicholas Piggin
2021-02-09  2:00     ` Nicholas Piggin
2021-02-09  6:13     ` Christophe Leroy
2021-02-09  6:13       ` Christophe Leroy
2021-02-09  7:56       ` Nicholas Piggin
2021-02-09  7:56         ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 18/22] powerpc/syscall: Remove FULL_REGS verification in system_call_exception Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  2:02   ` Nicholas Piggin
2021-02-09  2:02     ` Nicholas Piggin
2021-02-09 14:31     ` Christophe Leroy
2021-02-09 14:31       ` Christophe Leroy
2021-02-10  1:57       ` Nicholas Piggin
2021-02-10  1:57         ` Nicholas Piggin
2021-02-08 15:10 ` [PATCH v5 19/22] powerpc/syscall: Optimise checks in beginning of system_call_exception() Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  2:06   ` Nicholas Piggin
2021-02-09  2:06     ` Nicholas Piggin
2021-02-09 14:32     ` Christophe Leroy
2021-02-09 14:32       ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 20/22] powerpc/syscall: Avoid storing 'current' in another pointer Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  2:36   ` Nicholas Piggin
2021-02-09  2:36     ` Nicholas Piggin
2021-02-09 13:50     ` Segher Boessenkool
2021-02-09 13:50       ` Segher Boessenkool
2021-02-09 14:31       ` David Laight
2021-02-09 14:31         ` David Laight
2021-02-09 17:03         ` Christophe Leroy
2021-02-09 17:03           ` Christophe Leroy
2021-02-09 17:16           ` David Laight
2021-02-09 17:16             ` David Laight
2021-02-10  2:00           ` Nicholas Piggin
2021-02-10  2:00             ` Nicholas Piggin
2021-02-10  8:45             ` Christophe Leroy
2021-02-10  8:45               ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 21/22] powerpc/32: Remove the counter in global_dbcr0 Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-08 15:10 ` [PATCH v5 22/22] powerpc/32: Handle bookE debugging in C in syscall entry/exit Christophe Leroy
2021-02-08 15:10   ` Christophe Leroy
2021-02-09  1:03 ` [PATCH v5 00/22] powerpc/32: Implement C " Nicholas Piggin
2021-02-09  1:03   ` Nicholas Piggin
2021-02-12  0:19 ` Michael Ellerman
2021-02-12  0:19   ` Michael Ellerman

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=21c08162b83655195fe9ead78ff2cfd28508d023.1612796617.git.christophe.leroy@csgroup.eu \
    --to=christophe.leroy@csgroup.eu \
    --cc=benh@kernel.crashing.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mpe@ellerman.id.au \
    --cc=msuchanek@suse.de \
    --cc=npiggin@gmail.com \
    --cc=paulus@samba.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.