Задать вопрос

Есть ли возможность обрабатывать прерывания без TSS?

Хотелось бы узнать, есть ли возможность обрабатывать прерывания без определения дескриптора TSS в GDT и установки его индекса в TR (x86_64)? Т.е. если не использовать IST, а код и обработчик в нулевом кольце (переключение стека не происходит, red-zone игнорируется). Уже пару дней пытаюсь вызвать обработчик по нулевому вектору (делю на ноль), но ничего не получается. Это принципиально возможно без TSS, его GDT-дескриптора и установки им TR? Или же один TSS по-любому необходим? Спасибо большое и с праздниками!
  • Вопрос задан
  • 3092 просмотра
Подписаться 3 Оценить Комментировать
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
А у меня вроде получилось без TSS. Код здесь: github.com/jcmvbkbc/multiboot-tests
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
mark_ablov
@mark_ablov
Для task-gate дескриптора TSS само собой обязателен.
А вот обычные interrupt-gate, насколько я помню, не имеют отсылок к TSS.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы