Ui, jetzt kam mir doch noch jemand zuvor.
---
Wir reden hier von unterschiedlichen Hardware-Plattformen. Das sich SPARC von x86 unterscheidet, darüber sind wir uns bestimmt alle einig.
Zur Verwendung von PC-basierten PCI-Erweiterungskarten in einer SPARC sind von vornherein Steine im Weg, über die man leicht stolpern kann, um es mal vorsichtig auszudrücken
Daher die Frage in diesem Forum und nicht bei S/W, Betriebssystemen oder dergleichen. Es mangelt nicht an Treibern, es mangelt an der Moeglichkeit, eine Sun mit einer PCI-Karte ueberhaupt zu starten.
Man merkt du bist weder mit der SPARC- noch mit x86-Hardware wirklich vertraut. Denn dann sollte man wissen, dass die elektrotechnischen (physikalischen) Eigenschaften von beiden Plattformen durchaus gegeben sein könnten (wenn spezifiert), aber die Firmware- und Treiber-Struktur sich von denen bei x86-Plafformen verwendeten unterscheiden.
SPARC-Systeme und Erweiterungskarten besitzen anstelle eines gewöhnlichen x86-BIOS auf Hauptplatine und den PCI-Erweiterungskarten eine spezielle Firmware, die Geräte (Devices) dem System und später geladenen Betriebssystem (u.a. zur Verwaltung von Hardware-Resourcen) bekannt gemacht werden.
Bleibt die Frage ob der OBP damit evtl nicht klar kommt. Theor. müsste er die übergehen oder zumindest einfach nicht erkennen. Hier könnte helfen was die Console mit nem Diag-switch true bzw diag-level max liefert. Immerhin sollte man da sehen wo es hängt.....das müsste auch auf ner U5/10 gehen.
Das wäre eine Möglichkeit.
Ich hab in 2 Ultra 60 und in einer Ultra 5 verschiedene normale PCI-Karten eingebaut und bis auf die nicht vorhandene Bootfähigkeit der fremden Controller funktioniert alles (unter Linux) absolut problemlos.
Und Linux bringt Software (Treiber) mit, mit denen sich
unterstützte PCI-Erweiterungskarten unter Linux auf SPARC betreiben lassen.
Diese Standards unterscheiden sich zum Teil deutlich von der x86-Spezifikation.
Die PCI-Spezifikation regelt grundsätzlich die mechanischen und elektrischen Eigenschaften,
aber I/O oder Speicherbereiche werden in der PCI-Spezifikation nicht behandelt, das ist Sache der System-Architektur.
Nur weil eine Karte mechanisch passt, muss sie auf einer anderen Architektur noch längst nicht funktionieren und darf folglich auch den Bootvorgang behindern - besonders dann, wenn I/O-Konflikte dabei entstehen.
Ah, sieh einer an. Das ist die erste Antwort, die sich direkt auf meine (auch in der Überschrift) genannte Frage bezieht. Sun hat also tatsächlich einen eigenen PCI-Standard. Das war mir nicht klar, da ich davon ausgegangen war, PCI 5V 33MHz sei gleich PCI 5V 33MHz. Das es noch andere Faktoren gibt, die vom Standard unberührt sind und die Verwendung mancher Karten in manchen Systemen ausschließt, wusste ich nicht, daher eben meine Frage.
Nein, Sun hat keinen eigenen PCI-Standard. Und ja, "PCI 5V 33MHz" ist gleich "PCI 5V 33MHz".
Nun, es liegt nunmal in der Natur der Sache, dass Treiber erst der zweite Schritt sind. Ein Gerät muss schon in H/W wenigstens vorhanden sein, damit man sich darum kümmern kann. Wozu also soll ich mir Gedanken um einen Treiber machen, so lange die H/W das System zum Stillstand bringt? Ansonsten sind alle diese Karten zumindest unter Linux unterstützt und etliche Treiber sogar als fertige Module out of the Box dabei. Sollte ein Treiber tatsächlich nicht funktionieren, so sollte sich das fixen lassen -- natürlich nur unter der Voraussetzung, die entsprechnde H/W exisitert auch im System.
Nicht die Hardware, sondern die
Firmware wird das Hindernis darstellen!
Wenn sich die von der PCI-Karte benutzte I/O-Kanäle und -Ressourcen mit denen des Basissystems (U5/U10/Blade) überschneiden , kann es sein, dass das System nicht mal startet. Das passiert alles in Sekundenbruchteilen und erweckt den Anschein, es liege an der Hardware selbst, was ja nicht ganz verkehrt ist, da die Firmware zum Bestandteil der Erweiterungskarte gehört: Eine PCI-Erweiterungskarte entspricht schließlich einer Sammlung von elektrotechnischen Funktionen in Form von Bauelementen in Verbindung mit der zur Steuerung benötigten Firmware (Software), die Treiber für ein spezifisches Betriebssystem nicht mitgezählt.
Wenn es Karten wären, für die wenigstens die Chance der Existenz eines Treibers besteht...
Schreibt man oder lässt man sich halt einen Treiber erstellen.
---
Du hast überhaupt nicht verstanden was ich geschrieben habe!
Da steht nirgendwo, das Sun einen eigenen PCI-Standard hat - den hat Sun nicht!
So schätze ich das auch ein.
Gruß
escimo
EDIT: Obwohl Michael das Thema schon geschlossen hat, muss ich meinen Beitrag noch etwas hinzufügen. Diese Zeilen stammen aus der "OpenBoot 3.x Command Reference"
This chapter introduces OpenBoot as defined by IEEE Standard 1275-1994.,
Standard for Boot Firmware. OpenBoot firmware is executed immediately after
you turn on your system. The primary tasks of OpenBoot firmware are to:
- Test and initialize the system hardware
- Determine the hardware configuration
- Boot the operating system from either a mass storage device or from a
network - Provide interactive debugging facilities for testing hardware and software