|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/5] x86: Set xen_phys_start and trampoline_xen_phys_start earlier
No reason to wait, if Xen image is loaded by EFI (not multiboot
EFI path) these are set in efi_arch_load_addr_check, but
not in the multiboot EFI code path.
This change makes the 2 code paths more similar and allows
the usage of these variables if needed.
Signed-off-by: Frediano Ziglio <frediano.ziglio@xxxxxxxxx>
---
xen/arch/x86/boot/head.S | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 296f76146a..5b82221038 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -259,6 +259,11 @@ __efi64_mb2_start:
jmp x86_32_switch
.Lefi_multiboot2_proto:
+ /* Save Xen image load base address for later use. */
+ lea __image_base__(%rip),%rsi
+ movq %rsi, xen_phys_start(%rip)
+ movl %esi, trampoline_xen_phys_start(%rip)
+
/* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
xor %esi,%esi
xor %edi,%edi
@@ -605,10 +610,6 @@ trampoline_setup:
* Called on legacy BIOS and EFI platforms.
*/
- /* Save Xen image load base address for later use. */
- mov %esi, sym_esi(xen_phys_start)
- mov %esi, sym_esi(trampoline_xen_phys_start)
-
/* Get bottom-most low-memory stack address. */
mov sym_esi(trampoline_phys), %ecx
add $TRAMPOLINE_SPACE,%ecx
--
2.45.2
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |