@@ -100,6 +100,18 @@ unsigned install_e820_map(unsigned max_entries, struct e820entry *entries)
entries[num_entries].type = E820_RESERVED;
+ * Mark the first 64K memory as reserved as well since U-Boot uses
+ * this memory region for things like VBIOS execution in real mode.
+ * After kernel resumes, it checks low memory range per config option
+ * CONFIG_X86_RESERVE_LOW which is 64K by default to see whether a
+ * memory corruption occurs during the suspend/resume.
+ entries[num_entries].addr = 0;
+ entries[num_entries].size = 0x10000;
+ entries[num_entries].type = E820_RESERVED;