-
Notifications
You must be signed in to change notification settings - Fork 76
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: enable openhcl to run in VTL0, use nested virtualization #281
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,16 +25,17 @@ dir /lib/modules 0755 0 0 | |
# Kernel modules are loaded in sort order; put them in directories appropriately | ||
# to ensure they are loaded in dependency order. | ||
|
||
dir /lib/modules/000 0755 0 0 | ||
dir /lib/modules/001 0755 0 0 | ||
dir /lib/modules/999 0755 0 0 | ||
dir /lib/modules/auto 0755 0 0 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. what's the "auto" here for? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Anything in auto will be automatically loaded. Modules elsewhere need explicit code to load. I'll add a comment. |
||
dir /lib/modules/auto/000 0755 0 0 | ||
dir /lib/modules/auto/001 0755 0 0 | ||
dir /lib/modules/auto/999 0755 0 0 | ||
|
||
file /lib/modules/000/pci-hyperv-intf.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv-intf.ko 0644 0 0 | ||
file /lib/modules/001/pci-hyperv.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv.ko 0644 0 0 | ||
file /lib/modules/auto/000/pci-hyperv-intf.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv-intf.ko 0644 0 0 | ||
file /lib/modules/auto/001/pci-hyperv.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/pci/controller/pci-hyperv.ko 0644 0 0 | ||
|
||
# Storvsc is last because it sometimes takes a long time to load and should not | ||
# block other device startup. | ||
file /lib/modules/999/hv_storvsc.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/scsi/hv_storvsc.ko 0644 0 0 | ||
file /lib/modules/auto/999/hv_storvsc.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/drivers/scsi/hv_storvsc.ko 0644 0 0 | ||
|
||
# These nodes are needed for early logging before devfs is mounted. | ||
nod /dev/null 0666 0 0 c 1 3 | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
file /lib/modules/kvm.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/arch/x86/kvm/kvm.ko 0644 0 0 | ||
file /lib/modules/kvm-amd.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/arch/x86/kvm/kvm-amd.ko 0644 0 0 | ||
file /lib/modules/kvm-intel.ko ${OPENHCL_KERNEL_PATH}/build/native/bin/${OPENHCL_KERNEL_ARCH}/modules/kernel/arch/x86/kvm/kvm-intel.ko 0644 0 0 |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,6 +20,11 @@ openssl-vendored = ["underhill_attestation/openssl-vendored"] | |
# Enable VPCI device support | ||
vpci = [] | ||
|
||
# Enable support for running the guest OS via nested virtualization with KVM. | ||
# (Note that the virt_kvm crate is always a dependency just to avoid build | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this a binary size concern? |
||
# breaks.) | ||
virt_kvm = [] | ||
|
||
[target.'cfg(target_os = "linux")'.dependencies] | ||
vmotherboard = { workspace = true, features = [ | ||
"encryption", | ||
|
@@ -92,6 +97,7 @@ underhill_threadpool.workspace = true | |
bootloader_fdt_parser.workspace = true | ||
vga_proxy.workspace = true | ||
video_core.workspace = true | ||
virt_kvm.workspace = true | ||
virt_mshv_vtl.workspace = true | ||
vm_manifest_builder.workspace = true | ||
vmbus_async.workspace = true | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: here and elsewhere, I would suggest using the slightly more verbose name
InitrdRootfsConfigPath
, to make it marginally more clear we're talking about therootfs.config
files here.it took me a sec to realize this wasn't related to the pre-packaged initrd layers themselves