krs_getassociativity (Subroutine)
Zweck
Ruft die Hardwareassoziativitätswerte für eine Ressource ab.
Syntax
#include <sys/rset.h>
int krs_getassociativity (type, id, assoc_array, array_size)
unsigned int type;
unsigned int id;
unsigned int *assoc_array;
unsigned int array_size;Beschreibung
Die Subroutine krs_getassoziativität gibt das Array der Hardwareassoziativitätswerte für eine angegebene Ressource zurück.
Dies ist eine Subroutine für spezielle Zwecke, die für spezielle Rootanwendungen bestimmt ist, die die Informationen zum Hardwareassoziativitätswert benötigen. Die Subroutinen krs_getinfo, krs_getradund krs_numrads werden für typische Anwendungen zur Erkennung der Systemhardwaretopologie bereitgestellt.
Der aufrufende Prozess muss Rootberechtigung haben, um Werte für die Hardwareassoziativität abrufen zu können.
Parameter
| Element | Beschreibung |
|---|---|
| Typ | Gibt den Ressourcentyp an, dessen Assoziativitätswerte angefordert werden. Der einzige Wert, der zum Abrufen von Werten für einen Prozessor unterstützt wird, ist R_PROCS. |
| id | Gibt die ID der logischen Ressource an, deren Assoziativitätswerte angefordert werden. |
| Assoc_array | Gibt die Adresse eines Arrays von ganzen Zahlen ohne Vorzeichen an, um die Assoziativitätswerte zu empfangen. |
| Array_Größe | Gibt die Anzahl der ganzen Zahlen ohne Vorzeichen in Assoc_arrayan |
Rückgabewerte
Nach erfolgreicher Beendigung gibt die Subroutine krs_getassoziativität den Wert 0 zurück. Das Parameterarray Assoc_array enthält die Assoziativitätswerte der Ressource. Der erste Eintrag im Array gibt die Anzahl der zurückgegebenen Assoziativitätswerte an. Wenn das Hardwaresystem keine Systemtopologiedaten bereitstellt, wird der Wert 0 im ersten Array-Eintrag zurückgegeben. Ist dies nicht erfolgreich, werden eine oder mehrere der folgenden Informationen zurückgegeben:
| Element | Beschreibung |
|---|---|
| EINVAL | Eine der folgenden Bedingungen
ist aufgetreten:
|
| ENODEW | Die im Parameter ID angegebene Ressource ist nicht vorhanden. |
| EFAULT | Ungültige Adresse. |
| EPERM | Der aufrufende Prozess hat keine Rootberechtigung. |