Re: [PATCH V2 2/7] MIPS: Loongson: Add NMI handler support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Maybe your Loongson-3A1000 has some hw problems.:)

Huacai

On Tue, Mar 7, 2017 at 9:38 PM, YunQiang Su <wzssyqa@xxxxxxxxx> wrote:
> With this patch, I met a problem on Loongson 3A 1000:
>
> kernel: [1692。089996] NMI watchdog: BUG: soft lockup - CPU#0 stuck for
> 22s! [apt-get: 9687]
>
> I will try to recomplie the kernel without this patch.
>
> It seems that it works well on Loongson 3A 3000.
>
> On Mon, Nov 14, 2016 at 11:12 AM, Huacai Chen <chenhc@xxxxxxxxxx> wrote:
>> Signed-off-by: Huacai Chen <chenhc@xxxxxxxxxx>
>> ---
>>  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 <linux/bootmem.h>
>>  #include <asm/bootinfo.h>
>> +#include <asm/traps.h>
>>  #include <asm/smp-ops.h>
>> +#include <asm/cacheflush.h>
>>
>>  #include <loongson.h>
>>
>>  /* 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
>>
>>
>>
>>
>
>
>
> --
> YunQiang Su
>




[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux