長い間インターネットで検索されていましたが、起動時にメモリを予約する方法をゆっくり理解してください。 (私はarm boardで実験しています。カーネルのバージョンは2.6.38です。)
起動時にメモリを予約する方法は3つあります。
1. reserve_bootmem(addr、size、) Flag)
この方法は、実験に成功していません…
成功したら、神様のメッセージをお願いします、指導をお願いします!
2. alloc_bootmem(size)
実際、int /main.cでは比較的単純です。
//グローバル変数を設定します。
char * reserve_memory;
EXPORT_SYMBOL_GPL(reserve_memory);
void __init start_kernel()
{
…
trap_init();
//ここにコードを追加し、ゾーンに40Mのメモリを確保します。
reserve_memory = alloc_bootmem(0x2800000);
mem_init();
…
}
しかし、カーネルでreserve_memoryを取得した後、どのようにカーネル空間にマッピングするかについては、手掛かりはありません。
誰かがインターネットで言っています、
allco_bootmemから返されたアドレスで、
カーネルモードで、このメモリを使用するtask_structを見つけてから、ページテーブルを作成するよう強制してください。
この文を理解するか、より良いマッピング方法を、メッセージを残してください、ありがとうございます!
3.起動時にLinuxカーネルパラメータを設定します。
mem = 180M /*起動時には180Mのメモリスペースしか確保されず、残りは予約されています。* /
単純ですが、セットアップして使用するときは、ハードウェアメモリの物理サイズと互換性がある必要があります。
カーネルドライバでは、ioremap()またはmmap()の形式でカーネル空間にマッピングして、ユーザー空間で読み書きできます。
機能が実装されています。ITDBハードウェア管理では、ユーザーをハードウェアに割り当てる必要があります。このユーザーはLDAPユーザーからインポートしたいです。プロセス:1. LDAPをITDBのデー
システムをインストールする最も簡単な方法は、システムインストールCDを見つけて、ゆっくりとステップバイステップでインストールすることです。シンプルはシンプルですが、ほとんどの人はLinuxインストール
Linuxシステムの使用頻度は少なく、デフォルトのブートエントリは非常に耐え難いため、Windows 7とUbantuのデュアルシステムになっています。デフォルトのスタートアップアイテム。 コンピュ
今日、Linuxでコンパイルされた11のクールなLinux端末コマンドを10年間共有しますこの記事を通して、一連のLinuxコマンドとツールを紹介します。そして秘訣は、私が成長への道を開くのではなく、
pstreeコマンドは、プロセス間の派生関係をツリー図で表示します。表示効果は比較的直感的です。 pstreeコマンドは、プロセスのツリーをツリービューで表示します。 psコマン
< /dev /null> O_CLOEXEC);…………エラーpeerlen =のはsizeof取り扱い//そこEMFILEエラ
Win7システムでIPv6を使用するにはどうすればよいですか?
Firefoxブラウザの更新に失敗しました。システムに他のfirefoxプロセスの解決策があるかどうかを確認してください
Windows 8でのWindows 8 Mobile Centerのディスプレイの明るさ設定
どうすれば自分の世界のエンチャント本を手に入れることができますか?私の世界のエンチャント本はRaiders
スクリーンショットの解決策の後にWin10システムの画像を保存することはできません
Win8はFoxmailを使用して「パスワードエラーを受信する」という応答を送信します
Win10リモートデスクトップ接続の開き方?win10オープンリモートデスクトップ接続のチュートリアル