diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2001-07-26 22:30:22 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2001-07-26 22:30:22 +0000 |
commit | a951bbdf849ac348652294bb564cc739973d6ffc (patch) | |
tree | 276f5869e82ad61313bb34e836e4373074025a48 /sys | |
parent | 6e5b42a8610fdc8155e6e44f0ed061fd519b0e62 (diff) |
Always flush the pipeline after updating cr1.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/mvme88k/include/asm_macro.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/arch/mvme88k/include/asm_macro.h b/sys/arch/mvme88k/include/asm_macro.h index d1843534de8..e34517f07a3 100644 --- a/sys/arch/mvme88k/include/asm_macro.h +++ b/sys/arch/mvme88k/include/asm_macro.h @@ -1,4 +1,4 @@ -/* $OpenBSD: asm_macro.h,v 1.11 2001/03/08 22:24:59 miod Exp $ */ +/* $OpenBSD: asm_macro.h,v 1.12 2001/07/26 22:30:21 miod Exp $ */ /* * Mach Operating System * Copyright (c) 1993-1991 Carnegie Mellon University @@ -74,6 +74,7 @@ static __inline__ m88k_psr_type disable_interrupts_return_psr(void) static __inline__ void set_psr(m88k_psr_type psr) { __asm__ __volatile__ ("stcr %0, cr1" :: "r" (psr)); + __asm__ __volatile__ ("tcnd ne0, r0, 0"); } /* @@ -85,6 +86,7 @@ static __inline__ m88k_psr_type enable_interrupts_return_psr(void) __asm__ __volatile__ ("ldcr %0, cr1" : "=r" (oldpsr)); __asm__ __volatile__ ("clr %1, %0, 1<1>" : "=r" (oldpsr), "=r" (temp)); __asm__ __volatile__ ("stcr %0, cr1" : "=r" (temp)); + __asm__ __volatile__ ("tcnd ne0, r0, 0"); return oldpsr; } #define enable_interrupt() (void)enable_interrupts_return_psr() |