Messages in this thread | | | Date | Sun, 17 Oct 2010 12:58:28 +0400 | From | Cyrill Gorcunov <> | Subject | Re: [RFC] arch generic way to trigger unknown NMIs |
| |
On Sun, Oct 17, 2010 at 12:59:11AM +0100, Maciej W. Rozycki wrote: > On Sat, 16 Oct 2010, Cyrill Gorcunov wrote: > > > > > Hi Maciej, the send_IPI_self could be modified to send NMI (at moment it > > > > uses self shortcut with fixed delivery mode). The question is rather if > > > > we need it without a real caller yet. When Don's patch gets merged we > > > > will have a real caller then and could update send_IPI_self to support > > > > NMI delivery mode. Something like that :) > > > > > > Sounds backwards to me. My understanding is a need has just arisen, so > > > why not: > > > > > > 1. Update send_IPI_self(). > > > > > > 2. Add code that makes use of the new functionality. > > > > > > 3. Submit all the changes as self-contained patches in a single series to > > > be applied at the same time. > > > > > > ? That's what I'd imagine the most natural way of doing this would be. > > > > Well, Maciej I believe the problem is not in modifying send_IPI_self > > but rather _how_ to make it more natural and do not introduce overhead. > > apic code is already weird enough :) Need to think. > > > > ( > > btw, we will have to add additional flag which would check for NMI > > being generated by "NMI-tester" and make a second apic write to > > ICR to deassert level line, ie it could be something like > > > > apic->send_IPI_self(NMI_VECTOR) ; with asserts level > > default_do_nmi() ; check for NMI being sent for testing purpose > > apic->send_IPI_self(NMI_VECTOR) ; with deasserts level > > > > iirc apic itself doesn't deassert nmi line on message with > > nmi deliver mode arrival > > ) > > How different is it to the other two send_IPI shorthand calls? Or the > fully-fledged one? I gather from this thread they already handle NMIs > properly, so what is there within that cannot simply be copied over to > this one? > > Maciej >
Hmm, good question ;) I thought about 82489dx which required level trigger mode for nmi delivery, new (or present day) apics always use edge trigger mode so indeed there is no need for level assert/deassert.
Cyrill
| |