Commit aa246c05 authored by Will Deacon's avatar Will Deacon
Browse files

Merge branch 'for-next/asm-annotations' into for-next/core

* for-next/asm-annotations: (6 commits)
  arm64: kernel: Correct annotation of end of el0_sync
  ...
parents 4f6cdf29 73d6890f
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -448,17 +448,6 @@ USER(\label, ic ivau, \tmp2) // invalidate I line PoU
	b.ne	9998b
	.endm

/*
 * Annotate a function as position independent, i.e., safe to be called before
 * the kernel virtual mapping is activated.
 */
#define ENDPIPROC(x)			\
	.globl	__pi_##x;		\
	.type 	__pi_##x, %function;	\
	.set	__pi_##x, x;		\
	.size	__pi_##x, . - x;	\
	ENDPROC(x)

/*
 * Annotate a function as being unsuitable for kprobes.
 */
+16 −0
Original line number Diff line number Diff line
@@ -4,4 +4,20 @@
#define __ALIGN		.align 2
#define __ALIGN_STR	".align 2"

/*
 * Annotate a function as position independent, i.e., safe to be called before
 * the kernel virtual mapping is activated.
 */
#define SYM_FUNC_START_PI(x)			\
		SYM_FUNC_START_ALIAS(__pi_##x);	\
		SYM_FUNC_START(x)

#define SYM_FUNC_START_WEAK_PI(x)		\
		SYM_FUNC_START_ALIAS(__pi_##x);	\
		SYM_FUNC_START_WEAK(x)

#define SYM_FUNC_END_PI(x)			\
		SYM_FUNC_END(x);		\
		SYM_FUNC_END_ALIAS(__pi_##x)

#endif
+4 −1
Original line number Diff line number Diff line
@@ -650,6 +650,7 @@ el0_sync:
	mov	x0, sp
	bl	el0_sync_handler
	b	ret_to_user
ENDPROC(el0_sync)

#ifdef CONFIG_COMPAT
	.align	6
@@ -658,16 +659,18 @@ el0_sync_compat:
	mov	x0, sp
	bl	el0_sync_compat_handler
	b	ret_to_user
ENDPROC(el0_sync)
ENDPROC(el0_sync_compat)

	.align	6
el0_irq_compat:
	kernel_entry 0, 32
	b	el0_irq_naked
ENDPROC(el0_irq_compat)

el0_error_compat:
	kernel_entry 0, 32
	b	el0_error_naked
ENDPROC(el0_error_compat)
#endif

	.align	6
+2 −2
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * Parameters:
 *	x0 - dest
 */
ENTRY(clear_page)
SYM_FUNC_START(clear_page)
	mrs	x1, dczid_el0
	and	w1, w1, #0xf
	mov	x2, #4
@@ -25,5 +25,5 @@ ENTRY(clear_page)
	tst	x0, #(PAGE_SIZE - 1)
	b.ne	1b
	ret
ENDPROC(clear_page)
SYM_FUNC_END(clear_page)
EXPORT_SYMBOL(clear_page)
+2 −2
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
 *
 * Alignment fixed up by hardware.
 */
ENTRY(__arch_clear_user)
SYM_FUNC_START(__arch_clear_user)
	mov	x2, x1			// save the size for fixup return
	subs	x1, x1, #8
	b.mi	2f
@@ -40,7 +40,7 @@ uao_user_alternative 9f, strh, sttrh, wzr, x0, 2
uao_user_alternative 9f, strb, sttrb, wzr, x0, 0
5:	mov	x0, #0
	ret
ENDPROC(__arch_clear_user)
SYM_FUNC_END(__arch_clear_user)
EXPORT_SYMBOL(__arch_clear_user)

	.section .fixup,"ax"
Loading