2013-08-19 14 views

Odpowiedz

13

W 64-bitowym systemie Linux wszystkie 64-bitowe adresy z bitem o najwyższym porządku ustawione na 1 są zarezerwowane dla jądra. Innymi słowy, w górnej połowie wirtualnej przestrzeni adresowej.

celu uzyskania szczegółowych informacji patrz http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details

+0

Masz na myśli połowę na 48 bitów lub 64 bitów? Czy to od 0xffffffff80000000 do 0xffffffffffffffffff? – MetallicPriest

+1

@MetallicPriest przeczytaj ponownie moje pierwsze zdanie. –

+0

@ArneVogel Taka jest ta strona wikipedia, o której wspomniałem, prawda? –

1

PAGE_OFFSET i ULLONG_MAX są stałymi wartościami, które są równe początkowych i końcowych adresów pamięci jądra. Możesz ich używać bezpośrednio w module jądra C:

#define START_MEM PAGE_OFFSET 
#define END_MEM  ULLONG_MAX 
Powiązane problemy