#include <asm/processor.h>
 #include "pgtable.h"
+#include "../string.h"
 
 /*
  * __force_order is used by special_insns.h asm code to force instruction
        unsigned long l5_required;
 };
 
+/* Buffer to preserve trampoline memory */
+static char trampoline_save[TRAMPOLINE_32BIT_SIZE];
+
 /*
  * Trampoline address will be printed by extract_kernel() for debugging
  * purposes.
 
        trampoline_32bit = (unsigned long *)paging_config.trampoline_start;
 
+       /* Preserve trampoline memory */
+       memcpy(trampoline_save, trampoline_32bit, TRAMPOLINE_32BIT_SIZE);
+
        return paging_config;
 }
+
+void cleanup_trampoline(void)
+{
+       /* Restore trampoline memory */
+       memcpy(trampoline_32bit, trampoline_save, TRAMPOLINE_32BIT_SIZE);
+}