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

[Minios-devel] [UNIKRAFT PATCH v2 3/9] plat/kvm: change entry point for x86



From: Florian Schmidt <florian.schmidt@xxxxxxxxx>

The linker script set the entry point for the linked ELF to the C entry
point. So far, this didn't matter, because QEMU boots the image via
multiboot, ignoring the entry point information and instead searching
for the multiboot header in the first 8k of the image. Firecracker,
however, does not use multiboot and identifies the entry from the ELF
header. So set the entry point to the beginning of the long-mode early
boot sequence.

Change-Id: Ie1a5a43031732c0447831aa76da8fb8dbdc57f48
Signed-off-by: Florian Schmidt <florian.schmidt@xxxxxxxxx>
Signed-off-by: Haibo Xu <haibo.xu@xxxxxxx>
---
 plat/kvm/Linker.uk        | 2 +-
 plat/kvm/x86/link64.lds.S | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/plat/kvm/Linker.uk b/plat/kvm/Linker.uk
index 5e42193..62c3d81 100644
--- a/plat/kvm/Linker.uk
+++ b/plat/kvm/Linker.uk
@@ -30,7 +30,7 @@ $(KVM_DEBUG_IMAGE): $(KVM_ALIBS) $(KVM_ALIBS-y) $(KVM_OLIBS) 
$(KVM_OLIBS-y) \
                        -o $(KVM_IMAGE).ld.o)
        $(call build_cmd,OBJCOPY,,$(KVM_IMAGE).o,\
                $(OBJCOPY) -w -G kvmos_* -G _libkvmplat_entry \
-                       $(KVM_IMAGE).ld.o $(KVM_IMAGE).o)
+                       -G _libkvmplat_start64 $(KVM_IMAGE).ld.o $(KVM_IMAGE).o)
        $(call build_cmd,LD,,$@,\
               $(LD) $(LDFLAGS) $(LDFLAGS-y) \
                     $(KVM_LDFLAGS) $(KVM_LDFLAGS-y) \
diff --git a/plat/kvm/x86/link64.lds.S b/plat/kvm/x86/link64.lds.S
index 1f66104..be14882 100644
--- a/plat/kvm/x86/link64.lds.S
+++ b/plat/kvm/x86/link64.lds.S
@@ -26,7 +26,7 @@
 #include <uk/arch/limits.h> /* for __PAGE_SIZE */
 #include <common.lds.h>
 
-ENTRY(_libkvmplat_entry)
+ENTRY(_libkvmplat_start64)
 SECTIONS
 {
        . = 0x100000;
-- 
2.17.1


_______________________________________________
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®.