From d1ffd141dbfcde8b1e15712d2fd9fcbfac441858 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sat, 19 Jan 2019 16:25:49 +0000 Subject: [PATCH] cpu: add a barrier() macro --- Kernel/cpu-6502/cpu.h | 1 + Kernel/cpu-65c816/cpu.h | 1 + Kernel/cpu-68000/cpu.h | 1 + Kernel/cpu-6809/cpu.h | 1 + Kernel/cpu-68hc11/cpu.h | 1 + Kernel/cpu-8086/cpu.h | 1 + Kernel/cpu-msp430x/cpu.h | 1 + Kernel/cpu-pdp11/cpu.h | 2 ++ Kernel/cpu-z80/cpu.h | 1 + 9 files changed, 10 insertions(+) diff --git a/Kernel/cpu-6502/cpu.h b/Kernel/cpu-6502/cpu.h index 5aa5f383..9796f8cc 100644 --- a/Kernel/cpu-6502/cpu.h +++ b/Kernel/cpu-6502/cpu.h @@ -71,3 +71,4 @@ typedef union { /* this structure is endian dependent */ #define HIBYTE32(x) (((uint8_t *)&(x))[3]) #define __packed +#define barrier() diff --git a/Kernel/cpu-65c816/cpu.h b/Kernel/cpu-65c816/cpu.h index 2a3c4a30..1016e3a0 100644 --- a/Kernel/cpu-65c816/cpu.h +++ b/Kernel/cpu-65c816/cpu.h @@ -78,3 +78,4 @@ typedef union { /* this structure is endian dependent */ #define regptr register #define __packed +#define barrier() diff --git a/Kernel/cpu-68000/cpu.h b/Kernel/cpu-68000/cpu.h index 35561efe..9e4cbac4 100644 --- a/Kernel/cpu-68000/cpu.h +++ b/Kernel/cpu-68000/cpu.h @@ -79,3 +79,4 @@ register struct u_data *udata_ptr asm ("a5"); #define CPUTYPE CPUTYPE_68000 #define __packed __attribute__((packed)) +#define barrier() asm volatile("":::"memory") diff --git a/Kernel/cpu-6809/cpu.h b/Kernel/cpu-6809/cpu.h index 0ba8e112..8d0322a2 100644 --- a/Kernel/cpu-6809/cpu.h +++ b/Kernel/cpu-6809/cpu.h @@ -72,3 +72,4 @@ typedef union { /* this structure is endian dependent */ #define CPUTYPE CPUTYPE_6809 #define __packed __attribute__((packed)) +#define barrier() asm volatile("":::"memory") diff --git a/Kernel/cpu-68hc11/cpu.h b/Kernel/cpu-68hc11/cpu.h index 6faac2b5..167f461b 100644 --- a/Kernel/cpu-68hc11/cpu.h +++ b/Kernel/cpu-68hc11/cpu.h @@ -70,3 +70,4 @@ typedef union { /* this structure is endian dependent */ #define CPUTYPE CPUTYPE_68HC11 #define __packed __attribute__((packed)) +#define barrier() asm volatile("":::"memory") diff --git a/Kernel/cpu-8086/cpu.h b/Kernel/cpu-8086/cpu.h index ce2ae6c1..6c70834a 100644 --- a/Kernel/cpu-8086/cpu.h +++ b/Kernel/cpu-8086/cpu.h @@ -95,3 +95,4 @@ static inline uint8_t inb(uint16_t port) #define CPUTYPE CPUTYPE_8086 #define __packed __attribute__((packed)) +#define barrier() asm volatile("":::"memory") diff --git a/Kernel/cpu-msp430x/cpu.h b/Kernel/cpu-msp430x/cpu.h index 03037c32..8b3b6092 100644 --- a/Kernel/cpu-msp430x/cpu.h +++ b/Kernel/cpu-msp430x/cpu.h @@ -120,3 +120,4 @@ typedef union { /* this structure is endian dependent */ #define CPUTYPE CPUTYPE_MSP340X #define __packed __attribute__((packed)) +#define barrier() asm volatile("":::"memory") diff --git a/Kernel/cpu-pdp11/cpu.h b/Kernel/cpu-pdp11/cpu.h index 961f92cf..de638e4f 100644 --- a/Kernel/cpu-pdp11/cpu.h +++ b/Kernel/cpu-pdp11/cpu.h @@ -78,3 +78,5 @@ typedef union { /* this structure is endian dependent */ #define PDP_ENDIAN #define CPUTYPE CPUTYPE_PDP11 + +#define barrier() asm volatile("":::"memory") diff --git a/Kernel/cpu-z80/cpu.h b/Kernel/cpu-z80/cpu.h index 172d681e..add210b1 100644 --- a/Kernel/cpu-z80/cpu.h +++ b/Kernel/cpu-z80/cpu.h @@ -94,3 +94,4 @@ typedef union { /* this structure is endian dependent */ padding either */ #define __packed +#define barrier() -- 2.34.1