仮想アドレス
0x00000000 +-----------------+ -- User Area (プロセス毎に多重化)
| .text,.data.bss |
| |
| |
0x40000000 +-----------------+
| 共有ライブラリ |
+-----------------+
| |
| |
+-----------------+
| User Stack |
0xc0000000 +-----------------+ -- Kernel Area --> 物理アドレス0x00000000にストレートにマッピングされる
| Kernel | PTEの設定は起動時にpagetable_init()で行う。
| | (物理メモリ管理.txt参照)
| KernelStack |
| (プロセス毎に |
| 複数) |
| |
| |
+-----------------+
| 128MB 予約 | ここは、動的に物理Pageにマッピングされる
| vmalloc等 |
0xffffffff +-----------------+
-------------- boot時は... ---------------------
setup_arch()で行っているbootmem allocatorの初期化についても。。。
init_bootmem