#ifndef ARCH_SH_H
#define ARCH_SH_H
-#define SH (arch_sh)
+#define ARCH (arch_sh)
#ifndef __NR_ioprio_set
#define __NR_ioprio_set 288
#endif
#define nop __asm__ __volatile__ ("nop": : :"memory")
-#define read_barrier() __asm__ __volatile__ (" " : : : "memory")
-#define write_barrier() __asm__ __volatile__ (" " : : : "memory")
+
+#if defined(__SH4A__)
+#define mb() __asm__ __volatile__ ("synco": : :"memory")
+#else
+#define mb() __asm__ __volatile__ (" " : : : "memory")
+#endif
+
+#define read_barrier() mb()
+#define write_barrier() mb()
#endif