On 6/4/2025 8:28 AM, H. Peter Anvin wrote: > > The architectural maximum* is 63 sources (plus the error bit), > although the current version only supports 1-15. If extended to be > wider, we would presumably add a new cpuid bit. > > However, we should make sure there is nothing in the implementation > that limits us to 16 or 32 bits; when manipulating the bitmask we > should use a 64 bit type. > There isn't anything in the implementation that would limit it to less than 64 bits. However, (as suggested by Dave), I am planning to include: BUILD_BUG_ON(NMIS_VECTORS_MAX > 16); If someone hits this compile issue while adding new vectors, it would help them realize the limitations of the existing hardware. We can recommend vector aliasing at that point or if there is hardware in the pipeline that extends this beyond 16, we can simply get rid of the BUILD_BUG_ON() along with the patches that add the new vectors. > -hpa > > * If we were to use the additional error reporting fields in the > FRED frame at some future point it could be extended as far as 207, > but since we at this point don't have anyone clamouring for more > than 15 this seems like a very remote possibility.