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

Merge branch 'for-next/crypto' into for-next/core

Introduce a new macro to allow yielding the vector unit if preemption
is required. The initial users of this are being merged via the crypto
tree for 5.12.

* for-next/crypto:
  arm64: assembler: add cond_yield macro
parents 88ddf0df d13c613f
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -762,6 +762,22 @@ USER(\label, ic ivau, \tmp2) // invalidate I line PoU
.Lyield_out_\@ :
	.endm

	/*
	 * Check whether preempt-disabled code should yield as soon as it
	 * is able. This is the case if re-enabling preemption a single
	 * time results in a preempt count of zero, and the TIF_NEED_RESCHED
	 * flag is set. (Note that the latter is stored negated in the
	 * top word of the thread_info::preempt_count field)
	 */
	.macro		cond_yield, lbl:req, tmp:req
#ifdef CONFIG_PREEMPTION
	get_current_task \tmp
	ldr		\tmp, [\tmp, #TSK_TI_PREEMPT]
	sub		\tmp, \tmp, #PREEMPT_DISABLE_OFFSET
	cbz		\tmp, \lbl
#endif
	.endm

/*
 * This macro emits a program property note section identifying
 * architecture features which require special handling, mainly for