Hi Julien, > -----Original Message----- > Subject: [PATCH 3/7] xen/arm64: head: Add missing isb in setup_fixmap() > > From: Julien Grall <jgr...@amazon.com> > > On older version of the Arm Arm (ARM DDI 0487E.a, B2-125) there were > the following paragraph: > > "DMB and DSB instructions affect reads and writes to the memory system > generated by Load/Store instructions and data or unified cache > maintenance instructions being executed by the PE. Instruction fetches > or accesses caused by a hardware translation table access are not > explicit accesses." > > Newer revision (e.g. ARM DDI 0487J.a) doesn't have the second sentence > (it might be somewhere else in the Arm Arm). But the interpretation is > not much different. > > In setup_fixmap(), we write the fixmap area and may be used soon after, > for instance, to write to the UART. IOW, there could be hardware > translation table access. So we need to ensure the 'dsb' has completed > before continuing. Therefore add an 'isb'. > > Fixes: 2b11c3646105 ("xen/arm64: head: Remove 1:1 mapping as soon as it is > not used") > Signed-off-by: Julien Grall <jgr...@amazon.com>
Reviewed-by: Henry Wang <henry.w...@arm.com> I've also tested this patch on top of today's staging by our internal CI, which includes some arm64 emulated platforms and also real hardware, and this patch looks good, so: Tested-by: Henry Wang <henry.w...@arm.com> Kind regards, Henry