Bios-Bugs: Linux-Kernel schnappt sich immer erstes 1 MByte RAM

Der Linux-Kernel ändert seine Funktion im Umgang mit dem initialen Speicherbereich auf x86-Systemen, der teilweise auch von der Firmware des Rechners belegt sein kann. Statt wie bisher einige verschiedene Konfigurationen zu unterstützen und je nach Hardware unterschiedliche Ansätze umzusetzen, wird der Linux-Kernel künftig das erste 1 MByte im RAM komplett reservieren. Zugriffe darauf oder Speicherzuweisungen sind dann üblicherweise nicht mehr möglich.
Zur Begründung heißt es in dem Beitrag(öffnet im neuen Fenster) , dass es Firmware gibt, von der bekannt ist, "dass sie den Speicher unter 1 MB beschädigen, genauer gesagt unter 640 KB, da der Speicher über 640 KB sowieso für den EGA/VGA-Framebuffer und das Bios reserviert ist" . Um zu verhindern, dass der Kernel selbst etwa Grafiktreiber zufällig in diesen Speicherbereich schreibt und damit für Fehler sorgt, wird dies nun einfach vollständig unterbunden.
Der Linux-Kernel reservierte auch bisher schon entsprechende Speicherbereiche zur Fehlervermeidung. Je nach Konfiguration sind das zwischen 4 KByte und 640 KByte, standardmäßig jedoch 64 KByte. Auf einigen Maschinen sind darüber hinaus aber auch 1 MByte notwendig wie etwa bei Intels Sandy-Bridge-Chips. Auch um den Umgang damit zu vereinfachen, wird dies nun vereinheitlicht.
Linux-Chefentwickler Linus Torvalds beschreibt dieses Vorgehen auf der Mailingliste(öffnet im neuen Fenster) des Projekts als "drakonisch" und "seltsam" , hat die Änderung letztlich aber in den von ihm betreuten Hauptzweig eingepflegt. Torvalds erkundigt sich hier außerdem nach dem Vorgehen von Windows. Der in der Open-Source-Abteilung von Microsoft tätige Michael Kelley bestätigt schließlich nach Rücksprache mit dem Windows-Team(öffnet im neuen Fenster) , dass dieses ebenfalls so vorgeht wie nun auch der Linux-Kernel - und das sogar schon seit Jahren.