AArch64 F2+DSB-ETS { [PTE(x)]=(db:0); 0:X1=(oa:PA(x),db:1); 0:X2=PTE(x); 0:X3=x; 1:X3=x } P0 | P1 ; STR X1,[X2] | MOV W4,#1 ; DSB ISH | STR W4, [X3] ; (* new permissions *) LDR W7,[X3] | L0:STR W4, [X3] ; (* old permissions *) exists (0:X7=0 /\ fault(P1:L0,x,MMU:Permission)) \/ (0:X7=1 /\ fault(P1:L0,x,MMU:Permission))