デバイスツリーで予約済みメモリのアドレスを読み取る方法

コッテ

Linuxで小さなデバイス用のデバイスドライバーを書いています。デバイスには特定のメモリ制約があり、メモリの一部を切り出す必要があります。ドライバでは、予約済みメモリのアドレス(およびサイズ)を知る必要があります。

/ {
    reserved-memory {
        my_reserve: my_reserve@a0000000 {
            compatible = "shared-dma-pool";
            reg = <0 0xa0000000 0 0x20000>;
            no-map;
        };
    };

    my_device {
        compatible = "my_device";
        memory-region = <&my_reserve>;
    };
};

0xa000'0000デバイスドライバで予約済みメモリの物理アドレスを読み取る方法(つまり、値を読み取る方法)を教えてください予約メモリ用のAPIがあるようですが、struct reserved_mem *

イアン・アボット

struct device *hwdevハードウェアを指している場合struct device(たとえば、hwdevdevメンバーを指している場合struct platform_device)、このスニペットは、予約済みメモリ領域のデバイスツリーノードにアクセスし、それをに変換する方法を示していstruct resourceます。

        struct device_node *memnp;
        struct resource mem_res;
        int rc;

        /* Get pointer to memory region device node from "memory-region" phandle. */
        memnp = of_parse_phandle(hwdev->of_node, "memory-region", 0);
        if (!memnp) {
                dev_err(hwdev, "no memory-region node\n");
                rc = -ENXIO;
                goto err1;
        }
        /* Convert memory region to a struct resource */
        rc = of_address_to_resource(memnp, 0, &mem_res);
        /* finished with memnp */
        of_node_put(memnp);
        if (rc) {
                dev_err(hwdev, "failed to translate memory-region to a resource\n");
                goto err1;
        }

開始アドレスはで終わりmem_res.start、長さはで与えられresource_size(&mem_res);ます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AzureBoards-スプリントで予約済みのチームメンバーを見つける方法

分類Dev

モジュールのベースアドレスでメモリを読み取る

分類Dev

安全でないコードでのメモリ割り当てを確認するためのメモリアドレスの読み取りと書き込み

分類Dev

Google Cloud Platformの予約済み静的アドレスでフラスコアプリを表示できません

分類Dev

Fortigate60Cで予約済みIPアドレスを割り当てる方法

分類Dev

Linux onARMのメモリマップドデバイスレジスタの書き込みと読み取り

分類Dev

Java-メモリ不足の上位クラスの予約済みスペース

分類Dev

C#ReadProcessMemory:64ビットのメモリアドレスを読み取る方法は?

分類Dev

fasttextの事前トレーニング済みドイツ語単語埋め込みの.vecファイルの読み込みでメモリ不足エラーがスローされる

分類Dev

モバイルデバイスでUbuntuのインストールを読み取り/書き込みモードに変更する方法

分類Dev

リモートデータベースサーバーへの読み取りアクセスを許可する最良の方法はどれですか?

分類Dev

起動可能なvhdxWindows 10Enterpriseのインストールで5.7GBのハードウェア予約済みメモリが報告されるのはなぜですか

分類Dev

android bluetooth:複数の接続されたデバイスでリモートRSSIを読み取る

分類Dev

MacOSでシリアル読み取り用のUSBデバイスの/ dev /名を見つける方法は?

分類Dev

他のプログラムメモリのアドレスを取得して、それを自分のプログラムで読み取る方法

分類Dev

Azure VM:既存のVMに予約済みIPアドレスを追加する

分類Dev

モデルで変数名として使用される予約済みキーワードのエスケープ

分類Dev

Kinesisデータストリームで最も古い未処理のレコードを読み取る方法

分類Dev

dynamodbクエリで予約済みキーワード「year」を使用する方法

分類Dev

Linuxカーネルから予約済みメモリを含む物理メモリを取得する方法は?

分類Dev

スクレイピングされたcsvファイルをメモリから読み取る際のデコードの問題

分類Dev

リストアイテムをSharePoint2013で表示/読み取り済みとしてマークする

分類Dev

アンドロイドでペアなしBluethooth BLEデバイスからデータを読み取る方法

分類Dev

Golangで受信したUDPデータグラムの入力インターフェイスとリモートソケットアドレスの両方を読み取る方法は?

分類Dev

デバイス固有の保存済みモデルをフリーズする方法は?

分類Dev

カーネルモジュールで予約済みメモリに直接アクセスするにはどうすればよいですか?

分類Dev

IDEディスクのデバイスツリーの読み取り

分類Dev

シェルスクリプトの終了ステータスに「予約済み」コードを使用する

分類Dev

シェルスクリプトの終了ステータスに「予約済み」コードを使用する

Related 関連記事

  1. 1

    AzureBoards-スプリントで予約済みのチームメンバーを見つける方法

  2. 2

    モジュールのベースアドレスでメモリを読み取る

  3. 3

    安全でないコードでのメモリ割り当てを確認するためのメモリアドレスの読み取りと書き込み

  4. 4

    Google Cloud Platformの予約済み静的アドレスでフラスコアプリを表示できません

  5. 5

    Fortigate60Cで予約済みIPアドレスを割り当てる方法

  6. 6

    Linux onARMのメモリマップドデバイスレジスタの書き込みと読み取り

  7. 7

    Java-メモリ不足の上位クラスの予約済みスペース

  8. 8

    C#ReadProcessMemory:64ビットのメモリアドレスを読み取る方法は?

  9. 9

    fasttextの事前トレーニング済みドイツ語単語埋め込みの.vecファイルの読み込みでメモリ不足エラーがスローされる

  10. 10

    モバイルデバイスでUbuntuのインストールを読み取り/書き込みモードに変更する方法

  11. 11

    リモートデータベースサーバーへの読み取りアクセスを許可する最良の方法はどれですか?

  12. 12

    起動可能なvhdxWindows 10Enterpriseのインストールで5.7GBのハードウェア予約済みメモリが報告されるのはなぜですか

  13. 13

    android bluetooth:複数の接続されたデバイスでリモートRSSIを読み取る

  14. 14

    MacOSでシリアル読み取り用のUSBデバイスの/ dev /名を見つける方法は?

  15. 15

    他のプログラムメモリのアドレスを取得して、それを自分のプログラムで読み取る方法

  16. 16

    Azure VM:既存のVMに予約済みIPアドレスを追加する

  17. 17

    モデルで変数名として使用される予約済みキーワードのエスケープ

  18. 18

    Kinesisデータストリームで最も古い未処理のレコードを読み取る方法

  19. 19

    dynamodbクエリで予約済みキーワード「year」を使用する方法

  20. 20

    Linuxカーネルから予約済みメモリを含む物理メモリを取得する方法は?

  21. 21

    スクレイピングされたcsvファイルをメモリから読み取る際のデコードの問題

  22. 22

    リストアイテムをSharePoint2013で表示/読み取り済みとしてマークする

  23. 23

    アンドロイドでペアなしBluethooth BLEデバイスからデータを読み取る方法

  24. 24

    Golangで受信したUDPデータグラムの入力インターフェイスとリモートソケットアドレスの両方を読み取る方法は?

  25. 25

    デバイス固有の保存済みモデルをフリーズする方法は?

  26. 26

    カーネルモジュールで予約済みメモリに直接アクセスするにはどうすればよいですか?

  27. 27

    IDEディスクのデバイスツリーの読み取り

  28. 28

    シェルスクリプトの終了ステータスに「予約済み」コードを使用する

  29. 29

    シェルスクリプトの終了ステータスに「予約済み」コードを使用する

ホットタグ

アーカイブ