起動時に割り当てられるメモリが必要です。仮想アドレスではなく物理アドレスが必要です。また、私はDMA地域からは望んでいません。それは私の目的ではありません。起動時にメモリが割り当てられる
私はalloc_bootmem()、alloc_bootmem_pages()を試しましたが、仮想アドレスを返します。 私はalloc_low_page()も見ましたが...期待通りに動作しませんでした。
私はRAMにある種の予約領域が必要です。それはカーネルによってマップされる必要はありません。私は自分自身でその領域を管理しようとしています。私は物理的な領域がすべての起動時に同じになる必要があります。
私はinit/main.c:start_kernel()でもいくつかのメモリを割り当てようとしましたが、それも機能しませんでした。
ここではどこを探しているのかが分かりました。
私はdo_it_here_in_this_wayを知らせるのではなく、正しい方向へのポインタとして答えたいと思っています。メモリ私の知る限り
私はvirt_to_physを使用していて、毎回同じ物理的な場所が得られることを確認しました。依然として問題はまだありません。まだ関係がないので、無関係なタイプは言えません。それと戦い、あなたに知らせるでしょう。ありがとう:) – Omie
まだ他の問題を見ているが、私はこれを閉じることができます。 alloc_bootmemの使用は正しい方法と思われます。 virt_to_physはそれを確認するのを助けました。 – Omie