問題タブ [riscv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - RISC-V Linux (Zedboard) から物理メモリを予約するには?
Linux の起動時に物理メモリの一部を確保したいと考えています。Zedboard で実行されているデフォルトの RISC-V カーネルでは、物理メモリのサイズが 254MB (0xfe00000 バイト、260096K) であることがわかりました。
そこで、カーネル パラメーター「mem=128M memmap=126M$128M」を指定して 126MB の物理メモリを予約しようとしましたが、Linux が認識する物理メモリ サイズは同じままです。
riscv - RISCV 命令セットに新しいカスタム命令を追加する方法
何日もの間、RISV ISA シミュレーターを使用して新しいカスタム命令をシミュレートしようとしてきましたが、新しい命令を作成して riscv アセンブラーでコンパイルすることに成功していません。risk-tools/riscv-opcodes/opcodes に独自の新しいオペコードを追加してみました。ADD の機能を実行するカスタム オペコードを作成してから、ADD をアセンブリ コードのカスタム命令に置き換えようとしましたが、アセンブラは命令が見つからないと言ってコンパイルに失敗しました。また、組み込みのカスタム命令 custom0,1,2 を使用しようとすると、無効なオペランドのエラーが常に発生します。
linux-kernel - ZC706 での linux-3.14.41 の起動: カーネル パニック
FPGA ZC706 で linux-3.14.4 を起動すると、次のエラーが発生します。次の方法ですべてのツールを構築しました。
ロケットチップ:
ルート ディスク イメージ:
起動:
ブートが開始されますが、ある時点で停止します。以下は起動エラーです
私が何か見逃しているかどうかにかかわらず、誰かが私を助けることができますか. linux-3.14.33 も試しました。同じエラーが出ます
linux - Linux カーネルが Zedboard での RISC-V custom0 命令の実行を妨害するのはなぜですか?
dummy_rocc は、RISCV ツールの単純な組み込み RoCC アクセラレータの例で、いくつかの custom0 命令が定義されています。dummy_rocc をセットアップした後 (Spike ISA シミュレータまたは Rocket-FPGA のいずれかで異なります)、dummy_rocc_test (ユーザー プログラム テストケース) を使用して、dummy_rocc アクセラレータの正確性を検証します。dummy_rocc_test を実行するには、pk (プロキシ カーネル) または Linux の 2 つの方法があります。
Spike ISAシミュレーターでdummy_roccをセットアップしたことがありますが、dummy_rocc_testはpkでもLinuxでもうまく機能しました。
ここで、Spike を Zedboard の Rocket-FPGA に置き換えます。pk での実行が成功している間:
Linux での実行は失敗します。
スクリーンショットは、「シグナル 4」が custom0 命令によって発生したことを示しています。 dummy_rocc_test の readelf スクリーンショット
だから私の問題は、「Linux カーネルが Zedboard での RISC-V custom0 命令の実行を妨害するのはなぜですか?」
dummy_rocc_test のソース コードは参考として提供されています。
benchmarking - RISCV アーキテクチャでの SPEC06 の実行
RISC-V Rocket チップ アーキテクチャと RISC-V コンパイラに変更を加えて、SPEC06 ベンチマークを実行したいと考えています。Dhrystone が既に存在することは承知していますが、他のベンチマークでパフォーマンスを測定したいと考えています。RISC-V 環境で SPEC06 ベンチマークを実行できるようにするための手順は?
編集: FPGA (特に zc706) に SPEC06 をインストールして実行する方法を教えてください。ロケットチップでプログラムされた zc706 で linux-3.14.41 を起動できます。
riscv - riscv64-unknown-elf-gcc を使用してコンパイルされたマルチスレッド プログラムのコンパイル エラー
私が直面したエラーは、thread-ex.c:24:5: error: unknown type name 'pthread_t' pthread_t thread1, thread2; でした。/* スレッド変数 */ ^ thread-ex.c:36:5: 警告: 関数 'pthread_create' の暗黙の宣言 [-Wimplicit-function-declaration] pthread_create (&thread1, NULL, (void *) &print_message_function, (void ) &data1 ); ^ thread-ex.c:42:5: 警告: 関数 'pthread_join' の暗黙の宣言 [-Wimplicit-function-declaration] pthread_join(thread1, NULL); ^ thread-ex.c: 関数 'print_message_function' 内: thread-ex.c:61:5: 警告: 関数 'pthread_exit' の暗黙の宣言 [-Wimplicit-function-declaration] pthread_exit(0); /終了*/
riscv - スパイク時のコア間通信
スパイク -p2 を使用してマルチコア モードでスパイクを使用する場合、あるコアから別のコアへのデータの転送をシミュレートできる方法はありますか? それができるプログラムはありますか?
linux - Linux が FPGA 上のマルチコア Rocket を認識しない
How to make a multicore system using the RISC-V Rocket-chip processor to generate a multicore Rocket for FPGA (board: Xilinx ZC706)の指示に従っていますが、Linux は追加のコアを認識しません。
FPGA をロケット チップ エミュレーターまたは Spike ISA シミュレーターに置き換えると、Linux はマルチコアを認識するため、Linux は SMP に適していると確信しています。
更新: マルチコア修正コミットを適用した後、riscv Linux が停止します。