IA-32e 64-bit IDT Gate Descriptor

В 64-битном дескрипторе IDT-гейта Intel есть селектор сегментов. Однако, насколько я понял из 5 частей руководств Intel, линейный адрес обработчика прерываний загружается в RIP с 64-битного смещения, указанного в дескрипторе IDT Gate.

Селектор сегмента используется только для проверки:

  1. если есть изменения в уровнях привилегий
  2. обработчик прерываний действительно указывает на сегмент кода

Тогда мои вопросы:

  1. RIP берется только из 64-битного смещения? Или RIP = смещение(знак расширен до 64 бит) + база селектора сегмента?
  2. Игнорируется ли базовый адрес, на который указывает селектор сегмента в дескрипторе гейта IDT? Или у него есть применение?

Заранее большое спасибо!

8
задан Vern 27 November 2011 в 17:17
поделиться