Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sash.wx200r(8) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

nvram(7)

prom(8)

sash(8)                         (Nur RM400)                         sash(8)

NAME
     sash - Standalone-Shell zum Booten von Reliant UNIX auf einer RM400

SYNTAX
     Die SASH wird von der RM400-Firmware entweder manuell oder automatisch
     aufgerufen.

BESCHREIBUNG
     Mit der Standalone-Shell (SASH) wird das Betriebssystem Reliant UNIX
     auf RM400-Systemen geladen. Die SASH wird durch die RM400-Firmware von
     einer bestimmten Festplatte, einer CD-ROM oder einem Band in den
     Hauptspeicher geladen. Die Kommandos werden dann von der SASH verar-
     beitet, um das Betriebssystem zu booten und die Steuerung nach der
     Beendigung des Bootens an das Betriebssystem zu übergeben.

     Zum Booten eignen sich SCSI-E/A-Platten (IOS), CD-ROM- und Bandlauf-
     werke. Außerdem kann die SASH über LAN gebootet werden. Danach kann
     die SASH ein beliebiges Plattenlaufwerk mit einem ufs-Dateisystem zum
     Booten der ausführbaren Systemkerndatei benutzen, die auf diesem Gerät
     enthalten ist. Dieses Gerät muß nicht zuvor eingehängt werden.

     Von einem Bandgerät wird im Normalfall die Betriebssystem-Software
     installiert. Es besteht allerdings auch die Möglichkeit, nur einen
     Systemkern von einer CD-ROM bzw. von einem Bandgerät zu laden. Diese
     Möglichkeit eignet sich zur Wiederherstellung des Systems, wenn auf
     der Boot-Platte ein Defekt aufgetreten ist; dadurch wird verhindert,
     daß die SASH Leseoperationen auf die Platte ausführt.

     Nach dem Laden des Systemkern-Abbilds wird auf der ersten Seite des
     Speichers (bei 4 KByte) noch vor dem Systemkern-Code ein Argumentvek-
     tor eingerichtet. Hier werden Optionen wie z. B. das Reliant UNIX
     Root-Gerät, der Typ des Root-Dateisystems etc. an das Betriebssystem
     weitergeleitet. Nach dem Einrichten dieses Vektors startet die SASH
     die Ausführung des Systemkerns, indem sie zu seinem Einsprungspunkt
     verzweigt. Abschließend wird die SASH durch das Betriebssystem aus dem
     Speicher entfernt.

     Beim Starten des Systems versucht die SASH eine Gerätedatei namens
     STARTUP an verschiedenen Stellen zu Diagnosezwecken zu finden. Wenn
     die Datei gefunden wird, wird die normale Startprozedur abgebrochen
     und ein spezieller Teil der SASH, die Test-und-Diagnose-Shell
     (TDSH/TDFSH), aktiviert. Im Normalfall geschieht dies bei der Durch-
     führung von Diagnosetests durch den Kundendienst. Die Datei muß in
     einem speziellen Dateisystem enthalten sein und wird auf der Diskette
     und der Festplatte (Swap-Bereich) gesucht. Wenn die Datei nicht gefun-
     den wird, wird so lange die normale Startprozedur durchgeführt, bis
     der SASH-Kommando-Parser aufgerufen oder das Betriebssystem Reliant
     UNIX erfolgreich gebootet wird.

     Der SASH-Kommando-Parser gibt das Prompt sash: aus, die RM400-Firmware
     dagegen das Prompt >>. Die Kommandos der SASH sind nachfolgend mit
     ihrer Syntax sowie einer Beschreibung sämtlicher optionalen und



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

     obligatorischen Argumente aufgeführt.

     Bei fast jedem Drücken von ^D oder ^C muß die SASH die Steuerung wie-
     der an die RM400-Firmware zurückgeben. Sie kann dann erneut von diesem
     Punkt aus geladen werden.

   Die SASH-Kommandos
     Die folgende Liste enthält die Kommandos und Optionen der SASH, die
     beim Prompt sash: eingegeben werden können. Die Kommandos sind in
     alphabetischer Reihenfolge aufgeführt. Die erwähnten Umgebungsvaria-
     blen werden unter nvram(7) beschrieben.

     Die Variablen number oder address, die in der nachfolgenden Liste ent-
     halten werden, können eines der folgenden Formate haben:
     ______________________________________________________________________
    |   Format         |    Beschreibung                                  |
    |__________________|__________________________________________________|
    |   decbase        |    decbase ist eine aus Dezimalziffern (0..9)    |
    |                  |    bestehende Zahl                               |
    |   0xhexbase      |    hexbase ist eine aus Hexadezimalziffern       |
    |                  |    (0..9a..f) bestehende Zahl                    |
    |   0octbase       |    octbase ist eine aus Oktalziffern (0..7)      |
    |                  |    bestehende Zahl                               |
    |__________________|__________________________________________________|

     Beispiel:

     Es spielt keine Rolle, ob für number der Wert 0xff, 0377 oder 255
     angegeben wird.

     Die Variable range in der nachfolgenden Liste bezieht sich auf einen
     Speicherbereich und kann folgende Formate haben:
     ______________________________________________________________________
    |   Range          |    Beschreibung                                  |
    |__________________|__________________________________________________|
    |   base           |    Gibt den Inhalt der Speicheradresse base an.  |
    |   base#count     |    Gibt den Inhalt des Speicherbereichs an, der  |
    |                  |    bei base beginnt und bei base + count endet.  |
    |   base:limit     |    Gibt den Inhalt des Speicherbereichs an, der  |
    |                  |    bei base beginnt und bei limit endet.         |
    |__________________|__________________________________________________|

     Beispiel:

     Die Angaben 0xa0400000#36 und 0xa0400000:0xa0400020 für range stehen
     für ein und denselben Speicherbereich, der bei der Speicheradresse
     0xa+0400000 (hex) beginnt und mit der Speicheradresse 0xa0400020 (hex)
     endet.

     Die Variable length in der nachfolgenden Liste steht für eine Länge,
     die über die folgenden Zeichen angegeben werden kann:



Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

     ______________________________________________________________________
    |   Zeichen        |    Länge                                         |
    |__________________|__________________________________________________|
    |        -b        |    Byte (8 Bit)                                  |
    |        -h        |    Halbwort (16 Bit)                             |
    |        -w        |    Wort (32 Bit) (Standard)                      |
    |__________________|__________________________________________________|
     ______________________________________________________________________

     ⊕ auto

          Lädt automatisch die Datei, die der Umgebungsvariable bootfile
          zugeordnet ist. Das Gerät, von dem diese Datei geladen wird, muß
          bereits bootfile zugeordnet sein.

          Beispiel:

          Wenn der Umgebungsvariablen bootfile der Wert dkncr(0,0,10)sash
          zugeordnet ist, wird die SASH von der Festplatte #0 aus dem
          Bereich #10 geladen.

     ______________________________________________________________________

     ⊕ boot [-n] [-f file] [args]

          Lädt eine Datei vom angegebenen Gerät und führt sie aus.

          -n        Nur für die SNI-interne Entwicklung. Die ausführbare
                    Datei des Betriebssystems wird geladen, aber nicht
                    gestartet. Nachdem die SASH die ausführbare Datei gela-
                    den hat, kehrt sie zum Kommando-Parser zurück. Bei
                    einem nachfolgenden Boot-Kommando muß dann von SASH
                    eine andere ausführbare Datei geladen und/oder gestar-
                    tet werden. Dieses Kommando ist immer dann nützlich,
                    wenn zusätzlich zu einem Fehlersuch-Monitor eine aus-
                    führbare Datei geladen werden soll. Eine mit dieser
                    Option geladene ausführbare Datei kann später mit dem
                    Kommando go gestartet werden.

          -f file   Gibt den Namen der zu bootenden Datei an. Wenn kein
                    Dateiname angegeben wird, lädt das Kommando boot die
                    Datei, die der Umgebungsvariablen bootfile zugeordnet
                    ist. Der Dateiname selbst kann den Namen des Geräts
                    enthalten, in dem die Datei enthalten ist. Wenn kein
                    Gerät angegeben wird, wird der Wert der Umgebungsvaria-
                    blen path dem Dateinamen vorangestellt.








Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

                    Der Dateiname kann eines der folgenden Formate haben:
