- bookworm 4.18.1-1
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
s390_sthyi(2) | System Calls Manual | s390_sthyi(2) |
ИМЯ¶
s390_sthyi - эмулирует инструкцию STHYI
LIBRARY¶
Standard C library (libc, -lc)
СИНТАКСИС¶
#include <asm/sthyi.h> /* определения констант STHYI_* */ #include <sys/syscall.h> /* определения констант SYS_* */ #include <unistd.h>
int syscall(SYS_s390_sthyi, unsigned long function_code, void *resp_buffer, uint64_t *return_code, unsigned long flags);
Note: glibc provides no wrapper for s390_sthyi(), necessitating the use of syscall(2).
ОПИСАНИЕ¶
Системный вызов s390_sthyi() эмулирует инструкцию STHYI (Store Hypervisor Information). Он предоставляет информацию о ресурсах машины и её уровни виртуализации. В частности, возвращается тип ЦП и ёмкость, а также модель машины и другие свойства.
В аргументе function_code указывается какую функцию нужно выполнить. Поддерживаются следующие коды:
- STHYI_FC_CP_IFL_CAP
- Вернуть информацию о CP (Central Processor) и ёмкости IFL (Integrated Facility for Linux).
В аргументе resp_buffer указывается адрес буфера результата. При function_code равном STHYI_FC_CP_IFL_CAP, размер буфера должен быть равен странице (4K). Если системный вызов вернул 0, то буфер результата будет заполнен информацией о ёмкости ЦП. В противном случае содержимое буфера результата не меняется.
В аргументе return_code хранится код возврата инструкции STHYI; возможно одно из следующих значений:
- 0
- Успешно.
- 4
- Неподдерживаемый код функции.
Дополнительную информацию о return_code, function_code и resp_buffer смотрите по ссылкам, приведённым в ЗАМЕЧАНИЯХ.
Аргумент flags предназначен для будущих расширений, а пока его значение должно быть равно 0.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном выполнении (т. е. эмуляция прошла успешно), возвращаемое s390_sthyi() значение совпадает с кодом условия инструкций STHYI — значением в диапазоне [0..3]. Возвращаемое значение 0 означает, что информация о ёмкости ЦП сохранена в *resp_buffer. Возвращаемое значение 3 указывает на «неподдерживаемый код функции» и содержимое *resp_buffer не изменяется. Значения 1 и 2 зарезервированы.
В случае ошибки возвращается -1, а errno устанавливается в значение ошибки.
ОШИБКИ¶
- EFAULT
- Значение, указанное в resp_buffer или return_code, содержит некорректный адрес.
- EINVAL
- Значение, указанное в flags, не равно нулю.
- ENOMEM
- Не удалось выделить память для обработки информации о ёмкости ЦП.
- EOPNOTSUPP
- Некорректное значение в function_code.
ВЕРСИИ¶
Данный системный вызов появился в Linux 4.15.
СТАНДАРТЫ¶
Данный системный вызов есть только в Linux и доступен только на архитектуре s390.
ЗАМЕЧАНИЯ¶
Описание инструкции STHYI смотрите на странице документации.
При использовании интерфейса системного вызова буфер результата не имеет требований по выравниванию, описанных в инструкции STHYI.
Ядро кэширует результат (в Linux 4.16 каждую секунду). Последующие запуски системного вызова могут вернуть кэшированный ответ.
СМ. ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства был сделан Alexander Golubev <fatzer2@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Hotellook, Nikita <zxcvbnm3230@mail.ru>, Spiros Georgaras <sng@hellug.gr>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>
Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.
Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.
30 октября 2022 г. | Linux man-pages 6.03 |