[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: |
Sat, 16 Oct 2021 19:09:19 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 |
Le 15/10/2021 à 22:12, Mark Cave-Ayland a écrit :
> On 15/10/2021 09:40, Laurent Vivier wrote:
>
>> Le 13/10/2021 à 23:21, Mark Cave-Ayland a écrit :
>>> This allows the programmer's switch to be triggered via the monitor for
>>> debugging
>>> purposes. Since the CPU level 7 interrupt is level-triggered, use a timer
>>> to hold
>>> the NMI active for 100ms before releasing it again.
>>
>> I'm wondering if Qemu provides another way to have a level-triggered
>> interrupt in this case.
>>
>> I' tried to see if keeping the button pressed on a mac kept the IRQ up (as
>> QMP NMI does), but a real
>> mac is too slow and has to many things to display it was not really
>> conclusive...
>
> When writing the patch I rebased the outstanding MacOS patches onto the
> branch, installed Macsbug
> into MacOS and used "info nmi" to break into it.
>
> Testing glue_nmi() with:
>
> GLUE_set_irq(s, GLUE_IRQ_IN_NMI, 1);
> GLUE_set_irq(s, GLUE_IRQ_IN_NMI, 0);
>
> i.e. a simple pulse didn't launch MacsBug at all. Keeping the NMI high
> launches MacsBug (which is
> usable) but then as soon as you exit MacsBug with ES, MacsBug breaks
> immediately again making it
> impossible to return to the Finder. Adding the timer allows launching MacsBug
> and then
> exiting/re-entering MacsBug again on demand as expected.
>
I think we have to mimic the finger pressing the button..
By the way, NMI should also dumps the CPU registers under linux.
Reviewied-by: Laurent Vivier <laurent@vivier.eu>
- Re: [PATCH 4/8] mac_via: add GPIO for A/UX mode, (continued)
Re: [PATCH 4/8] mac_via: add GPIO for A/UX mode, Laurent Vivier, 2021/10/15
[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