________________________________________________________________________________
| Gerät  |  Format                                                             |
|________|_____________________________________________________________________|
| Band   |  tpncr([hostadapternumber],[SCSIID],filenumber)                 |
|        |  oder                                                               |
|        |  tpncr([hostadapternumber],[SCSIID],)filename                   |
|________|_____________________________________________________________________|
| Platte |  dkncr([hostadapternumber],[SCSIID],[partitionnumber])filename |
|________|_____________________________________________________________________|

                    Wenn eines der optionalen Argumente nicht angegeben
                    wird, wird sein Wert auf 0 gesetzt.

          args      Argumente, die bei einem sofortigen Start an das geboo-
                    tete Abbild weitergeleitet werden sollen. Argumenten,
                    die mit einem Bindestrich ("-") beginnen, muß ein wei-
                    terer Bindestrich vorangestellt werden; damit wird dem
                    SASH-Kommando-Parser mitgeteilt, daß es sich nicht um
                    eine Boot-Option handelt. Der zusätzliche Bindestrich
                    wird vor der Übergabe des Arguments an das Programm
                    wieder gelöscht.

          Beispiel:

          Im folgenden Beispiel wird die Datei unix von Partition #0 der
          Platte disk#0, die an host_adapter#0 angeschlossen ist, geladen
          und dann im Betriebszustand S ausgeführt:

          sash: boot -f dkncr(,,)unix initarg=-s

     ______________________________________________________________________

     ⊕ cat [file1 file2 ... fileN]

          Inhalt der aufgeführten Datei(en) ausgeben.

          Wenn der angegebene Dateiname keine Gerätebezeichnung enthält,
          wird die Umgebungsvariable path der Datei vorangestellt.

     ______________________________________________________________________

     ⊕ cp [-b blocksize] [-c count] file1 file2

          Kopiert den Inhalt von file1 nach file2.

          file1 ist die zu kopierende Datei und file2 die Datei, in die
          file1 kopiert werden soll. file1 und file2 können zeichenorien-
          tierte Geräte (raw) sein.





Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

          Während der Ausführung dieses Kommandos wird für jeden übertrage-
          nen Datensatz ein Punkt (.) auf dem Bildschirm dargestellt.

          -b blocksize
                    blocksize steht für die Anzahl der Bytes, die bei jedem
                    Lese-/Schreibzugriff von file1 auf file2 kopiert wer-
                    den. Auf blocksize kann eines der folgenden Zeichen mit
                    folgender Bedeutung folgen:
                    ___________________________________________________________
                   | Zeichen|  Bedeutung                                      |
                   |________|_________________________________________________|
                   |  b, B  |  blocksize wird mit 512 multipliziert           |
                   |  k, K  |  blocksize wird mit 1024 (1 KByte) multipliziert|
                   |________|_________________________________________________|

                    HINWEIS: Zwischen blocksize und den nachfolgenden Mul-
                    tiplikatorzeichen darf kein Leerzeichen stehen!

                    Ist -b nicht angegeben, wird blocksize standardmäßig
                    auf 512 Byte gesetzt.

                    Für zeichenorientierte Geräte (raw) sollte blocksize
                    ein ganzzahliges Vielfaches der physischen Datensatz-
                    länge des Geräts betragen.

          -c count  Gibt die maximale Anzahl der zu übertragenden Bytes an.
                    Wenn -c nicht angegeben wird, wird der Kopiervorang
                    beim EOF-Zeichen von file1 beendet.

          Beispiel:

          Um file3 (die vierte Datei; file0 ist die erste Datei) auf dem
          Streamer-Band in Partition 1 der Platte zu kopieren, geben Sie
          folgendes ein:

          sash: cp -b 16k tpncr(,6,3) dkncr(,,1)

     ______________________________________________________________________

     ⊕ disable [consoledev]

          Unterbindet die Eingabe von und die Eingabe auf das angegebene
          Konsolgerät. Wenn Sie disable ohne Argumente benutzen, werden die
          aktuell aktivierten Konsolgeräte angezeigt.

          Beispiel:

          disable tty(1) deaktiviert den seriellen Remote-Anschluß tty(1).






Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

     ______________________________________________________________________

     ⊕ dump [length] [format] [range]

          Formatiert den Speicherinhalt und zeigt ihn an.

          length    ist ein Zeichen, das die Länge des Speicherbereichs
                    angibt, von dem ein Speicherabzug erstellt werden soll.

          format    ist ein Zeichen, das die Länge des Speicherbereichs
                    angibt, von dem ein Speicherabzug erstellt werden soll.
                    _______________________________________
                   | Zeichen|  Format                     |
                   |________|_____________________________|
                   |   -B   |  binär                      |
                   |   -c   |  ASCII-Zeichen              |
                   |   -d   |  dezimal                    |
                   |   -o   |  oktal                      |
                   |   -u   |  Dezimalzahl ohne Vorzeichen|
                   |   -x   |  hexadezimal (Standard)     |
                   |________|_____________________________|

          range     ist eine gültige Adresse im Speicher, die durch Dezi-
                    malziffern begrenzt sein kann.

          Beispiel:

          Das folgende Beispiel zeigt einen durch Halbworte angegebenen,
          auf base#count gesetzten range. Da für format kein Argument ange-
          geben wurde, wird das Standardformat (hex) benutzt.

          sash: dump -h 0xbfc04000#5
          0xbfc04000:    8dce     514       6    6900     1a3

     ______________________________________________________________________

     ⊕ enable [consoledev]

          Ermöglicht die Eingabe von und die Ausgabe auf das angegebene
          Konsolgerät durch den SASH-Kommando-Parser.

          Wenn Sie enable ohne Argumente eingeben, werden die aktuell akti-
          vierten Konsolgeräte angezeigt.

          Beispiel:

          enable tty(1) aktiviert den seriellen Remote-Anschluß tty(1).







Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

     ______________________________________________________________________

     ⊕ end

          Beendet den Kommando-Parser der SASH und gibt die Steuerung an
          den Prozeß zurück, durch den die SASH aufgerufen worden war.

          Der Rückkehrwert entspricht dem letzten Rückkehrwert des Program-
          mes, das von der SASH gebootet und ausgeführt worden ist.

     ______________________________________________________________________

     ⊕ fill [length] [-v val] [range]

          Füllt den angegebenen Adreßbereich mit val.

          length    ist ein Zeichen, über das die Länge des zu füllenden
                    Speicherbereichs angegeben wird.

          val       ist eine Zahl, mit der der Speicherbereich gefüllt wer-
                    den soll.

          range     ist eine gültige Adresse im Speicher, die durch Dezi-
                    malzahlen begrenzt sein kann.

          Beispiel:

          Im folgenden Beispiel wird ein Speicherbereich mit einem Wort vom
          Wert 0xff00ff00 gefüllt; der Speicherbereich beginnt bei
          0xafffffff und besteht aus zehn 32-Bit-Speicherstellen:

          sash: fill -w -v 0xff00ff00 0xafffffff#10

     ______________________________________________________________________

     ⊕ g [length] [address]

          Zeigt den Inhalt einer einzelnen Speicherstelle im Dezimal-,
          Hexadezimal- und ASCII-Zeichenformat an.

          length    ist ein Zeichen, über das die Länge des anzuzeigenden
                    Speicherbereichs angegeben wird.

          address   ist entweder eine einzelne Speicheradresse oder ein
                    Registername.









Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

          Beispiel:

          sash: g 0xa0013cfc

          address       value in decimal   value in hex   value in ASCII
          0xa0013cfc:   -192471552         0x8e200000     '\'

     ______________________________________________________________________

     ⊕ go [address] [-c args]

          Hiermit wird eine ausführbare Datei gestartet, die zuvor mit dem
          Kommando boot in den Speicher geladen worden ist.

          address   Gibt die Adresse an, an der die Ausführung eines zuvor
                    geladenen Abbilds gestartet werden soll. Dies ist immer
                    dann nützlich, wenn mehrere Abbilder geladen worden
                    sind und eine Adresse ausgewählt werden soll. Wenn die-
                    ses Argument nicht angegeben wird, wird das zuletzt
                    geladene Abbild gestartet.

          -c args   Wird zur Übergabe von Argumenten an das Programm
                    benutzt. Sämtliche Argumente, die auf diese Optionen
                    folgen, werden an das Programm weitergeleitet; Argumen-
                    ten, die mit einem Bindestrich beginnen, muß kein
                    zusätzlicher Bindestrich vorangestellt werden.
     ______________________________________________________________________

     ⊕ help [commandlist]
     ⊕ ? [commandlist]

          Zeigt die Syntax für sämtliche Kommandos in commandlist an.

          commandlist
                    besteht aus einem oder mehreren Kommandos, die durch
                    Leerzeichen voneinander getrennt sind.

          Wenn Sie commandlist nicht angeben, gibt das Kommando help die
          Syntax für alle Kommandos aus. Statt des Kommandonamens help kön-
          nen Sie auch ein Fragezeichen (?) eingeben.

     ______________________________________________________________________

     ⊕ inittod [secs]

          Initialisiert den Uhrenchip.

          secs      entspricht der Anzahl der Sekunden seit 1972. Wenn secs
                    nicht angegeben wird, wird standardmäßig der Wert Null





