Здравствуйте, Ivan Korotkov, Вы писали:
IK>TSS тут не при чем. Просто где-то в ядре gs, похоже используется, а при переключении на более низкий уровень привилегий, все сег. регистры, указывающие на более привилегированные сегменты, проц обнуляет. Поэтому при возврате из любого системного вызова gs=0. Обойти это можно, наверное, только пропатчив ядро.
Спасибо за ответ!
Возникает ещё один. как можно обойтись без того чтобы патчить. драйвер бы пошёл. но что это должен быть за драйвер? хоть на что обратить внимание.
Пока думаю изучить логику работы ntvdm, т.к. этот сервис для dos программ-то должен сохранять gs.
ЗЫ:
насоздавал потоков и теперь gs при переключении потоков gs может быть равно gs из другого потока.