Commit 669474e7 authored by Will Deacon's avatar Will Deacon Committed by Catalin Marinas
Browse files

arm64: barrier: Add CSDB macros to control data-value prediction



For CPUs capable of data value prediction, CSDB waits for any outstanding
predictions to architecturally resolve before allowing speculative execution
to continue. Provide macros to expose it to the arch code.

Reviewed-by: default avatarMark Rutland <mark.rutland@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 439e70e2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -115,6 +115,13 @@
	hint    #16
	.endm

/*
 * Value prediction barrier
 */
	.macro	csdb
	hint	#20
	.endm

/*
 * NOP sequence
 */
+1 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@
#define dsb(opt)	asm volatile("dsb " #opt : : : "memory")

#define psb_csync()	asm volatile("hint #17" : : : "memory")
#define csdb()		asm volatile("hint #20" : : : "memory")

#define mb()		dsb(sy)
#define rmb()		dsb(ld)