diff mbox series

powerpc/pseries: move hcall_tracepoint_refcount out of .toc

Message ID 20220926053823.2668799-1-npiggin@gmail.com (mailing list archive)
State Accepted
Headers show
Series powerpc/pseries: move hcall_tracepoint_refcount out of .toc | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 6 jobs.
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.

Commit Message

Nicholas Piggin Sept. 26, 2022, 5:38 a.m. UTC
The .toc section is not really intended for arbitrary data. Writable
data in particular prevents making the TOC read-only after relocation.
Move hcall_tracepoint_refcount into the .data section.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
This is split out from "[v2,2/5] powerpc/64: asm use consistent global
variable declaration and access" because another series to make TOC
read-only depends on it. This patch decouples the two series.

Thanks,
Nick

 arch/powerpc/platforms/pseries/hvCall.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Michael Ellerman Oct. 4, 2022, 1:25 p.m. UTC | #1
On Mon, 26 Sep 2022 15:38:23 +1000, Nicholas Piggin wrote:
> The .toc section is not really intended for arbitrary data. Writable
> data in particular prevents making the TOC read-only after relocation.
> Move hcall_tracepoint_refcount into the .data section.
> 
> 

Applied to powerpc/next.

[1/1] powerpc/pseries: move hcall_tracepoint_refcount out of .toc
      https://git.kernel.org/powerpc/c/9a10ccb29c0a2befa5a9f691ed0ae37ee3e799a8

cheers
diff mbox series

Patch

diff --git a/arch/powerpc/platforms/pseries/hvCall.S b/arch/powerpc/platforms/pseries/hvCall.S
index ab9fc6506861..762eb15d3bd4 100644
--- a/arch/powerpc/platforms/pseries/hvCall.S
+++ b/arch/powerpc/platforms/pseries/hvCall.S
@@ -16,7 +16,7 @@ 
 #ifdef CONFIG_TRACEPOINTS
 
 #ifndef CONFIG_JUMP_LABEL
-	.section	".toc","aw"
+	.data
 
 	.globl hcall_tracepoint_refcount
 hcall_tracepoint_refcount:
@@ -88,7 +88,7 @@  hcall_tracepoint_refcount:
 BEGIN_FTR_SECTION;						\
 	b	1f;						\
 END_FTR_SECTION(0, 1);						\
-	ld	r12,hcall_tracepoint_refcount@toc(r2);		\
+	LOAD_REG_ADDR(r12, hcall_tracepoint_refcount) ;		\
 	std	r12,32(r1);					\
 	cmpdi	r12,0;						\
 	bne-	LABEL;						\