Seite 8                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

                    eingesetzt.

          Der Uhrenchip muß auf jeden Fall in Funktion sein, da andernfalls
          das Betriebssystem nicht ordnungsgemäß funktioniert. Dieses Kom-
          mando wird normalerweise durch den Hersteller ausgeführt.

          HINWEIS: Dieses Kommando kann nur aufgerufen werden, wenn die
          Umgebungsvariable bootmode auf d gesetzt ist.

          Beispiel:

          Dieses Beispiel beschreibt die Prozedur zur Initialisierung des
          Uhrenchips.

          1. Geben Sie das Kommando inittod ohne Argumente ein.

          2. Rufen Sie nach dem Starten des Betriebssystems das Kommando
             date(1) auf.
     ______________________________________________________________________

     ⊕ load [chardevice]

          Nur zum SNI-internen Gebrauch (Kundendienst).

          Mit dem Kommando load können Sie ein Speicherabbild über eine
          serielle Leitung von einem System aus laden, auf dem das Programm
          tip läuft.

     ______________________________________________________________________

     ⊕ p [length] [address] [value]

          Setzt den angegebenen Wert an eine einzelne Speicherstelle.

          length    ist ein Zeichen, das die Länge der zu füllenden Spei-
                    cherstelle angibt.

          address   ist die Adresse einer einzelnen Speicherstelle.

          value     ist der Wert, auf den Sie die Adresse setzen möchten.
     ______________________________________________________________________

     ⊕ printenv [varlist]

          Zeigt die Werte der Umgebungsvariablen in varlist an.

          varlist   ist eine spezielle Umgebungsvariable bzw. mehrere durch
                    Leerzeichen voneinander getrennte Variablen. Wenn keine
                    Umgebungsvariablen angegeben wurden, zeigt printenv





