[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCH 7/9] plat/kvm: update page table for Firecracker



Firecracker needs other low memory addresses to access information
passed in by the hypervisor.

Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx>
---
 plat/kvm/x86/pagetable.S | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/plat/kvm/x86/pagetable.S b/plat/kvm/x86/pagetable.S
index d200a13a..4693690d 100644
--- a/plat/kvm/x86/pagetable.S
+++ b/plat/kvm/x86/pagetable.S
@@ -38,12 +38,24 @@
 .align 0x1000
 cpu_zeropt:
        /* the first 1M is inaccessible, except for:
-          0x09000 - 0x09fff -> multiboot info @ 0x09500 (read-only)
+          0x07000 - 0x07fff -> bootparams info (RO, Firecracker)
+          0x09000 - 0x09fff -> multiboot info @ 0x09500 (RO, QEMU)
+          0x20000 - 0x20fff -> bootparams cmdline (RO, Firecracker)
           0xb8000 - 0xbffff -> VGA buffer (read+write)
         */
+#if KVMQPLAT
        .fill 0x9, 0x8, 0x0
        .quad 0x0000000000009000 + PAGETABLE_RO
        .fill 0xae, 0x8, 0x0
+#elif KVMFCPLAT
+       .fill 0x7, 0x8, 0x0
+       .quad 0x0000000000007000 + PAGETABLE_RO
+       .fill 0x18, 0x8, 0x0
+       .quad 0x0000000000020000 + PAGETABLE_RO
+       .fill 0x97, 0x8, 0x0
+#else
+       .fill 0xb8, 0x8, 0x0
+#endif /* first area until 0xb7fff */
        .quad 0x00000000000b8000 + PAGETABLE_RW
        .quad 0x00000000000b9000 + PAGETABLE_RW
        .quad 0x00000000000ba000 + PAGETABLE_RW
-- 
2.21.0


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.