11fc593feSArnd Bergmann/* 21fc593feSArnd Bergmann * Copyright 2011 Freescale Semiconductor, Inc. 31fc593feSArnd Bergmann * Copyright 2011 Linaro Ltd. 41fc593feSArnd Bergmann * 51fc593feSArnd Bergmann * The code contained herein is licensed under the GNU General Public 61fc593feSArnd Bergmann * License. You may obtain a copy of the GNU General Public License 71fc593feSArnd Bergmann * Version 2 or later at the following locations: 81fc593feSArnd Bergmann * 91fc593feSArnd Bergmann * http://www.opensource.org/licenses/gpl-license.html 101fc593feSArnd Bergmann * http://www.gnu.org/copyleft/gpl.html 111fc593feSArnd Bergmann */ 121fc593feSArnd Bergmann 131fc593feSArnd Bergmann#include <linux/linkage.h> 141fc593feSArnd Bergmann#include <linux/init.h> 1526e30c64SJohannes Berg#include <asm/assembler.h> 161fc593feSArnd Bergmann 17087bb283SShawn Guodiag_reg_offset: 18087bb283SShawn Guo .word g_diag_reg - . 19087bb283SShawn Guo 20087bb283SShawn Guo .macro set_diag_reg 21087bb283SShawn Guo adr r0, diag_reg_offset 22087bb283SShawn Guo ldr r1, [r0] 23087bb283SShawn Guo add r1, r1, r0 @ r1 = physical &g_diag_reg 24087bb283SShawn Guo ldr r0, [r1] 25087bb283SShawn Guo mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register 26087bb283SShawn Guo .endm 27087bb283SShawn Guo 281fc593feSArnd BergmannENTRY(v7_secondary_startup) 2926e30c64SJohannes BergARM_BE8(setend be) @ go BE8 if entered LE 30087bb283SShawn Guo set_diag_reg 311fc593feSArnd Bergmann b secondary_startup 321fc593feSArnd BergmannENDPROC(v7_secondary_startup) 33