Seite 9                      Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

                    sämtliche aktuell definierten Umgebungsvariablen an.

          Beispiel:

          Im folgenden Beispiel wird der Wert der Umgebungsvariablen
          netaddr ausgegeben.

          sash: printenv netaddr

          netaddr = 141.29.51.3

     ______________________________________________________________________

     ⊕ prtod

          Gibt den Inhalt des Uhrzeitregisters im Uhrenchip aus.

          Der angezeigte Hex-Wert entspricht der Anzahl der Sekunden, die
          seit 1972 vergangen sind.

          Wenn Sie die Funktionsfähigkeit des Uhrenchips überprüfen möch-
          ten, rufen Sie dieses Kommando zweimal auf. Wenn Sie das Kommando
          aufrufen und dann erneut nach fünf Sekunden, sollte der beim
          zweiten Mal angezeigte Wert um ca. 5 über dem ersten liegen. Wenn
          der angezeigte Wert sich nicht ändert oder ein kleinerer Wert
          angezeigt wird, rufen Sie das Kommando inittod auf.

          Beispiel:

          Das folgende Beispiel zeigt den Hex-Wert für die Anzahl der
          Sekunden seit 1972.

          sash: prtod

          tod = 0x24bdda99

     ______________________________________________________________________

     ⊕ setenv [var] [value]

          Richtet eine neue Umgebungsvariable ein oder ändert den Wert
          einer vorhandenen Umgebungsvariablen.

          var       ist die Umgebungsvariable, die Sie einstellen möchten.

          value     ist der Wert, auf den Sie die Umgebungsvariable ein-
                    stellen möchten.

          Umgebungsvariablen werden als ASCII-Zeichenketten dargestellt.
          Die aktuellen Werte der Umgebungsvariablen werden an die




