起動時にメモリを割り当てる必要があります。仮想アドレスではなく、物理アドレスが必要です。また、DMA リージョンからは取得したくありません。それは私の目的ではありません。
alloc_bootmem()、alloc_bootmem_pages() を試しましたが、仮想アドレスが返されます。alloc_low_page() も調べました...期待どおりに機能しませんでした。
つまり、RAM にある種の予約領域が必要です..カーネルによってマップされる必要はありません..私は自分でその領域を管理しようとします。すべての起動で物理領域を同じにする必要があります。
また、 init/main.c : start_kernel() にメモリを割り当てようとしましたが、それも機能しませんでした。
どこで/何を探すべきかとして、今は行き詰まっています。
do_it_here_in_this_way を伝えるよりも、正しい方向へのポインターとして答えたいと思います。
ありがとう :)