Amazon ec2 ioremap返回异常的虚拟地址

Amazon ec2 ioremap返回异常的虚拟地址,amazon-ec2,arm,arm64,ioremap,Amazon Ec2,Arm,Arm64,Ioremap,我使用ioremap映射寄存器的物理地址0xF400000,而它返回一个非常奇怪的小虚拟地址0x0f690dd5,这在我执行ioread32(虚拟地址)next时导致内核死机。Ioremap可以执行,但为什么它会返回如此奇怪的虚拟地址呢 该实验在aws ec2、bare mental、AARC64上运行。我想知道为什么会发生这种情况,以及我如何读取此注册表?您确定您有要访问的设备的正确地址吗?在您正在开发的内核模块中,您试图访问哪个设备?在Ubuntu19.04上打印/proc/iomem时,该

我使用ioremap映射寄存器的物理地址0xF400000,而它返回一个非常奇怪的小虚拟地址0x0f690dd5,这在我执行ioread32(虚拟地址)next时导致内核死机。Ioremap可以执行,但为什么它会返回如此奇怪的虚拟地址呢


该实验在aws ec2、bare mental、AARC64上运行。我想知道为什么会发生这种情况,以及我如何读取此注册表?

您确定您有要访问的设备的正确地址吗?在您正在开发的内核模块中,您试图访问哪个设备?在Ubuntu19.04上打印
/proc/iomem
时,该内存地址附近没有显示任何设备。有关发行版环境和内核版本的详细信息会有所帮助。返回的地址看起来已损坏,应该是4k或64k对齐的。你确定你的程序也没有在某个地方过度运行内存吗?我想找到一些调试寄存器的基址,它根据armv8手册保存在mdrar_el1寄存器中,因此在运行ioremap之前,我运行并仅运行mrs读取mdrar_el1,它返回0xF400000。内核版本为4.15.0-1045-aws,ec2的实例类型为a1金属。