Page MenuHomeFreeBSD

x86/cpuid: add CPUID flag for Extended Destination ID support
AcceptedPublic

Authored by cperciva on Feb 22 2026, 4:10 AM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Mar 24, 11:33 PM
Unknown Object (File)
Sun, Mar 15, 9:25 PM
Unknown Object (File)
Sun, Mar 15, 3:55 AM
Unknown Object (File)
Tue, Mar 10, 12:39 AM
Unknown Object (File)
Thu, Mar 5, 10:23 AM
Unknown Object (File)
Wed, Mar 4, 3:48 PM
Unknown Object (File)
Mar 2 2026, 6:45 PM
Unknown Object (File)
Mar 2 2026, 6:15 PM

Details

Reviewers
royger
Summary

Introduce the CPUID flag to be used in order to signal the support for
using an extended destination ID in IO-APIC RTEs and MSI address
fields. Such format expands the maximum target APIC ID from 255 to
32768 without requiring the usage of interrupt remapping.

The design document describing the feature can be found at:

http://david.woodhou.se/15-bit-msi.pdf

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 70867
Build 67750: arc lint + arc unit

Event Timeline

I "cherry-picked" this from the Xen repository, keeping the original author (Roger), date (2022), and commit message.

@royger Let me know if you'd like me to fix the signed-off-by line to avoid the mojibake, BTW. It looks like it was in the original Xen commit message and I didn't want to edit it without checking with you.

I'm also fine if you just want to import the new headers from Xen 4.21. I haven't imported new ones recently because I didn't have a need for them, but our headers are now pristine imports from the xen.git ones, we don't carry any FreeBSD specific changes in there.

This revision is now accepted and ready to land.Feb 24 2026, 2:46 PM