Книга: Разработка ядра Linux
Передача параметров
Передача параметров
В дополнение к номеру вызова, большинство системных вызовов требует передачи им одного или нескольких параметров. Во время перехвата исключительной ситуации пространство пользователя должно каким-либо образом передать ядру эти параметры. Самый простой способ осуществить такую передачу — это сделать по аналогии с передачей номера системной функции: параметры хранятся в регистрах процессора. Для аппаратной платформы x86 регистры ebx
, ecx
, edx
, esi
, edi
содержат соответственно первые пять аргументов. В случае редких ситуаций с шестью или более аргументами, используется один регистр, который содержит указатель на память пространства пользователя, где хранятся все параметры.
Возвращаемое значение также передается в пространство пользователя через регистр. Для аппаратной платформа x86 оно хранится в регистре eax
.
- Передача по ссылке
- Пример 17-7. Передача пары файлов во входящий каталог на "Sunsite"
- Передача и обработка данных в html-файле
- Передача вызовов конструктора с помощью this
- 22.5. Передача параметров сценарию
- Передача аргументов
- 3.4.5. Вызов функций, передача параметров, возврат полученных значений
- Пример 17-10. Блочный комментарий
- 14.11.1. Параметры ядра
- Совет 38. Проектируйте классы функторов для передачи по значению
- Параметры методов