В 64-битном дескрипторе IDT-гейта Intel есть селектор сегментов. Однако, насколько я понял из 5 частей руководств Intel, линейный адрес обработчика прерываний загружается в RIP с 64-битного смещения, указанного в дескрипторе IDT Gate.
Селектор сегмента используется только для проверки:
- если есть изменения в уровнях привилегий
- обработчик прерываний действительно указывает на сегмент кода
Тогда мои вопросы:
- RIP берется только из 64-битного смещения? Или RIP = смещение(знак расширен до 64 бит) + база селектора сегмента?
- Игнорируется ли базовый адрес, на который указывает селектор сегмента в дескрипторе гейта IDT? Или у него есть применение?
Заранее большое спасибо!
задан Vern 27 November 2011 в 17:17
поделиться