Seite 10                     Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

          Programme weitergeleitet, die durch die SASH gebootet werden.

          Beispiel:

          Im folgenden Beispiel wird die Umgebungsvariable rbaud auf 9600
          eingestellt.

          sash: setenv rbaud 9600

     ______________________________________________________________________

     ⊕ sload [-a] [-b] [consoledev]

          Akzeptiert eine Teilmenge des Motorola S-Record-Protokolls. Es
          werden die Datensatztypen 0, 3 und 7 akzeptiert.

          -a        Deaktiviert das Senden von Bestätigungen. Wenn Sie -a
                    nicht angeben, gibt sload ASCII ACK als Antwort für
                    jeden empfangenen S-Record mit gültiger Prüfsumme aus.
                    sload antwortet mit ASCII NACK für alle Datensätze mit
                    unkorrekter Prüfsumme.

          -b        Kündigt sload kombinierte Datensätze an, die sowohl
                    ASCII- als auch binäre Daten enthalten. Bei der Angabe
                    von -b erwartet sload kombinierte Datensätze, wie sie
                    durch das Programm sdownload generiert werden. Durch
                    die Verwendung dieser kombinierten Datensätze erhöht
                    sich der Durchsatz bei seriellen Datenübertragungen um
                    ca. das Doppelte.

          consoledev
                    Der Name des Konsolgeräts.

          Mit dem SPP-Kommando convert können Abbilder von S-Records
          erzeugt werden.

          Beispiel:

          Das folgende Beispiel zeigt das Kommando zum Laden der S-Records
          über tty(0).

          sash: sload tty(1)

          sload wartet jetzt darauf, daß die S-Records mit sdownload über
          den tty(0)-Anschluß geladen werden.









