Scroll to navigation

S390_STHYI(2) System Calls Manual S390_STHYI(2)

ИМЯ

s390_sthyi - эмулирует инструкцию STHYI

СИНТАКСИС

#include <asm/unistd.h>
int s390_sthyi(unsigned long function_code, void *resp_buffer,
               uint64_t *return_code, unsigned long flags);

ОПИСАНИЕ

Системный вызов s390_sthyi() эмулирует инструкцию STHYI (Store Hypervisor Information). Он предоставляет информацию о ресурсах машины и её уровни виртуализации. В частности, возвращается тип ЦП и ёмкость, а также модель машины и другие свойства.

В аргументе function_code указывается какую функцию нужно выполнить. Поддерживаются следующие коды:

0
Вернуть информацию о CP (Central Processor) и ёмкости IFL (Integrated Facility for Linux).

The resp_buffer argument specifies the address of a response buffer. If the system call returns 0, the response buffer will be filled with CPU capacity information. Otherwise, the response buffer's content is unchanged.

В аргументе 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 устанавливается соответствующим образом.

ОШИБКИ

Значение, указанное в resp_buffer или return_code, содержит некорректный адрес.
Значение, указанное в flags, не равно нулю.
Не удалось выделить память для обработки информации о ёмкости ЦП.
Некорректное значение в function_code.

ВЕРСИИ

Данный системный вызов появился в Linux 4.15.

СООТВЕТСТВИЕ СТАНДАРТАМ

Данный системный вызов есть только в Linux и доступен только на архитектуре s390.

ЗАМЕЧАНИЯ

В glibc нет обёртки для данного системного вызова; запускайте его с помощью syscall(2).

For details of the STHYI instruction, see https://www.ibm.com/support/knowledgecenter/SSB27U_6.3.0/com.ibm.zvm.v630.hcpb4/hcpb4sth.htm.

СМ. ТАКЖЕ

syscall(2)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 4.16. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан 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.

2 февраля 2018 г. Руководство программиста Linux