X86_64 Трансляция линейного адреса с 4-уровневой подкачкойLinux

Ответить
Anonymous
 X86_64 Трансляция линейного адреса с 4-уровневой подкачкой

Сообщение Anonymous »

Насколько я понимаю, при 4-уровневом пейджинге используются только 48 младших битов.
Значит, независимо от других битов, адрес будет указывать на один и тот же физический адрес, верно?
Например:
0xffffffff80101000
0x7fffffff80101000
Они всегда будут указывать на один и тот же физический адрес, предполагая, что конфигурация подкачки не меняется, верно?
Я отлаживаю ядро ​​Linux, использую QEMU с GDB, могу получить доступ к 0xffffffff80101000, но 0x7fffffff80101000 всегда терпит неудачу.
(gdb) x/1gx 0xffffffff80101000
0xffffffff80101000 : 0x0000000000102027
(gdb) x/1gx 0x7fffffff80101000
0x7ffffff80101000: Невозможно получить доступ к памяти по адресу 0x7ffffff80101000
(gdb)

Подробнее здесь: https://stackoverflow.com/questions/791 ... vel-paging
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»