obtaining a minidump from panic() called from NMI handler

Julian Elischer julian at freebsd.org
Sat Jun 13 14:33:05 UTC 2015


On 6/13/15 10:01 PM, O'Connor, Daniel wrote:
>> On 13 Jun 2015, at 09:17, Julian Elischer <julian at freebsd.org> wrote:
>>
>>>> could it be that more than one CPUs get the NMI at the same time?
>>> i guess, its possible. is there an easy way to check for that?
>> hard code checks in the code so that all except the first do something different.
>> (even only as a debug check).. like write to some location and loop...
> How about just something to the effect of..
> if (curcpu != cpu0)
> 	while (1)
> 		;

well, use 'pause' in the loop to save power. or even halt maybe.. 
(whatever the idle loop uses)
and write something to an array ( stopped_by_nmi[curcpu-index] ) on 
entering the code
so the base processor can see what processors entered it.
(names not correct)
>
> --
> Daniel O'Connor
> "The nice thing about standards is that there
> are so many of them to choose from."
> -- Andrew Tanenbaum
> GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
>
>
>
>



More information about the freebsd-current mailing list