/* SPDX-License-Identifier: GPL-2.0-or-later */1/*2* Copyright 2011 Freescale Semiconductor, Inc.3* Copyright 2011 Linaro Ltd.4*/56#include <linux/linkage.h>7#include <linux/init.h>8#include <asm/assembler.h>910.arch armv7-a1112diag_reg_offset:13.word g_diag_reg - .1415.macro set_diag_reg16adr r0, diag_reg_offset17ldr r1, [r0]18add r1, r1, r0 @ r1 = physical &g_diag_reg19ldr r0, [r1]20mcr p15, 0, r0, c15, c0, 1 @ write diagnostic register21.endm2223ENTRY(v7_secondary_startup)24ARM_BE8(setend be) @ go BE8 if entered LE25mrc p15, 0, r0, c0, c0, 026lsl r0, r0, #1627lsr r0, r0, #2028/* 0xc07 is cortex A7's ID */29mov r1, #0xc0030orr r1, #0x731cmp r0, r132beq secondary_startup3334set_diag_reg35b secondary_startup36ENDPROC(v7_secondary_startup)373839