Seite 11                     Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

     ______________________________________________________________________

     ⊕ spin [[-i count1] [-c count2] [-v value] -(r|w)
           (b|h|w)  address]

          Führt die Lade- oder Speicherungsoperationen an der angegebenen
          Adresse und in der angegebenen Datenlänge (Byte, Halbwort oder
          Wort) durch.

          -i count1 count1 ist ein Wiederholungszähler, der jede "Unter-
                    gruppe" wie angegeben ausführt und dies dann count1-mal
                    wiederholt.

          -c count2 count2 ist ein numerischer Wert, der die Anzahl der
                    Wiederholungen bzw. Kopien für alle nachfolgenden Lese-
                    zugriffe angibt.

          -v value  value ist ein numerischer Wert, der die Anzahl der Wie-
                    derholungen bzw. Kopien für alle nachfolgenden Schreib-
                    zugriffe angibt.

          address   ist die Hex-Adresse, auf die ein Lesezugriff erfolgen
                    soll.

          count ist standardmäßig auf 1 eingestellt und value auf 0. Ein
          negativer Zähler wird als "unendlich oft" interpretiert.

          Durch die Kombination der Optionen -r und -w können Sie mehrere
          Schreib- und/oder Lesezugriffe hintereinander ausführen; als
          Datenlänge kann Byte (b), Halbwort (h) oder Wort (w) benutzt wer-
          den.

          Beispiel:

          Im nachfolgenden Beispiel wird der Wert 9200 100 Mal an die
          Adresse 0xa0300000 geschrieben; dann wird Adresse 0xa0300004 100
          Mal gelesen und schließlich die ganze Operation 20 Mal wiede-
          rholt.

          sash: spin -i 20 -c 100 -v 9200 0xa0300000 -r 0xa0300004

     ______________________________________________________________________

     ⊕ tdsh

          Nur zum SNI-internen Gebrauch (Kundendienst).

          Ruft eine spezielle Test- und Diagnose-Shell auf. An dieser
          Stelle wird beschrieben, wie Sie wieder zum SASH-Prompt zurück-
          kehren.




