Re: [PATCH v7 05/10] x86/nmi: Assign and register NMI-source vectors

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

 



On 7/7/2025 6:21 AM, Zhuo, Qiuxu wrote:
>> From: Sohil Mehta <sohil.mehta@xxxxxxxxx>
>> [...]
>> Vector 2 is reserved for external NMIs corresponding to the Local APIC -
>> LINT1 pin. Some third-party chipsets may send NMI messages with a fixed
>> vector value of 2. Using vector 2 for something else would lead to confusion
>> about the exact source. Do not assign it to any handler.
>>
>> NMI-source vectors are only assigned for NMI_LOCAL type handlers.
>> Platform NMI handlers have a single handler registered per type. They don't
> 
> From the current NMI code point of view [1] or [2],
> a type of platform NMI handler may have multiple handlers registered. 
> 
> [1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/nmi.c#n199
> [2] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/kernel/nmi.c#n201
> 

We have warnings that should flag any time multiple handlers are
registered for SERR or IO_CHK:

	/*
	 * Indicate if there are multiple registrations on the
	 * internal NMI handler call chains (SERR and IO_CHECK).
	 */
	WARN_ON_ONCE(type == NMI_SERR && !list_empty(&desc->head));
	WARN_ON_ONCE(type == NMI_IO_CHECK && !list_empty(&desc->head));

>> need additional source information to differentiate among them.
>>
>> [...]





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux