2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
6 * Copyright (C) 2013 Cavium, Inc
8 #ifndef __ASM_MACH_PARAVIRT_KERNEL_ENTRY_H
9 #define __ASM_MACH_PARAVIRT_KERNEL_ENTRY_H
11 #define CP0_EBASE $15, 1
13 .macro kernel_entry_setup
16 andi t0
, t0
, 0x3ff # CPUNum
18 # CPUs other than zero goto smp_bootstrap
20 #endif /* CONFIG_SMP */
26 * Do SMP slave processor setup necessary before we can safely execute
29 .macro smp_slave_setup
31 andi t0
, t0
, 0x3ff # CPUNum
37 b
2b
# Unknown CPU, loop forever.
39 PTR_LA t1
, paravirt_smp_sp
40 PTR_SLL t0
, PTR_SCALESHIFT
44 beqz sp
, 3b
# Spin until told to proceed.
46 PTR_LA t1
, paravirt_smp_gp
52 #endif /* __ASM_MACH_PARAVIRT_KERNEL_ENTRY_H */