[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [UNIKRAFT PATCH v2 0/9] Firecracker support
Firecracker is a new lightweight hypervisor developed as open-source by Amazon. It relies on kvm, but then produces a somewhat more streamlined boot option catering especially to Linux: instead of having the kernel query the BIOS for information such as where memory is physically located, information is already provided in pre-processes for in a "bootparams" page that Linux uses to internally collect this information at boot time. This patch series adds support for bootparams, as well the possibility to build both QEMU- and Firecracker-specific kvm images at the same time by providing a new way of creating platform sub-libraries. unikraft can be run with Firecracker by invoking the following HTTP PUTs: curl --unix-socket /tmp/firecracker.socket -i -X PUT 'http://localhost/boot-source' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{ "kernel_image_path": "<image file>", "boot_args": "console=ttyS0 reboot=k panic=1 pci=off" }' curl --unix-socket /tmp/firecracker.socket -i -X PUT 'http://localhost/actions' -H 'Accept: application/json' -H 'Content-Type: application/json' -d '{ "action_type": "InstanceStart" }' Note: Firecracker is currently under heavy development, so basic settings (such as where to find the bootparams page or the cmdline) are currently hardcoded and might change in the future. This patch series has been tested against Firecracker's current release (v0.19.0). v1->v2: (1) define the firecracker boot parameter base address as a macro; (2) verified with the firecracker latest release v0.19.0. Haibo Xu (9): build: support for sharing libraries across multiple platforms plat/kvm: add options to choose QEMU or Firecracker plat/kvm: change entry point for x86 plat/kvm: create separate linker script for QEMU and Firecracker plat/kvm: make multiboot one VMM info option plat/kvm: streamline Firecracker early boot plat/kvm: update page table for Firecracker plat/kvm: Add bootparams as VMM info option plat/kvm: Firecracker is now in a state that runs plat/kvm/Config.uk | 15 ++ plat/kvm/Linker.uk | 64 ------- plat/kvm/Linker_fc.uk | 66 +++++++ plat/kvm/Linker_q.uk | 66 +++++++ plat/kvm/Makefile.uk | 48 ++++- plat/kvm/include/kvm-x86/_bootparams.h | 129 +++++++++++++ plat/kvm/include/kvm-x86/_multiboot.h | 243 +++++++++++++++++++++++++ plat/kvm/include/kvm-x86/bootparams.h | 42 +++++ plat/kvm/include/kvm-x86/vmminfo.h | 56 ++++++ plat/kvm/x86/entry64.S | 23 ++- plat/kvm/x86/link64.lds.S | 2 +- plat/kvm/x86/pagetable.S | 14 +- plat/kvm/x86/setup.c | 227 +---------------------- support/build/Makefile.build | 21 ++- support/build/Makefile.clean | 8 +- 15 files changed, 705 insertions(+), 319 deletions(-) delete mode 100644 plat/kvm/Linker.uk create mode 100644 plat/kvm/Linker_fc.uk create mode 100644 plat/kvm/Linker_q.uk create mode 100644 plat/kvm/include/kvm-x86/_bootparams.h create mode 100644 plat/kvm/include/kvm-x86/_multiboot.h create mode 100644 plat/kvm/include/kvm-x86/bootparams.h create mode 100644 plat/kvm/include/kvm-x86/vmminfo.h -- 2.17.1 _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |