[OpenBSD]

OpenBSD/mvme88k


OpenBSD/mvme88k ist ein Versuch, OpenBSD auf die Systeme zu portieren, die auf der 88xxx-basierten VME Motherboard-Familie von Motorola aufbauen.

Eine Mailingliste für die m88k-basierten Portierungen ist unter m88k@openbsd.org erreichbar. Um die OpenBSD/m88k-Mailingliste zu abonnieren, sende eine E-Mail mit dem Inhalt »subscribe m88k« an majordomo@openbsd.org. Bitte lies vorher unsere Mailinglisten-Richtlinien.

Inhaltsverzeichnis


Geschichte:

Dem Motorola-88k-Prozessor wird nachgesagt, der beste RISC-Prozessor zu sein, der jemals erdacht wurde. Seine Einfachheit und Eleganz ergänzen sich und machen den mvme88k zu einer aufrichtigen, robusten Plattform.

Leider nutzte die erste Design-Generation (88100) ein gemeinschaftliches Layout für den Cache und die virtuelle Speicherverwaltung, was das Hardware-Design unangenehm komplex (und teuer, zu dieser Zeit) machte. Die zweite Generation (88110) nahm sich dieser Problematik an, wurde aber von Stabilitätsproblemen geplagt. Letztendlich ergriff Motorola die Möglichkeit, so schnell wie möglich die 88000er Designlinie zu Gunsten des PowerPC aufzugeben, obwohl auch heute noch einige Teile des 88110 in Prozessoren der PowerPC-Familie weiterleben.

Nivas Madhur begann die erste mvme88k-Portierung für die MVME187-Karte, aufbauend auf dem CMU Mach-Programmkode, der auf den 88100-basierten Omron Luna88k-Systemen lief. Jedoch wechselte er den Arbeitgeber bevor die Arbeit bereit zur Einbindung in den OpenBSD Quelltextbaum war.

Dies blieb dann Dale Rahn vorbehalten, der die Integrationsarbeit beendete, jedoch nicht genügend Zeit hatte, weiter an der Portierung zu arbeiten. Steve Murphree Jr. hat die Portierung für die MVME187 im November 1998 letztendlich abgeschlossen.

Leider hat eine Aktualisierung des Übersetzers, von gcc 2.8.1 zu egcs, der zur gleichen Zeit stattfand, eine Menge Probleme in der mvme88k-Unterstützung des gcc offengelegt, welche nicht rechtzeitig korrigiert werden konnten, als dass mvme88k ein unterstütztes OpenBSD-2.5-Release hätte werden können.

Das fehlen einer Werkzeugkette innerhalb des Quelltextbaums hielt weitere Arbeit an dieser Portierung nicht ab und viele Änderungen wurden an der Quelltextbasis durchgeführt, wie zum Beispiel die Überarbeitung von autoconf und dem on-board SCSI-Treiber, die große Erweiterung der VME-Bus-Unterstützung, eine funktionsfähige Installationsroutine, die auf korrekte Weise einen Motorola-VID-Block auf der Platte erstellt und Unterstützung für MVME188 und besserer Unterstützung für MVME197.

Während des Sommers 2003 führte letztendlich eine Bemühung, die Werkzeugkette zu korrigieren, zu einem funktionionsfähigen gcc-2.95-Übersetzer und ermöglichte es der Portierung wieder, selbsterzeugend zu sein. Mit der Hilfe von Mark Kettenis hat die Bemühung um die Werkzeugkette schlussendlich dazu geführt, dass binutils und gdb seit dem späten Mai 2004 funktionieren.

Im Sommer 2005 wurde mit der Arbeit zur Unterstützung von Multiprozessoren auf MVME188-Boards begonnen und wurde schließlich nach vielen langwierigen Fehlerbereinigungen kurz nach der Veröffentlichung von 4.2 im November 2007 beendet.

Der nächste Schritt war, die 88110-basierten MVME197-Designs einsetzen zu können. Einprozessor-Kernel können seit Dezember 2007 zuverlässig betrieben werden; Mehrprozessor-Unterstützung wurde im März 2009 abgeschlossen, hörte aber nicht auf, obskure Fehler zu produzieren, die schließlich auf einen Prozessor-Platinenfehler zurückgeführt werden konnten, welcher wiederum seit April 2010 als »abgehakt« betrachtet werden kann.

Der lang erwartete Wechsel vom a.out Binärformat hin zu ELF wurde nach dem Release 5.2 vollzogen, verbunden mit einem Upgrade des Übersetzers gcc auf Version 3.3.6. Diese Arbeit ebnete den Weg zur Unterstützung von gemeinsam genutzten, dynamischen ELF Bibliotheken.


Momentaner Status:

Zurzeit starten MVME187-, MVME188- und MVME197-Boards sowie ähnliche Designs und unterstützen die meisten on-board Geräte. Es gibt allerdings immer noch ein paar kleine Probleme; je nachdem, wie dein exakter Hardwareaufbau ist, kann die Anzahl dieser variieren. Es wird daran gearbeitet, die übrig gebliebenen Probleme zu lösen und weitere Boards zuverlässig zu unterstützen.


Projekte (in keiner bestimmten Reihenfolge):


Unterstützte Hardware:

Unterstützte Prozessor-Boards

Neben den Komplettsystemen von Motorola (M8120, Series 900 etc.), läuft diese Portierung ebenfalls auf dem MVME187-basierten Triton Dolphin System 100.

Unterstützte on-board Geräte

Unterstützte VME-Boards

Nicht unterstütze Prozessor-Boards

Diese Boards werden zurzeit nicht unterstützt. Abgesehen von fehlender Hardware gibt es allerdings keinen Hinderungsgrund, warum sie nicht eines Tages unterstützt sein sollten.


OpenBSD/mvme88k beziehen und installieren:

Das neueste unterstützte OpenBSD/mvme88k-Release ist OpenBSD 5.2. Hier sind die OpenBSD/mvme88k 5.2-Installationsanweisungen.

Schnappschüsse werden von Zeit zu Zeit hier zur Verfügung gestellt, sowie auf ein paar Spiegelservern. Hier sind ebenfalls die OpenBSD/mvme88k Schnappschuss-Installationsanweisungen verfügbar.


Hardware Details:

Da VME-Hardware bei den typischen Verkäufern recht ungewöhnlich ist und Motorola-881x0-basierte Hardware noch seltener ist, existiert diese Sektion, um die häufig anzutreffende Kuriosität über die mvme88k-Hardware zufrieden zu stellen.

Bilder des Motorola-900-modular-Gehäuses, mit einem 33-MHz-MVME187-CPU-Board, 32 MB RAM, 4 MVME332XT seriellen Boards und einem Archive-250-MB-QIC-Bandlaufwerk.


Unterstützte Plattformen
www@openbsd.org
$OpenBSD: mvme88k.html,v 1.60 2013/02/10 00:07:09 ajacoutot Exp $