Re: [tip:x86/boot] x86/boot/compressed/64: Prepare trampoline memory

From: Borislav Petkov
Date: Mon Feb 26 2018 - 05:55:11 EST


On Mon, Feb 26, 2018 at 11:02:56AM +0300, Kirill A. Shutemov wrote:
> Yeah, good idea.
>
> Borislav, could you check this?

No joy with:

diff --git a/arch/x86/boot/compressed/pgtable_64.c b/arch/x86/boot/compressed/pgtable_64.c
index dad5da7b4c1a..4c382409b740 100644
--- a/arch/x86/boot/compressed/pgtable_64.c
+++ b/arch/x86/boot/compressed/pgtable_64.c
@@ -32,6 +32,7 @@ struct paging_config paging_prepare(void)
(native_cpuid_ecx(7) & (1 << (X86_FEATURE_LA57 & 31))))
paging_config.l5_required = 1;

+#if 0
/*
* Find a suitable spot for the trampoline.
* This code is based on reserve_bios_regions().
@@ -49,6 +50,9 @@ struct paging_config paging_prepare(void)
/* Place the trampoline just below the end of low memory, aligned to 4k */
paging_config.trampoline_start = bios_start - TRAMPOLINE_32BIT_SIZE;
paging_config.trampoline_start = round_down(paging_config.trampoline_start, PAGE_SIZE);
+#else
+ paging_config.trampoline_start = 0x40000;
+#endif

trampoline = (unsigned long *)paging_config.trampoline_start;
---
--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--