]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
plat/kvm: Enable linux-compatible virtio-mmio cmdline on Firecracker
authorMichalis Pappas <michalis@unikraft.io>
Wed, 27 Sep 2023 15:07:58 +0000 (17:07 +0200)
committerRazvan Deaconescu <razvand@unikraft.io>
Fri, 20 Oct 2023 16:35:55 +0000 (19:35 +0300)
Firecracker injects virtio-mmio device descriptors to the command line
using the Linux format. Enable VIRTIO_MMIO_LINUX_COMPAT_CMDLINE for
Firecracker.

Signed-off-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Marco Schlumpp <marco@unikraft.io>
Reviewed-by: Rares Miculescu <miculescur@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
GitHub-Closes: #1116

drivers/virtio/mmio/Config.uk
drivers/virtio/mmio/virtio_mmio_cmdl.c
plat/kvm/Config.uk

index 57a486677b9a8e8fb54bbd63849e6151fa19c4ef..c719f6515c30f64819aff97ed1cd902ef8a2431d 100644 (file)
@@ -37,5 +37,4 @@ config VIRTIO_MMIO_LINUX_COMPAT_CMDLINE
 
                libvirtio_mmio.device = <size>@<base>:<irq>[:<id>]
 
-
 endif
index 297526947b220eceb75bd57a0e7004cb8f8f6ba7..a67e2e33bb8499937d0796f1d6fdac4e5468b33d 100644 (file)
@@ -31,19 +31,17 @@ static char *parse_size(const char *size_str, size_t *sz)
        *sz = strtoull(size_str, &endptr, 0);
 
        switch (*endptr) {
-       case 'k':
-       case 'K':
+       case 'g':
+       case 'G':
                *sz *= 1024;
-               ++endptr;
-               break;
+               __fallthrough;
        case 'm':
        case 'M':
-               *sz *= 1024 * 1024;
-               ++endptr;
-               break;
-       case 'g':
-       case 'G':
-               *sz *= 1024 * 1024 * 1024;
+               *sz *= 1024;
+               __fallthrough;
+       case 'k':
+       case 'K':
+               *sz *= 1024;
                ++endptr;
                break;
        default:
index c21c9db855e937c8122340ad24510c19ddc65b2c..8f7147e064b53b58bce75ae3dd6b27432ef43ab4 100644 (file)
@@ -103,6 +103,7 @@ config KVM_VMM_FIRECRACKER
        bool "Firecracker"
        select KVM_BOOT_PROTO_LXBOOT
        select HAVE_MMIO
+       select VIRTIO_MMIO_LINUX_COMPAT_CMDLINE
        imply LIBUKINTCTLR_GICV3 if ARCH_ARM_64
        depends on ARCH_X86_64 || ARCH_ARM_64