[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 8/8] q800: add NMI handler
From: |
Laurent Vivier |
Subject: |
Re: [PATCH 8/8] q800: add NMI handler |
Date: |
Sun, 17 Oct 2021 18:56:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Le 17/10/2021 à 12:00, Mark Cave-Ayland a écrit :
...
> I've just tried this on Linux, and it seems to work okay although I get
> several copies of the
> register dump on the console for a single invocation of "info nmi" e.g.
>
> [ 4.610000] Non-Maskable Interrupt
> [ 4.610000] Modules linked in: mac_esp(+) esp_scsi macsonic
> [ 4.610000] PC: [<00002dc0>] arch_cpu_idle+0x4/0x6
> [ 4.610000] SR: 2000 SP: (ptrval) a2: 00395314
> [ 4.610000] d0: 00000000 d1: 00000002 d2: 0004b492 d3: 00392000
> [ 4.610000] d4: 00000000 d5: 00000000 a0: 00392000 a1: 00395314
> [ 4.610000] Process swapper (pid: 0, task=(ptrval))
> [ 4.610000] Frame format=0
> [ 4.610000] Stack from 00393f9c:
> [ 4.610000] 0004b540 00000431 0040ee22 0004b4c4 0002bf6a 004005f0
> 00393ff8 0004b714
> [ 4.610000] 0003e23a 0029c518 000000c2 0040eb54 3dc1e5d0 00000000
> 0004ff74 0003efe2
> [ 4.610000] 003f4e92 00000000 00000040 00000000 00000000 00000000
> 0040ee22 00000000
> [ 4.610000] 003f3872
> [ 4.610000] Call Trace: [<0004b540>] do_idle+0x7c/0xd2
> [ 4.610000] [<0004b4c4>] do_idle+0x0/0xd2
> [ 4.610000] [<0002bf6a>] kernel_thread+0x0/0x26
> [ 4.610000] [<004005f0>] __alloc_bootmem+0x0/0x38
> [ 4.610000] [<0004b714>] cpu_startup_entry+0xe/0x12
> [ 4.610000] [<0003e23a>] find_task_by_pid_ns+0x0/0x22
> [ 4.610000] [<0029c518>] rest_init+0x78/0x82
> [ 4.610000] [<0004ff74>] printk+0x0/0x18
> [ 4.610000] [<0003efe2>] parse_args+0x0/0x2c2
> [ 4.610000] [<003f4e92>] start_kernel+0x43e/0x448
> [ 4.610000] [<003f3872>] _sinittext+0x872/0x11f8
> [ 4.610000] Code: bc00 0060 f210 f0ff 7001 60cc 4e72 2000 <4e75> 2079 003b
> fc6c 4a88 6702 4e90
> 60fe 2079 003b fc68 4a88 6702 4e90 60fe 2f0c
>
> (repeated 7 or 8 times)
>
> MacsBug seems to handle this better: as soon as the NMI is triggered, MacsBug
> opens and displays
> "NMI" both if the programmer switch GPIO is held active, or pulsed as
> implemented in the patch. When
> using the above patch, subsequent NMI triggers do not display "NMI" or change
> MacsBug in any visible
> way which suggests that once the NMI is triggered, the NMI is ignored until
> the programmers switch
> GPIO is inactive once again.
>
> Do you see the repeated register output in Linux for a single press of the
> programmers switch on a
> real Quadra 800? It may be that Linux could be improved by having similar
> logic.
In fact, register output is repeated while I keep the button pressed (5.14
kernel provided by Finn)
If I press and release one (or several) time(s) before the end of the first
output I have only one
output.
Thanks,
Laurent
- Re: [PATCH 4/8] mac_via: add GPIO for A/UX mode, (continued)
[PATCH 7/8] q800: wire up remaining IRQs in classic mode, Mark Cave-Ayland, 2021/10/13
[PATCH 8/8] q800: add NMI handler, Mark Cave-Ayland, 2021/10/13