Linux kernel 如何在基于VA的ARM中刷新统一缓存/数据缓存

Linux kernel 如何在基于VA的ARM中刷新统一缓存/数据缓存,linux-kernel,arm,Linux Kernel,Arm,找到这个MCR p15,0,Rd,c7,c5,1 但是如果我有一个地址VA-0x40008000,如何设置Rd?怎么办 LDR R0, =0x40008000 MCR p15, 0, R0, c7, c5, 1 对于armv7a,这似乎是MVA对PoU的指令缓存无效。这是一个L1/L2 Icache失效。此外,对于某些调试变体,这个cp15似乎是可选的。它可能不适用于您瞄准的任何武器。Auselen说得对,Rd只是任何ARM寄存器;但我猜你知道吗?你在哪里读到关于c7,c5,1的书?如果可以,

找到这个MCR p15,0,Rd,c7,c5,1

但是如果我有一个地址VA-0x40008000,如何设置Rd?

怎么办

LDR R0, =0x40008000
MCR p15, 0, R0, c7, c5, 1

对于armv7a,这似乎是MVA对PoU的指令缓存无效。这是一个L1/L2 Icache失效。此外,对于某些调试变体,这个
cp15
似乎是可选的。它可能不适用于您瞄准的任何武器。Auselen说得对,
Rd
只是任何ARM寄存器;但我猜你知道吗?你在哪里读到关于c7,c5,1的书?如果可以,请提供链接。请参阅:,这显然是相关的?