1fcaf2036SThomas Gleixner/* SPDX-License-Identifier: GPL-2.0-or-later */ 21fc593feSArnd Bergmann/* 31fc593feSArnd Bergmann * Copyright 2011 Freescale Semiconductor, Inc. 41fc593feSArnd Bergmann * Copyright 2011 Linaro Ltd. 51fc593feSArnd Bergmann */ 61fc593feSArnd Bergmann 71fc593feSArnd Bergmann#include <linux/linkage.h> 81fc593feSArnd Bergmann#include <linux/init.h> 926e30c64SJohannes Berg#include <asm/assembler.h> 101fc593feSArnd Bergmann 11087bb283SShawn Guodiag_reg_offset: 12087bb283SShawn Guo .word g_diag_reg - . 13087bb283SShawn Guo 14087bb283SShawn Guo .macro set_diag_reg 15087bb283SShawn Guo adr r0, diag_reg_offset 16087bb283SShawn Guo ldr r1, [r0] 17087bb283SShawn Guo add r1, r1, r0 @ r1 = physical &g_diag_reg 18087bb283SShawn Guo ldr r0, [r1] 19087bb283SShawn Guo mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register 20087bb283SShawn Guo .endm 21087bb283SShawn Guo 221fc593feSArnd BergmannENTRY(v7_secondary_startup) 2326e30c64SJohannes BergARM_BE8(setend be) @ go BE8 if entered LE 24087bb283SShawn Guo set_diag_reg 251fc593feSArnd Bergmann b secondary_startup 261fc593feSArnd BergmannENDPROC(v7_secondary_startup) 27