]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - arch/x86/boot/compressed/pgtable_64.c
x86/boot/compressed/64: Set up trampoline memory
[mirror_ubuntu-jammy-kernel.git] / arch / x86 / boot / compressed / pgtable_64.c
index 01d08d3e3e4357a77167e1575d879a3f1d9dfcbc..810c2c32d98ec765f657ba2203e4d8e2d1e0d1a1 100644 (file)
@@ -76,6 +76,13 @@ struct paging_config paging_prepare(void)
        /* Preserve trampoline memory */
        memcpy(trampoline_save, trampoline_32bit, TRAMPOLINE_32BIT_SIZE);
 
+       /* Clear trampoline memory first */
+       memset(trampoline_32bit, 0, TRAMPOLINE_32BIT_SIZE);
+
+       /* Copy trampoline code in place */
+       memcpy(trampoline_32bit + TRAMPOLINE_32BIT_CODE_OFFSET / sizeof(unsigned long),
+                       &trampoline_32bit_src, TRAMPOLINE_32BIT_CODE_SIZE);
+
        return paging_config;
 }