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

[Minios-devel] [UNIKRAFT PATCH 4/5] plat/kvm: Add initrd fields to configuration struct



In order to remember where an initrd was found in memory, we add
region definitions to the configuration struct. One definition is used
to remember where the initrd starts and ends, another one is used to
remember the second part of the heap (`heap2`).
Unfortunately, at least on x86, the initrd may be placed somewhere in
the middle of the memory range that is currently detected as heap. In
such a case the heap has to be split into two parts: the area before
the initrd and the area after. This avoids copying or mapping the
initrd to a different location during boot.
The idea is that heap2 is only filled out when a split happened
and two heap parts are left. Otherwise, this field is not used.

Signed-off-by: Simon Kuenzer <simon.kuenzer@xxxxxxxxx>
---
 plat/kvm/include/kvm/config.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/plat/kvm/include/kvm/config.h b/plat/kvm/include/kvm/config.h
index ee82731b..37136820 100644
--- a/plat/kvm/include/kvm/config.h
+++ b/plat/kvm/include/kvm/config.h
@@ -50,6 +50,9 @@ struct kvmplat_config_memregion {
 struct kvmplat_config {
        struct kvmplat_config_memregion heap;
        struct kvmplat_config_memregion bstack;
+       struct kvmplat_config_memregion initrd;
+       /* `heap2` potentially exists only if `heap` exists */
+       struct kvmplat_config_memregion heap2;
 
 #ifdef CONFIG_ARCH_ARM_64
        struct kvmplat_config_memregion pagetable;
-- 
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®.