1. モジュールパラメータ ドライバー内の変数の定義 static int num = 0; //ロードモジュールがnumの値を指定しない場合は0になります
module_param の呼び出し関係は次のとおりです。 #define module_param(名前、タイプ、権限) \ module_param_named(名前、名前、タイプ、権限) #define module_param_named(名前、値、タイプ、パーミッション) \ param_check_##type(名前、&(値)); \ module_param_call(名前、param_set_##type、param_get_##type、&value、perm); \ __MODULE_PARM_TYPE(名前、#タイプ) #define module_param_call(名前、設定、取得、引数、パーマ) \ __module_param_call(MODULE_PARAM_PREFIX、\ 名前、設定、取得、引数、\ __same_type(*(arg), bool), perm) #define __module_param_call(プレフィックス、名前、設定、取得、引数、isbool、パーマ) \ 静的 int __param_perm_check_##name __attribute__((未使用)) = \ BUILD_BUG_ON_ZERO((perm) < 0 || (perm) > 0777 || ((perm) & 2)) \ + BUILD_BUG_ON_ZERO(sizeof(""プレフィックス) > MAX_PARAM_PREFIX_LEN); \ 静的const char __param_str_##name[] = プレフィックス #name; \ 静的構造体 kernel_param __moduleparam_const __param_##name \ __使用済み \ __attribute__ ((未使用、__section__ ("__param")、aligned(sizeof(void *)))) \ = { __param_str_##name、perm、isbool ? KPARAM_ISBOOL : 0、\ 設定、取得、{ 引数 } } 複数の c ファイルをモジュールにコンパイルできます。これは、次のように Makefile xxx-objs の指示を使用して実現できます。 test-objs := ao bo // ac と bc から test.ko にコンパイルします。ターゲット ko ファイルと同じ名前の .o ファイルは存在しないことに注意してください。obj-m += test.o システム内のモジュール情報は、/sys/module/モジュール名/で確認できます。 1. elfファイルの情報を表示する
Koファイルの構成
2. EXPORT_SYMBOL(関数名/変数アドレス) //関数または変数のアドレスをカーネルシンボルテーブルにエクスポートします EXPORT_SYMBOL_GPL(関数名) /////////// /proc/kallsyms 現在のシステムのシンボルテーブルを表示する 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: MySQL 5.5 で範囲パーティションを追加および削除する例
>>: cmd と python での MySQL の一般的な操作についての簡単な説明
Web フォームは、訪問者と Web サイト所有者間の主要なコミュニケーション チャネルです。フィー...
目次序文1. vue-cliを使う1. Toastコンポーネントを定義する2. main.jsで設定...
現実世界では、鍵は外の世界から身を隠したいときに使用するツールです。コンピュータでは、複数のプロセス...
1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...
問題の説明nginx を設定することで、異なるポートを介して異なる Web アプリケーションにアクセ...
MySQLデータベースのインストールに関するメモ、みんなで共有a) MySQL ソースインストールパ...
最近、メンバーがテストできるようにプロジェクトをパッケージ化する必要がありますが、パッケージ化された...
問題 [root@zh ~]# [root@zh ~]# [root@zh ~]# yum -y d...
1. ドキュメントフローとフローティング1. ドキュメントフローとは何ですか? HTML では、ドキ...
MySQLテーブルパーティショニングプログラムを変更する方法1. サブテーブルの実装の原則は次のとお...
背景次の図に示すように、 react-color を使用してフロントエンド インターフェースのカラー...
序文バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために...
序文この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆...
1. サーバーを購入するこの例では、購入したサーバーはAlibaba Cloudです。大学生はAli...
この記事は主にMybatisでの動的SQL文の解析について紹介します。この記事のサンプルコードは非常...