vm_gfree-Kernel-Service

Zweck

Gibt einen Bereich des globalen Speichers im Kernel frei, der zuvor dem VM-Gallok -Kernel-Service zugeordnet wurde.

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>

int vm_gfree (ulong  eaddr, vmsize_t  size)

Beschreibung

Der vm_gfree -Kernelservice gibt eine globale Speicherregion frei, die zuvor dem VM-Gallok -Kernelservice zugeordnet wurde. Die Startadresse und -größe müssen genau dem entsprechen, was zuvor vom VM-Gallok -Kernel-Service zugeordnet wurde. Es ist nicht zulässig, einen Teil einer zuvor zugeordneten Region im Bereich VM-Gallok freizugeben.

Alle Ein-/Ausgaben für die freigegebene Region müssen in den Quiescemodus versetzt werden, bevor der vm_gfree -Kernel-Service aufgerufen wird.

Parameter

Element Beschreibung
E-Adresse Startadresse der zu freien Region.
Größe Die Größe der Region in Byte, die freigegeben werden soll.

Ausführungsumgebung

Der Kernel-Service vm_gfree kann nur über Prozessumgebung aufgerufen werden.

Rückgabewerte

Element Beschreibung
0 Erfolgreiche Ausführung. Die Region wurde freigegeben.
EINVAL Ungültige Größe oder Startadresse angegeben. Dies könnte bedeuten, dass die Region außerhalb des gültigen Bereichs des VM-Gallok -Heapspeichers liegt, zuvor nicht mit VM-Gallokzugeordnet wurde oder nicht genau mit einer vorherigen Zuordnung von VM-Gallokübereinstimmt.