| /* |
| * This file is subject to the terms and conditions of the GNU General Public |
| * License. See the file "COPYING" in the main directory of this archive |
| * for more details. |
| * |
| * Chris Dearman (chris@mips.com) |
| * Copyright (C) 2007 Mips Technologies, Inc. |
| */ |
| #ifndef __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H |
| #define __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H |
| |
| .macro kernel_entry_setup |
| #ifdef CONFIG_MIPS_MT_SMTC |
| mfc0 t0, CP0_CONFIG |
| bgez t0, 9f |
| mfc0 t0, CP0_CONFIG, 1 |
| bgez t0, 9f |
| mfc0 t0, CP0_CONFIG, 2 |
| bgez t0, 9f |
| mfc0 t0, CP0_CONFIG, 3 |
| and t0, 1<<2 |
| bnez t0, 0f |
| 9: |
| /* Assume we came from YAMON... */ |
| PTR_LA v0, 0x9fc00534 /* YAMON print */ |
| lw v0, (v0) |
| move a0, zero |
| PTR_LA a1, nonmt_processor |
| jal v0 |
| |
| PTR_LA v0, 0x9fc00520 /* YAMON exit */ |
| lw v0, (v0) |
| li a0, 1 |
| jal v0 |
| |
| 1: b 1b |
| |
| __INITDATA |
| nonmt_processor: |
| .asciz "SMTC kernel requires the MT ASE to run\n" |
| __FINIT |
| 0: |
| #endif |
| .endm |
| |
| /* |
| * Do SMP slave processor setup necessary before we can safely execute C code. |
| */ |
| .macro smp_slave_setup |
| .endm |
| |
| #endif /* __ASM_MACH_MIPS_KERNEL_ENTRY_INIT_H */ |