18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright 2011 Freescale Semiconductor, Inc. 48c2ecf20Sopenharmony_ci * Copyright 2011 Linaro Ltd. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <linux/linkage.h> 88c2ecf20Sopenharmony_ci#include <linux/init.h> 98c2ecf20Sopenharmony_ci#include <asm/assembler.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cidiag_reg_offset: 128c2ecf20Sopenharmony_ci .word g_diag_reg - . 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci .macro set_diag_reg 158c2ecf20Sopenharmony_ci adr r0, diag_reg_offset 168c2ecf20Sopenharmony_ci ldr r1, [r0] 178c2ecf20Sopenharmony_ci add r1, r1, r0 @ r1 = physical &g_diag_reg 188c2ecf20Sopenharmony_ci ldr r0, [r1] 198c2ecf20Sopenharmony_ci mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register 208c2ecf20Sopenharmony_ci .endm 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciENTRY(v7_secondary_startup) 238c2ecf20Sopenharmony_ciARM_BE8(setend be) @ go BE8 if entered LE 248c2ecf20Sopenharmony_ci set_diag_reg 258c2ecf20Sopenharmony_ci b secondary_startup 268c2ecf20Sopenharmony_ciENDPROC(v7_secondary_startup) 27