0

Ubuntu(chrUbuntu 12.04)を実行しているARMSamsungChromebookを持っています。

ARMの「特権」状態でコードを実行する最も簡単な方法は何ですか?sudoを探しているのではなく、Supervisor、IRQ、FIQなどのARMプロセッサモードを探しています。どこかでコプロセッサレジスタをプローブ/変更できます。

プライベートモードに入るのは簡単です。SVC呼び出しを行うだけです。問題は、自分のコードの一部をOSに接続して、特定のSVC呼び出しで呼び出されるようにする最も簡単な方法は何ですか?

私はLinuxハッカーではありません。ほとんどの場合、私は最も簡単な一般的な方向(カーネルを再構築しますか?ドライバーソースを取得して変更されたドライバーをフックしますか?何かprivを実行するための簡単なコマンドラインオプションですか?)の一般的なポインターを探しています。


上記のアプローチが意味をなさず、より簡単な方法がある場合、私の全体的な目標は次のとおりです。

  • いくつかの低レベルのアセンブリルーチンを作成します
  • Cortex-A15コアのさまざまなハードウェア構成でどのように機能するかを確認してください

前もって感謝します、

ポール

4

2 に答える 2

1

ユーザーランドからコプロセッサーレジスターが許可されていない場合にコプロセッサーレジスターにアクセスする最も簡単な方法は、board-initなどのカーネルブートアップシーケンスで初期化コードを実行するか、カーネルモジュールを記述して必要な処理を実行することです。この回答を参照してください。また、興味があれば、この質問

于 2012-11-18T00:14:46.593 に答える
1

質問の2番目のバージョンの場合:独自のパフォーマンス測定を実装しようとするのではなく、perfツールが必要なように聞こえます:https ://perf.wiki.kernel.org/index.php/Tutorial

もう1つの方法は、ロード可能なカーネルモジュールを実装することです。モジュールをドライバーとして、または/procまたは/sysを介してアクセスされるものとして作成すると、そのモジュールはスーパーバイザーモードで実行されます。

于 2012-11-18T19:36:00.617 に答える