Hi Wei,

On 30/03/17 10:13, Wei Chen wrote:
+void synchronize_serror(void)

Sorry for been late in the party. Looking at the way you use the function, you execute depending on the behavior chosen by the user when an SErrors happen. This behavior will not change at runtime, so always checking the option chosen in the hot path does not sound very efficient.

I would recommend to look at ALTERNATIVE and streamline (dsb sy, isb). I.e

ALTERNATIVE("dsb sy; isb", "nop; nop", ...) or the invert depending of the place.

+{
+    /* Synchronize against in-flight ld/st. */
+    dsb(sy);
+
+    /* A single instruction exception window */
+    isb();
+}
+

Cheers,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to