diff options
Diffstat (limited to 'arch/mn10300/kernel/smp-low.S')
-rw-r--r-- | arch/mn10300/kernel/smp-low.S | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/arch/mn10300/kernel/smp-low.S b/arch/mn10300/kernel/smp-low.S deleted file mode 100644 index 71f1b2faaa0b..000000000000 --- a/arch/mn10300/kernel/smp-low.S +++ /dev/null @@ -1,97 +0,0 @@ -/* SMP IPI low-level handler - * - * Copyright (C) 2006-2007 Matsushita Electric Industrial Co., Ltd. - * All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - * - */ - -#include <linux/sys.h> -#include <linux/linkage.h> -#include <asm/smp.h> -#include <asm/thread_info.h> -#include <asm/cpu-regs.h> -#include <asm/intctl-regs.h> -#include <proc/smp-regs.h> -#include <asm/asm-offsets.h> -#include <asm/frame.inc> - - .am33_2 - -############################################################################### -# -# IPI interrupt handler -# -############################################################################### - .globl mn10300_low_ipi_handler -mn10300_low_ipi_handler: - add -4,sp - mov d0,(sp) - movhu (IAGR),d0 - and IAGR_GN,d0 - lsr 0x2,d0 -#ifdef CONFIG_MN10300_CACHE_ENABLED - cmp FLUSH_CACHE_IPI,d0 - beq mn10300_flush_cache_ipi -#endif - cmp SMP_BOOT_IRQ,d0 - beq mn10300_smp_boot_ipi - /* OTHERS */ - mov (sp),d0 - add 4,sp -#ifdef CONFIG_GDBSTUB - jmp gdbstub_io_rx_handler -#else - jmp end -#endif - -############################################################################### -# -# Cache flush IPI interrupt handler -# -############################################################################### -#ifdef CONFIG_MN10300_CACHE_ENABLED -mn10300_flush_cache_ipi: - mov (sp),d0 - add 4,sp - - /* FLUSH_CACHE_IPI */ - add -4,sp - SAVE_ALL - mov GxICR_DETECT,d2 - movbu d2,(GxICR(FLUSH_CACHE_IPI)) # ACK the interrupt - movhu (GxICR(FLUSH_CACHE_IPI)),d2 - call smp_cache_interrupt[],0 - RESTORE_ALL - jmp end -#endif - -############################################################################### -# -# SMP boot CPU IPI interrupt handler -# -############################################################################### -mn10300_smp_boot_ipi: - /* clear interrupt */ - movhu (GxICR(SMP_BOOT_IRQ)),d0 - and ~GxICR_REQUEST,d0 - movhu d0,(GxICR(SMP_BOOT_IRQ)) - mov (sp),d0 - add 4,sp - - # get stack - mov (CPUID),a0 - add -1,a0 - add a0,a0 - add a0,a0 - mov (start_stack,a0),a0 - mov a0,sp - jmp initialize_secondary - - -# Jump here after RTI to suppress the icache lookahead -end: |