zurück zum Artikel

64-Bit-ARM Unterstützung für Linux AArch64

Thorsten Leemhuis

ARM-Entwickler arbeiten an Patches, die den Linux-Kernel um Unterstützung für ARMs 64-Bit-Architektur AArch64 erweitern.

ARMv8 bringt den AArch64-Ausführungsmodus.

(Bild: ARM)

ARM-Mitarbeiter Catalin Marinas hat eine 36 Patches umfassende Sammlung [1] veröffentlicht, die den Linux-Kernel um Unterstützung für ARMs AArch64-Architektur erweitert. Dabei handelt es sich um die 64-Bit-taugliche ARM-Variante [2], die im Herbst 2011 mit dem ARMv8-Befehlssatz angekündigt wurde [3] und vermutlich [4] 2014 in ersten Prozessoren zum Einsatz kommen soll.

Die AArch64-Unterstützung soll in einem eigenen Verzeichnis (arch/aarch64/) der Kernel-Quellen landen und somit unabhängig von der bisherigen Basisunterstützung für 32-Bit-ARM-Kerne (offiziell: AArch32-Architektur) sein (arch/arm/). Einige Kernel-Entwickler merken dazu an, dass es bei der 64-Bit-Erweiterung für die x86-Architektur anfangs ähnlich gewesen sei, später der Code aber zusammengelegt wurde, um die Wartung und Weiterentwicklung zu erleichtern.

Unter anderem der langjährige Kernel-Entwickler Arnd Bergmann geht auf diesen Punkt ein [5] und erläutert einige Gründe, die für eine Separation sprechen; so sei der meiste Code ohnehin anders geartet und man sei unabhängig vom alten Code, der gerade erheblich umgebaut [6] werde. Diskutiert [7] wird zudem der Name, der einigen Entwicklern zu sperrig und kryptisch ist. Als Alternative zur offiziellen Befehlssatz-Bezeichnung wurde unter anderem ARM64 vorgeschlagen – vieles deutet aber derzeit darauf hin, dass es bei AArch64 bleibt.

Marinas erläutert in der Ankündigung seiner Kernel-Patches, dass ein AArch64-Linux in der 4K-Konfiguration 32-Bit-ARM-Userland-Code ausführen könne, sofern der das ARM EABI nutze; da es keine Verknüpfung zwischen AArch32- and AArch64-Code gäbe, sei ein Umschalten des Betriebsmodus (exception entry/exit) erforderlich. Eine Erweiterung der GNU Compiler Collection (GCC) zur Unterstützung von AArch64 hat ARM-Entwickler Marcus Shawcroft bereits Ende Mai zur Diskussion [8] gestellt. Patches für die Binutils wurden offenbar [9] noch nicht veröffentlicht [10]; selbiges gilt für die Glibc-Portierung. (thl [11])


URL dieses Artikels:
https://www.heise.de/-1634303

Links in diesem Artikel:
[1] http://thread.gmane.org/gmane.linux.kernel/1324121
[2] https://www.heise.de/news/ARM-blaest-zum-Angriff-auf-64-Bit-Server-1368660.html
[3] https://www.heise.de/blog/Prozessorgefluester-1370336.html
[4] https://www.heise.de/news/Prozessortandems-von-ARM-1426462.html
[5] http://thread.gmane.org/gmane.linux.kernel/1324121/focus%3D1324278
[6] https://www.heise.de/hintergrund/Kernel-Log-Was-3-5-bringt-3-Architektur-Code-1633721.html
[7] http://thread.gmane.org/gmane.linux.kernel/1324121/focus%3D1324266
[8] http://thread.gmane.org/gmane.comp.gcc.patches/263774
[9] http://thread.gmane.org/gmane.linux.kernel/1324121/focus%3D1324228
[10] http://gcc.gnu.org/ml/gcc-patches/2012-05/msg01764.html
[11] mailto:thl@ct.de