k_cpuextintr_ctl Kernel-Service
Zweck
Führt Operationen zur Steuerung externer CPU-Interrupts aus
Syntax
Beschreibung
Diese Kernel-Services bieten die Möglichkeit, den Status externer Interrupts für die von der CPU-Ressourcengruppe beschriebenen CPUs zu aktivieren, zu inaktivieren und abzufragen. Das Aktivieren oder Inaktivieren eines externen CPU-Interrupts kann sich auf die Zustellung externer Interrupts an die CPU auswirken. Normalerweise können auf mehreren CPU-Systemen externe Interrupts an jede aktive CPU zugestellt werden, und die Verteilung auf die CPUs wird durch eine vordefinierte Methode bestimmt. Jeder externe Interrupt kann nur an eine einzige CPU übermittelt werden, wenn dessen Interruptpriorität höher ist als die aktuelle externe Interruptpriorität der CPU. Wenn externe Interrupts über diese Schnittstelle inaktiviert werden, wird jede externe Interruptpriorität, die weniger bevorzugt als INTMAX ist, blockiert, bis die Interrupts wieder aktiviert werden. Dieser Kernel-Service ist nur auf selektive Hardwaretypen anwendbar.
Parameter
| Element | Beschreibung |
|---|---|
| Befehl | Gibt die Operation für die von der CPU-Ressourcengruppe angegebene CPU an. Einer der folgenden Werte, die in <sys/intr.h> definiert sind, kann verwendet werden: Die folgenden Befehle werden unterstützt:
|
| cpuset | Referenz auf eine CPU-Ressourcengruppe. Wenn dieser Kernel-Service erfolgreich zurückgegeben wird, werden die CPUs, für die die externe Unterbrechungssteueroperation ausgeführt wurde, in der CPU-Ressourcengruppe festgelegt. Die durch diesen Parameter cpuset angegebenen CPUs sind logische CPU-IDs. |
| Flags | Immer 0 oder EINVAL_INTR_DIS_BAD_FLAGS wird zurückgegeben. |
Sicherheit
Der Aufrufende muss Rootberechtigung mit der Berechtigung CAP_NUMA_ANHÄNGEN oder PV_KER_CONF in der RBAC-Umgebung haben.
Ausführungsumgebung
Der k_cpuextintr_ctl -Kernel-Service kann nur aus einer Prozessumgebung aufgerufen werden.
Rückgabewerte
Nach erfolgreichem Abschluss gibt der k_cpuextintr_ctl -Kernel-Service eine 0 zurück. Ist dies nicht erfolgreich, wird einer der folgenden Kerrno -Werte zurückgegeben.
| Element | Beschreibung |
|---|---|
| Kernelnummer | Beschreibung |
| EINVAL_EXTINTR_BAD_BEFEHL | Der Befehlswert ist ungültig. |
| EINVAL_EXTINTR_BAD_FLAGS | Der Flagwert ist unbekannt. |
| EINVAL_EXTINTR_BAD_CPUSET | cpuset verweist auf NULL. |
| EINVAL_EXTINTR _NO_RSET | cpuset ist leer. |
| ENOTSUP_EXTINTR_AUFRUFPROGRAMM | Der Kernel-Service wird aus der Interruptumgebung aufgerufen. |
| ENOSYS_EXTINTR_PLATTFORM | Diese Funktion ist auf der Plattform nicht implementiert. |
| EPERM_EXTINTR_OPER | Die Berechtigung des Aufrufenden reicht nicht aus, um die angeforderte Operation auszuführen. |