Одесса: 2°С (вода 8°С)
Киев: 0°С
Львов: -2°С

Тема: Linux kernel добавить новый системный вызов

Ответить в теме
Показано с 1 по 7 из 7
  1. Вверх #1
    Посетитель Аватар для Rector
    Пол
    Мужской
    Возраст
    30
    Сообщений
    215
    Репутация
    26

    По умолчанию Linux kernel добавить новый системный вызов

    Задача - добавить в ядро новый системный вызов. Само по себе добавление прошло успешно, благо много примеров в сети есть.
    Но вот в чем вопрос - можно ли функцию обработчик данного вызова разместить не статически в ядре, а например в каком-нибудь модуле. Просто сама функция еще только на стадии разработки и каждый раз пересобирать ядро не есть хорошо.

    Вот сейчас еще попробую скомпилировать обработчик вызова как модуль, интересно, не уйдет ли ядро в корку, если его потом вытащить )

    Собственно вопрос, может кто знает правильный либо более изящный вариант.


  2. Вверх #2
    Посетитель Аватар для Rector
    Пол
    Мужской
    Возраст
    30
    Сообщений
    215
    Репутация
    26
    Таки беда - если обработчик в модуле, то ядро не соберётся, а значит вопрос становится еще более актуальным

  3. Вверх #3
    Новичок
    Пол
    Мужской
    Возраст
    41
    Сообщений
    9
    Репутация
    12
    Можно скелет системного вызова держать в ядре, а отлаживаемый код - в модуле и при загрузке/выгрузке модуля регистрировать/дерегистрировать его в системном вызове.
    Или как вариант гонять ядро в виртуалке, куда прокинуть нужный девайс.
    Последний раз редактировалось george128; 19.03.2010 в 18:19.

  4. Вверх #4
    Посетитель Аватар для Rector
    Пол
    Мужской
    Возраст
    30
    Сообщений
    215
    Репутация
    26
    Вот первый вариант интересен. Можете подсказать как регистрировать модуль в системном вызове?

  5. Вверх #5
    Новичок
    Пол
    Мужской
    Возраст
    41
    Сообщений
    9
    Репутация
    12
    Цитата Сообщение от Rector Посмотреть сообщение
    Вот первый вариант интересен. Можете подсказать как регистрировать модуль в системном вызове?
    Добавьте пару публичных функций типа:
    register_my_module_code(void (*func)());
    unregister_my_module_code();

    в том файле где описывается системный вызов и тамже сделать указатель на функцию, который заполнять из register_my_module_code() и обнулять из unregister_my_module_code()
    а внутри системного вызова дергать ӕтот указатель если он не нулевой. Вот и все.

  6. Вверх #6
    Посетитель Аватар для Rector
    Пол
    Мужской
    Возраст
    30
    Сообщений
    215
    Репутация
    26
    Цитата Сообщение от george128 Посмотреть сообщение
    Добавьте пару публичных функций типа:
    register_my_module_code(void (*func)());
    unregister_my_module_code();

    в том файле где описывается системный вызов и тамже сделать указатель на функцию, который заполнять из register_my_module_code() и обнулять из unregister_my_module_code()
    а внутри системного вызова дергать ӕтот указатель если он не нулевой. Вот и все.
    Хм, интересный вариант, обязательно попробую в скором времени.
    Пока решил сделать через netlink сокеты, так удобнее и универсальнее да и ядро не надо пересобирать, как раз для моей задачи подходит.

  7. Вверх #7
    Посетитель Аватар для Rector
    Пол
    Мужской
    Возраст
    30
    Сообщений
    215
    Репутация
    26
    Цитата Сообщение от mongol88 Посмотреть сообщение
    А как через Линукс купить домен, неуникальный?
    чтобы это значило?
    Можете пояснить что такое уникальный домен и как ОС Linux может помочь в его покупке?


Ответить в теме

Похожие темы

  1. Установка русского языка в Linux Slackware 10.0
    от Vintyara в разделе Программное обеспечение
    Ответов: 8
    Последнее сообщение: 16.05.2005, 10:03
  2. Давайте Linux'ами менятся...
    от stas1707 в разделе Программное обеспечение
    Ответов: 66
    Последнее сообщение: 27.02.2005, 03:22
  3. Linux. TimeZone.
    от mancurt в разделе Программирование
    Ответов: 2
    Последнее сообщение: 21.11.2004, 23:46
  4. SysAdmin под Linux
    от imported_ksv в разделе Программирование
    Ответов: 2
    Последнее сообщение: 26.10.2004, 23:47
  5. Linux-Форум уже доступен!!!
    от ase в разделе Программное обеспечение
    Ответов: 1
    Последнее сообщение: 29.05.2004, 19:27

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения