Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       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 смотрите на странице документации ⟨https://www.ibm.com/support
       /knowledgecenter/SSB27U_6.3.0/com.ibm.zvm.v630.hcpb4/hcpb4sth.htm⟩.

       При использовании интерфейса системного вызова буфер результата  не  имеет  требований  по
       выравниванию, описанных в инструкции STHYI.

       Ядро  кэширует  результат  (в  Linux  4.16 каждую секунду). Последующие запуски системного
       вызова могут вернуть кэшированный ответ.

СМ. ТАКЖЕ

       syscall(2)

ПЕРЕВОД

       Русский   перевод   этой   страницы   руководства    был    сделан    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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.