/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * Copyright 2011 Freescale Semiconductor, Inc. * Copyright 2011 Linaro Ltd. */ #include <linux/linkage.h> #include <linux/init.h> #include <asm/assembler.h> diag_reg_offset: <------>.word g_diag_reg - . <------>.macro set_diag_reg <------>adr r0, diag_reg_offset <------>ldr r1, [r0] <------>add r1, r1, r0 @ r1 = physical &g_diag_reg <------>ldr r0, [r1] <------>mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register <------>.endm ENTRY(v7_secondary_startup) ARM_BE8(setend be) @ go BE8 if entered LE <------>set_diag_reg <------>b secondary_startup ENDPROC(v7_secondary_startup)