Seite 12                     Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

          ____________________________________________
         | Bei der Anzeige|  geben Sie folgendes ein:|
         |________________|__________________________|
         |        &       |  e und RETURN            |
         |        %       |  !;e und RETURN          |
         |________________|__________________________|

     ______________________________________________________________________

     ⊕ unsetenv [var]

          Löscht eine Umgebungsvariable.

          var       ist die zu löschende Umgebungsvariable.

          Beipiel:

          Im folgenden Beispiel wird die Definition der Umgebungsvariablen
          rbaud auf ihren früheren Wert zurückgesetzt.

          sash: unsetenv rbaud

     ______________________________________________________________________

     ⊕ warm

          Führt einen Warmstart des Systems durch. Mit diesem Kommando kön-
          nen Sie vor dem Neustart einen Speicherabzug erstellen.

          Der SASH-Monitor sucht nach dem Neustartblock an der Adresse
          0x400 im physischen Speicher. Der Neustartblock wird unter den
          folgenden Bedingungen als gültig angesehen:

          -  (offset 0) Wort 0 = 0xfeedface

          -  (offset 8) Wort 2 = 0

          -  (Offset 12) Wort 3 = Die Summe aus den 32-Bit-
             Zweierkomplementen der ersten 32 Wörter, auf die Wort 1 (Off-
             set 4) des Neustartblocks zeigt.

          Das Kommando warm benutzt die Standardwerte, die im Neustartblock
          des PROM enthalten sind (siehe unten):











Seite 13                     Reliant UNIX 5.44               Gedruckt 11/98

sash(8)                         (Nur RM400)                         sash(8)

     /*
      * Restart block -- monitor support for "warm" starts
      *
      * prom will perform "warm start" if restartblk is properly set up:
      *      rbmagic == RESTARTMAGIC
      *      rboccurred == 0
      *      rbchecksum == 2's complement, 32-bit sum of first 32, 32-bit words
      */
      define RESTARTMAGIC   0xfeedface
      define RESTARTCSUMCNT 32         /* chksum 32 words of restart routine */
      define RESTARTADDR    0xa0000400 /* prom looks for restart block here */
      define RBBPADDR       (RESTARTADDR+24)  /* address of rbbpaddr */

      ifdef LANGUAGEC
      struct restartblk
      {                                                             :
          int  rbmagic;            /* magic pattern */
          int  (*rbrestart)();     /* restart routine */
          int  rboccurred;         /* to avoid loops on restart failure */
          int  rbchecksum;         /* checksum of 1st 32 wrds of restrt */
          char *rbfbss;            /* start of prom bss and stack area */
          char *rbebss;            /* end of prom bss and stack area */
          /*
           * These entries are for communication between the debug monitor
           * and the client process being debugged
           * NOTE: a return value of -1 from (*rbvtop)() is distinguished
           * to indicate that a translation could not be made.
           */
          int  (*rbbpaddr)();      /* breakpoint handler */
          int  (*rbvtop)();        /* virtual to physical conversion rtn */
          /*
           * config table goes here
           */
      };
      endif LANGUAGEC

SIEHE AUCH
     nvram(7), prom(8).
















Seite 14                     Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026