Upgrading barriers is conservative and may not be necessary.
Protected Table Walk traps stage 1 page tables which refer to device memory
(per stage 2) using a non-device mapping. This generally indicates a guest
error but trapping it as a fault for now helps us know if something odd is
going on.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
WRITE_CP32(SCTLR_BASE, SCTLR);
- WRITE_CP32(HCR_AMO|HCR_IMO|HCR_VM, HCR);
+ WRITE_CP32(HCR_PTW|HCR_BSU_OUTER|HCR_AMO|HCR_IMO|HCR_VM, HCR);
isb();
local_abort_enable();
#define HCR_TWI (1<<13)
#define HCR_DC (1<<12)
#define HCR_BSU_MASK (3<<10)
+#define HCR_BSU_NONE (0<<10)
+#define HCR_BSU_INNER (1<<10)
+#define HCR_BSU_OUTER (2<<10)
+#define HCR_BSU_FULL (3<<10)
#define HCR_FB (1<<9)
#define HCR_VA (1<<8)
#define HCR_VI (1<<7)