如何通过mmio区域从pcie总线读取指令而不实际将它们复制到本地区域?

时间:2015-10-14 16:56:19

标签: linux-kernel paging cpu-cache tlb mips64

有没有办法从目标板的内存区域(也是多核处理器)获取指令,该区域通过MMIO区域(通过PCIe接口)访问,而不实际将它们复制到主机的本地DRAM?

我尝试使用MMIO地址更新页面表并跳转到该虚拟地址,并尝试直接跳转到MMIO地址(目标DRAM上的PCI BASE +地址)。 但是,在这两种情况下,我都无法使用gdb(因为我只能看到nops)来执行指令。

此外,通过下面的print语句,我可以看到控制台上打印的十六进制代码。 addr :( PCI BASE +目标DRAM地址)

printf(" *** Reading:  0x%lx *** \n", *CASTPTR(volatile uint64_t, addr));

我不确定哪里出错了,对此问题的任何指示都表示赞赏。

提前致谢。

0 个答案:

没有答案