Home Der PMMU-FunktionshandlerDer PMMU-Funktionshandler PMMUversionPMMUversion vmem_sizevmem_size

F.6 SetPageMode

Name: »SetPageMode« - PMMU Modus für einen Bereich setzen.
 
Nummer: 1
 
Deklaration: ULONG SetPageMode ( ULONG mode, ULONG start_address, ULONG length );
 
Beschreibung: Die Funktion setzt den PMMU-Modus für einen bestimmten Speicherbereich. Es gilt:
 
Parameter Bedeutung
   
mode Modus als Bit-Vektor
Bit 0 = SwapInhabit
Der Speicherbereich wird nicht ausgelagert.
Bit 1 = WriteProtect
Der Speicherbereich wird schreibgeschützt; Schreibversuche führen zu einem Busfehler.
Bit 2 = Used
Der Speicherbereich wird als benutzt gekennzeichnet. Hierdurch erhält er temporär eine höhere Priorität, und wird vorerst nicht ausgelagert.
Bit 3 = Modified
Der Speicherbereich wird als verändert markiert. Dadurch wird dieser Bereich auf jeden Fall auf die Platte geschrieben, bevor neue Daten an seine physikalische Adresse eingelesen werden.
Bit 4 = CacheInhabit
Die Prozessor-Caches werden für den angegebenen Bereich abgeschaltet.
start_address Anfangsadresse des Speicherbereichs
length Länge des gewünschten Bereichs

Hinweis: Die restlichen Bits sind reserviert und müssen auf Null gesetzt werden. Für die virtuelle Speicherverwaltung ist in erster Linie das SwapInhabit-Bit von Bedeutung, da es die Möglichkeit bietet, bestimmte Speicherbereiche gegen Auslagern abzusichern.
 
Beim Schreibschützen von Speicherbereichen ist unbedingt zu beachten, daß der Speicher in Seiten unterteilt ist, die die kleinste Einheit für einen Schreibschutz darstellen. Es muß sichergestellt werden, daß sich der Schreibschutz nicht auch auf einen Bereich erstreckt, der nicht geschützt werden darf, weil er beispielsweise nicht zum eigenen Programm gehört.
 
Ergebnis: Die Funktion liefert bei fehlerfreier Ausführung den Wert Null zurück. Anderenfalls wird ein Wert zurückgeliefert, bei dem die Bits gesetzt sind, die nicht manipuliert werden konnten.
 
Gruppe: PMMU-Funktionshandler
 
Querverweis: ClearPageMode   GetHdv_inuse   GetPageSize   pmem_size   PMMUversion   vmem_size
 

Home Der PMMU-FunktionshandlerDer PMMU-Funktionshandler PMMUversionPMMUversion vmem_sizevmem_size