Page MenuHomeFreeBSD

APIs to dynamically allocate and free IPI slots.
ClosedPublic

Authored by neel on Mar 10 2015, 7:40 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Sep 28, 1:44 AM
Unknown Object (File)
Wed, Sep 24, 8:11 PM
Unknown Object (File)
Fri, Sep 19, 1:36 AM
Unknown Object (File)
Sep 14 2025, 8:20 AM
Unknown Object (File)
Sep 11 2025, 11:56 AM
Unknown Object (File)
Sep 3 2025, 4:40 AM
Unknown Object (File)
Aug 26 2025, 9:25 PM
Unknown Object (File)
Aug 6 2025, 10:41 AM
Subscribers

Details

Summary

Add x86 specific APIs 'lapic_ipi_alloc()' and 'lapic_ipi_free()' to allow IPI
vectors to be dynamically allocated. This allows kernel modules like vmm.ko
to allocate unique IPI slots when loaded (as opposed to hard allocating one
or more vectors).

Also, reorganize the fixed IPI vectors to create a contiguous space for
dynamic IPI allocation.

Test Plan

Compile and run amd64 and i386 kernels. Xen kernels not tested.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

neel retitled this revision from to APIs to dynamically allocate and free IPI slots..
neel updated this object.
neel edited the test plan for this revision. (Show Details)
neel added reviewers: jhb, kib, royger.
neel added a subscriber: grehan.
kib edited edge metadata.
This revision is now accepted and ready to land.Mar 11 2015, 2:41 PM
jhb edited edge metadata.
neel updated this revision to Diff 4218.

Closed by commit rS279970 (authored by @neel).