Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Работа с GDT. "sgdt msg"

27K
30 ноября 2007 года
korisk
12 / / 11.08.2007
Добрый вечер.

Написал модулек для 2.6.22, который читает содержимое RGDR.
ASM файл для чтения:
 
Код:
msg:
.ascii "00000000000"
#ascii('0')=0x30
.global get_gdt
.type get_gdt, @function
get_gdt:
...
sgdt msg
...
ret


и С-ый для вывода:
Код:
...
char str[32];
void *data = get_gdt();
        unsigned char *ptr = (unsigned  char*)data;
        int i = 0;
        str[0] = 0;
        for(i=0;i < 11;i ++){
                sprintf(str, "%s%.2x:",str, *(ptr+i));
        }
        printk("<1> %s \n",str);
...


При загрузке модуля каждый раз выводится новое значение RGDT.
Отличия проявляются в 3-х первых байтах смещения.

Что я не так делаю? Откуда эти вариации?
Спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог