Описание тега gdt
Глобальная таблица дескрипторов или GDT - это структура данных, используемая процессорами семейства Intel x86.
1
ответ
Какая связь между Селектором и GDT в PM?
Я просмотрел многие учебные пособия, доступные в сети, о Глобальной таблице дескрипторов. Но я не смог найти сайт, который подробно объясняет все поля в 64-битном дескрипторе. Более того, я застрял с концепцией селектора в GDT. Я знаю, что селектор …
18 июл '16 в 02:18
0
ответов
Как включить подкачку в x86 и отобразить GDT в UEFI
Моя цель - включить подкачку в x86 в UEFI. Мой профессор сказал, что я могу сначала попытаться отобразить GDT в UEFI - таким образом я также посмотрю, работает ли пейджинг. Проблема в том, что я понятия не имею, как это сделать. Я использовал это ру…
15 дек '15 в 16:41
0
ответов
Ворота задач в GDT/LDT против ворот ворот в IDT
Для аппаратного переключения задач есть ли какая-либо польза от наличия шлюза задач в IDT и использования INT вместо вставки GDT/LDT и использования CALL?
20 ноя '18 в 01:35
1
ответ
Как по-разному используются LDT и GDT в Intel x86?
Я понимаю, что обе таблицы содержат дескрипторы сегментов, которые предоставляют детали доступа для каждого сегмента, включая базовый адрес, тип, длину, права доступа и т. Д. Глядя на этот блог описывает различия следующим образом:1. У GDT есть толь…
12 дек '15 в 18:31
0
ответов
Ошибка общей защиты при загрузке сегмента кода
При попытке загрузить новый сегмент кода для моего загрузчика, когда он уже находится в длинном режиме (он был загружен EFI), для того чтобы возврат прерывания использовал сегмент нормального кода, мой код выдает ошибку #GP. Вот ссылка на соответств…
21 фев '19 в 17:53
1
ответ
Проблема упрощения GDT на x86
Я пытаюсь упростить таблицу GDT с 6 сегментами, но в которых 2 действительно необходимы (из того, что я собираю). Я не могу заставить изменения работать. Код взят из Cromwell, начального загрузчика Xbox. Процессор Pentium III . Понятие пользовательс…
28 июн '18 в 12:15
1
ответ
Как войти в 32-битный защищенный режим в сборке NASM?
Я изучаю сборку x86 и пытаюсь сделать игрушечную операционную систему в NASM, но кое-чего не понимаю. Я сделал загрузчик, который успешно загружает мое ядро: Загружает 14 секторов с дискеты, которая содержит файл ядра; Поиск файла в этих секторах с …
21 фев '15 в 11:51
1
ответ
После загрузки GDT
# Load the GDT. mov $gdt_descriptor, %ecx lgdt (%ecx) mov $0x10, %cx mov %cx, %ds mov %cx, %es mov %cx, %fs mov %cx, %gs mov %cx, %ss ljmp $0x8, $1f 1: mov $kernel_stack, %esp Я не могу понять, что делает этот код. Зачем перемещать $0x10 в cx, а зат…
13 янв '18 в 07:45
2
ответа
Как мне узнать содержание GDT
Я анализирую дизассемблированную dll и застрял на линии mov ebx,fs:[00000004h] Я хочу узнать точный физический адрес данных, которые записываются в ebx с помощью этой инструкции. GDB говорит мне, что fs = 0x53. Я уже выяснил, что адрес зависит от ре…
28 мар '13 в 09:44
1
ответ
Как создать два отдельных сегмента в таблице глобальных дескрипторов
Я ознакомился с основами таблицы глобальных дескрипторов (GDT) и успешно написал "GDT.inc" с использованием asm, так что мы легко можем включить его в наш загрузчик. В качестве детского шага я настроил дескриптор кода и дескриптор данных для чтения …
16 янв '13 в 09:06
1
ответ
Дальний прыжок в GDT в загрузчике
flush_gdt: lgdt [gdtr] jmp 0x08:complete_flush complete_flush: mov ax, 0x10 mov ds, ax mov es, ax mov fs, ax mov gs, ax mov ss, ax ret Я не могу понять, что делает этот код. flush_gdt ярлык хорошо, тогда lgdt [gdtr] загружает 48-bit указатель в gdtr…
01 июн '14 в 09:35
1
ответ
Почему биты 11 и 12 дескриптора сегмента не сгруппированы вместе?
Вопрос по определению: Руководство разработчика программного обеспечения для архитектуры Intel 64 и IA-32, том 3А, суммирует поля дескриптора сегмента в разделе 5.2. Почему поле "тип" определяется как биты с 8 по 11 и не включает в себя бит 12, кото…
05 сен '18 в 22:27
2
ответа
Я не смог переключить процессор из реального режима в защищенный режим
Я делаю это по книге Ника Бланделла. Я пишу программу MBR, которая сначала запускается в реальном режиме, и некоторые инструкции в программе переведут процессор в защищенный режим. Сначала я установил GDT так: gdt_start: gdt_null: dd 0x0 dd 0x0 gdt_…
02 сен '13 в 08:29
1
ответ
Сегмент gdt игнорируется процессором?
Я изучаю разработку ядра. Используя книгу, я пришел к выводу. Тем не менее, я не могу понять влияние глобальной таблицы дескрипторов. Мой GDT выглядит следующим образом: gdt_star: gdt_null: dd 0x0 dd 0x0 gdt_code: dw 0xffff dw 0x0000 db 0x00 db 1001…
16 авг '14 в 23:08
2
ответа
Какая польза от определения таблицы глобальных дескрипторов?
Я прочитал учебник по GDT (Global Descriptor Table), который определяет GDT как "тот, который определяет базовые привилегии доступа для определенных частей памяти". Это означает, что GDT используется для защиты памяти. Выполняет ли он какие-либо дру…
31 май '16 в 19:46
1
ответ
Что происходит, если процесс вызывает код, принадлежащий другому процессу?
Что произойдет, если процесс вызовет для выполнения кода дальний указатель, принадлежащий другому процессу? В 32-разрядном режиме работы GDT используется нетривиально, и сегментация может использоваться полностью. Итак, что произойдет, если запрошен…
13 сен '17 в 04:05
0
ответов
Программа показывает ошибку при сборке с использованием nasm
Я изменил доступный код, чтобы включить линию А20 в защищенный режим. Но появляется ошибка при сборке кода. Код выглядит следующим образом: lb_a20_check: pushf push ds push es push di push si cli xor ax, ax mov es, ax mov di, 0x0500 mov si, 0x0510 m…
07 авг '16 в 12:12
0
ответов
Переход по кольцу с использованием ворот вызова
Я пытаюсь выполнить переход от кольца 3 к кольцу 0, используя "Врата вызовов" вместо "SYSRET & SYSENTER", чтобы увидеть, как "Ворота вызовов" работают на процессорах IA-32e (64-разрядных). Что я знаю, так это то, что Call Gates - это специальная стр…
03 янв '19 в 22:01
1
ответ
Установите точку останова на входе в GDT/LDT/IDT
Я работаю над архитектурой x86, я хотел бы установить точку останова для записи таблицы глобальных дескрипторов или записи таблицы интерпретации дескриптора или ldt- это означает, что, например, каждый раз, когда конкретная запись читается из idt/gd…
16 фев '15 в 11:12
0
ответов
Линейная адресация и GDT
Я изо всех сил пытаюсь настроить GDT и перейти в защищенный режим. В основном потому, что я недостаточно хорошо понимал линейную адресацию. Вот мой код ядра (kernel.asm): jmp main %include "gdt.inc" main: call InstallGDT cli mov eax,cr0 or eax,1 mov…
27 дек '16 в 08:48