Page MenuHomeFreeBSD

APIs to dynamically allocate and free IPI slots.
ClosedPublic

Authored by neel on Mar 10 2015, 7:40 PM.

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
Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

neel retitled this revision from to APIs to dynamically allocate and free IPI slots..Mar 10 2015, 7:40 PM
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.
neel updated this revision to Diff 4172.
kib edited edge metadata.Mar 11 2015, 2:41 PM
kib accepted this revision.
This revision is now accepted and ready to land.Mar 11 2015, 2:41 PM
jhb edited edge metadata.Mar 13 2015, 9:46 AM
jhb accepted this revision.
neel closed this revision.Mar 14 2015, 12:31 AM
neel updated this revision to Diff 4218.

Closed by commit rS279970 (authored by @neel).