multikernel: support isolated SR-IOV VF assignment#4
Draft
nickolaev wants to merge 4 commits into
Draft
Conversation
nickolaev
force-pushed
the
sriov-vf-assignment
branch
from
July 22, 2026 19:26
aa8c93e to
b715339
Compare
Keep assigned PCI devices and BAR metadata in each instance. Carry PCI host-bridge descriptors through the device-tree transport. This gives architecture code one owned source of assignment state. Signed-off-by: Nikolay Nikolaev <nicknickolaev@gmail.com>
Move ECAM restore and snapshot policy into arch/x86/multikernel. Leave generic MMCONFIG with only a locked region visitor. Use x86 platform callbacks so arch/x86/pci/init.c stays generic. Signed-off-by: Nikolay Nikolaev <nicknickolaev@gmail.com>
Filter root PCI config access in arch/x86/multikernel. Synthesize assigned VF identity and restore BARs with a PCI header fixup. Remove multikernel branches from drivers/pci/probe.c. Signed-off-by: Nikolay Nikolaev <nicknickolaev@gmail.com>
Keep spawned kernels from rejecting their calibrated LAPIC timer. The host-owned platform timer cannot advance local jiffies. Keep the policy in arch/x86/multikernel and one predicate in APIC code. Signed-off-by: Nikolay Nikolaev <nicknickolaev@gmail.com>
nickolaev
force-pushed
the
sriov-vf-assignment
branch
from
July 22, 2026 19:44
b715339 to
0ff04f5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Multikernel instances currently lack a complete PCI ownership model. A spawned
x86 kernel needs enough platform and device state to enumerate its assigned
device without exposing or disturbing devices retained by the primary kernel.
This series adds end-to-end assignment of an SR-IOV VF to a spawned kernel while
the primary retains the PF.
The series:
The resulting ownership model is:
This work can be demonstrated using the
mainbranch here https://codeberg.org/nickolaev/multikernel/src/branch/main .It was not tested on real hardware, only with
qemu-system-x86_64.