u-boot DTSでCPUコアを無効にする

u-boot DTSでCPUコアを無効にする

私はFriendlyARM ZeroPi(Allwinner H3、4 x Cortex-A7)がSoCに3つの物理コアしかありません。

ファイルからcpu3に対応する行を削除しましたsun8i-h3.dtsiここ)、u-bootを再構築してSDカードにフラッシュしますが、Linuxはまだ4番目のコアを使用しているため、役に立ちません。

ラムの問題はコメントだけを見つけました。これ文書、指摘する

ブートローダは通常、メモリノードを満たす。

この時点で私の質問は次のとおりです。

  1. CPU3がDTSにないのになぜ起動し続けるのですか?
  2. CPU3が起動しないようにするにはどうすればよいですか?
  3. メモリサイズをどのように指定する必要がありますか?

カーネルをメモリにロードする前に設定する必要があるカーネルパラメータに頼りたくありません。また、Linuxが後で4番目のコアを起動できるようにしたくありません。これらのmaxcpus=3パラメータを使用すると、4番目のコアを起動できます。

目的は、RTOSが4番目のコアとメモリの一部を制御できるAMPシステムを実行することです。したがって、私はLinuxに4番目のコアがあるという事実を完全に隠したいと思います。コアを変更することは問題ではありませんが、ソースコードを見るのに数時間を費やしましたが、まだ4番目のコアにアクセスする方法を理解できませんでした。最大3つのコアのみを処理するようにコアをハードコーディングするなど、非常に具体的な修正をしたくありません。私はもう少し「動的な」ソリューションを期待しています。

関連情報