6

つまり、ドライバーは別のドライバーのシンボルをインポートしようとすることができ、シンボルが存在しない場合、ドライバーはインポートを解決せずにロードを続行できますか? また、可能であれば、上流のドライバーでも許可されますか? つまり、すでに lnux カーネルにあるドライバーですか?

4

1 に答える 1

4

EXPORT_SYMBOL または EXPORT_SYMBOL_GPL (インポートするモジュールに GPL 互換ライセンスがある場合) によってエクスポートされたシンボルは、任意のカーネル モジュールで使用できます。

シンボルが存在しない場合、ドライバーはインポートを解決せずにロードを続行できますか?

よくわかりません。ただし、シンボルが の出力からエクスポートされているかどうかを確認できますcat /proc/kallsyms。エクスポートされたシンボルには 2 つのエントリがあります。1 つはシンボル名で、もう 1 つはプレフィックス_ksymtabが付いています。

たとえば、printk の場合。

ffffffff814fd1e2 T printk ffffffff81812550 r __ksymtab_printk

于 2012-10-06T08:44:12.123 に答える