From mboxrd@z Thu Jan 1 00:00:00 1970 Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 22 Jun 2017 17:11:05 +0200 (CEST) Received: from smtpbg292.qq.com ([113.108.11.231]:40872 "EHLO smtpbg292.qq.com" rhost-flags-OK-OK-OK-OK) by eddie.linux-mips.org with ESMTP id S23991172AbdFVPK6e71OI (ORCPT ); Thu, 22 Jun 2017 17:10:58 +0200 X-QQ-mid: bizesmtp7t1498144196tem0bk7ng Received: from software.domain.org (unknown [222.92.8.142]) by esmtp4.qq.com (ESMTP) with id ; Thu, 22 Jun 2017 23:08:36 +0800 (CST) X-QQ-SSF: 01100000002000F0FLF2000A0000000 X-QQ-FEAT: 3pSr3xMMI+/oWGE981OedVFlv1psUfMsqvOwxdGP8pChrrC4quDpMsP9HFFs7 /B6KG8+hy4SUjyq4FxbWkwYn6MXDDURX781nTM4DUMxKKmqm7WlZIymNm64jyhYE/P6Mm4m aSvXlqwcnfn7wIOKEodAbiPTBCnghCrKdhvwNZEMAdPb+ndjhsvUHpKUkmjZ1vt4pcj31eM wwvL7REOlv0djphVLuSV7l9l96d/6UXx8ss7pm3sr5iPKL6hhWsA9dpT9Baush8g+eCQ+wl x5XddKmXQfMwh/zw+5/CB4YcoSB/C6X0G4iA== X-QQ-GoodBg: 0 From: Huacai Chen To: Ralf Baechle Cc: John Crispin , "Steven J . Hill" , linux-mips@linux-mips.org, Fuxin Zhang , Zhangjin Wu , Huacai Chen Subject: [PATCH V7 3/9] MIPS: Loongson: Add NMI handler support Date: Thu, 22 Jun 2017 23:06:50 +0800 Message-Id: <1498144016-9111-4-git-send-email-chenhc@lemote.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1498144016-9111-1-git-send-email-chenhc@lemote.com> References: <1498144016-9111-1-git-send-email-chenhc@lemote.com> X-QQ-SENDSIZE: 520 X-QQ-Bgrelay: 1 Return-Path: X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0) X-Orcpt: rfc822;linux-mips@linux-mips.org Original-Recipient: rfc822;linux-mips@linux-mips.org X-archive-position: 58748 X-ecartis-version: Ecartis v1.0.0 Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org X-original-sender: chenhc@lemote.com Precedence: bulk List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: linux-mips X-List-ID: linux-mips List-subscribe: List-owner: List-post: List-archive: X-list: linux-mips Signed-off-by: Huacai Chen --- arch/mips/loongson64/common/init.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/mips/loongson64/common/init.c b/arch/mips/loongson64/common/init.c index 9b987fe..6ef1712 100644 --- a/arch/mips/loongson64/common/init.c +++ b/arch/mips/loongson64/common/init.c @@ -10,13 +10,25 @@ #include #include +#include #include +#include #include /* Loongson CPU address windows config space base address */ unsigned long __maybe_unused _loongson_addrwincfg_base; +static void __init mips_nmi_setup(void) +{ + void *base; + extern char except_vec_nmi; + + base = (void *)(CAC_BASE + 0x380); + memcpy(base, &except_vec_nmi, 0x80); + flush_icache_range((unsigned long)base, (unsigned long)base + 0x80); +} + void __init prom_init(void) { #ifdef CONFIG_CPU_SUPPORTS_ADDRWINCFG @@ -40,6 +52,7 @@ void __init prom_init(void) /*init the uart base address */ prom_init_uart_base(); register_smp_ops(&loongson3_smp_ops); + board_nmi_handler_setup = mips_nmi_setup; } void __init prom_free_prom_memory(void) -- 2.7.0