ホストのローカル DRAM に実際にコピーせずに、(PCIe インターフェイスを介して) MMIO 領域を介してアクセスされるターゲット ボードのメモリ領域 (マルチコア プロセッサでもある) から命令をフェッチする方法はありますか?
ページ テーブルを MMIO アドレスで更新しようとして、その仮想アドレスにジャンプし、MMIO アドレス (PCI BASE + ターゲット DRAM のアドレス) に直接ジャンプしようとしました。ただし、どちらの場合も gdb を使用して手順を実行することはできません (nops しか表示されないため)。
さらに、以下の print ステートメントを使用すると、コンソールに 16 進コードが出力されているのを確認できます。addr: (PCI BASE + ターゲットの DRAM アドレス)
printf(" *** Reading: 0x%lx *** \n", *CASTPTR(volatile uint64_t, addr));
何がうまくいかないのかわかりません。問題へのポインタは大歓迎です。
前もって感謝します。