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. 5 * 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 11 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 23 9: 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 30 31 PTR_LA v0, 0x9fc00520 /* YAMON exit */ 32 lw v0, (v0) 33 li a0, 1 34 jal v0 35 36 1: b 1b 37 38 __INITDATA 39 nonmt_processor: 40 .asciz "SMTC kernel requires the MT ASE to run\n" 41 __FINIT 42 0: 43 #endif 44 .endm 45 46 /* 47 * Do SMP slave processor setup necessary before we can safely execute C code. 48 */ 49 .macro smp_slave_setup 50 .endm 51 52 #endif /* __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H */ 53