Linux kernel 如何通过mmio区域从pcie总线读取指令,而不实际将其复制到本地dram?

Linux kernel 如何通过mmio区域从pcie总线读取指令,而不实际将其复制到本地dram?,linux-kernel,paging,cpu-cache,tlb,mips64,Linux Kernel,Paging,Cpu Cache,Tlb,Mips64,有没有办法从通过MMIO区域(通过PCIe接口)访问的目标板内存区域(也是多核处理器)获取指令,而不实际将其复制到主机的本地DRAM 我尝试用MMIO地址更新页表,并跳转到该虚拟地址,还尝试直接跳转到MMIO地址(目标DRAM上的PCI BASE+地址)。 但是,在这两种情况下,我都无法使用gdb(因为我只能看到nops)逐步完成指令 此外,通过下面的print语句,我可以看到控制台上打印的十六进制代码。 地址:(目标的PCI基+DRAM地址) 我不确定出了什么问题,任何关于这个问题的建议都是值

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

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

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

我不确定出了什么问题,任何关于这个问题的建议都是值得赞赏的

提前谢谢

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