Linux 2.6.25.20
[linux/fpc-iii.git] / include / asm-mips / mach-mips / kernel-entry-init.h
blob0b793e7bf67e4d77a960a419c32b73200f0d1506
1 /*
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
4 * for more details.
6 * Chris Dearman (chris@mips.com)
7 * Copyright (C) 2007 Mips Technologies, Inc.
8 */
9 #ifndef __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H
10 #define __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H
12 .macro kernel_entry_setup
13 #ifdef CONFIG_MIPS_MT_SMTC
14 mfc0 t0, CP0_CONFIG
15 bgez t0, 9f
16 mfc0 t0, CP0_CONFIG, 1
17 bgez t0, 9f
18 mfc0 t0, CP0_CONFIG, 2
19 bgez t0, 9f
20 mfc0 t0, CP0_CONFIG, 3
21 and t0, 1<<2
22 bnez t0, 0f
24 /* Assume we came from YAMON... */
25 PTR_LA v0, 0x9fc00534 /* YAMON print */
26 lw v0, (v0)
27 move a0, zero
28 PTR_LA a1, nonmt_processor
29 jal v0
31 PTR_LA v0, 0x9fc00520 /* YAMON exit */
32 lw v0, (v0)
33 li a0, 1
34 jal v0
36 1: b 1b
38 __INITDATA
39 nonmt_processor:
40 .asciz "SMTC kernel requires the MT ASE to run\n"
41 __FINIT
43 #endif
44 .endm
47 * Do SMP slave processor setup necessary before we can safely execute C code.
49 .macro smp_slave_setup
50 .endm
52 #endif /* __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H */