Linux Now Set to Always Reserve the First 1MB of RAM

By

To avoid issues that have plagued some systems, the Linux kernel will now unconditionally reserve the first 1MB of RAM.

Linux developers have always known the first 64K of system memory can be easily corrupted by certain BIOSes. Another issue they've had to deal with was Intel Sandy Bridge graphics chips accessing memory below the 1MB mark. Both of these situations can lead to serious problems with system performance or even booting.

Recently, however, a bug report was filed dealing with unbootable AMD Ryzen systems when the Linux kernel version 5.13 was in use. This happened after developer Linux_Chemist discovered a system with an AMD Ryzen 7 3700x was unable to boot kernel 5.13 and discovered booting worked fine with CONFIG_X86_RESERVE_LOW=640 set.

That bug was set to urgent and had an interesting (and telling) response attached to this GIT PULL:

"- Do away with all the wankery of reserving X amount of memory in the first megabyte to prevent BIOS corrupting it and simply and unconditionally reserve the whole first megabyte."

However, Linus Torvalds (the creator of Linux) had this to say about the comment:

"This seems a bit draconic. How does this work at all under Windows? There must be some windows knowledge about what the BIOS updates that we're not aware of."

In the end, the patch was merged and the Linux kernel will now reserve the first 1MB of RAM to avoid problems in the future.

06/10/2021
comments powered by Disqus