Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax
In directory usw-pr-cvs1:/tmp/cvs-serv30466
Modified Files:
system.h
Log Message:
Bring over latter 2.2 changes
Index: system.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/system.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** system.h 2001/01/18 15:52:28 1.2
--- system.h 2001/01/23 23:55:57 1.3
***************
*** 14,18 ****
! /* FIXME: process context switch */
/*
--- 14,18 ----
! #include <asm/psl.h>
/*
***************
*** 39,43 ****
#define switch_to(prev,next,last) \
do { \
! (last) = vax_switch_to((prev), (next)); \
} while (0)
--- 39,47 ----
#define switch_to(prev,next,last) \
do { \
! if ((prev) == (next)) { \
! (last) = (prev); \
! } else { \
! (last) = vax_switch_to((prev), (next)); \
! } \
} while (0)
***************
*** 53,59 ****
* Force strict CPU ordering. Stubbed out FIXME:
*/
! #define mb() __asm__ __volatile__("nop": : :"memory")
! #define rmb() asm volatile ("" : : :"memory")
! #define wmb() asm volatile ("" : : :"memory")
#define set_mb(var, value) do { xchg(&var, value); } while (0)
#define set_wmb(var, value) do { var = value; wmb(); } while (0)
--- 57,63 ----
* Force strict CPU ordering. Stubbed out FIXME:
*/
! #define mb() __asm__ __volatile__("": : :"memory")
! #define rmb() mb()
! #define wmb() mb()
#define set_mb(var, value) do { xchg(&var, value); } while (0)
#define set_wmb(var, value) do { var = value; wmb(); } while (0)
***************
*** 78,82 ****
#define __cli() setipl(31)
! #define __sti() setipl(0)
#define __save_flags(flags) ((flags) = getipl())
#define __save_and_cli(flags) ((flags) = swpipl(31))
--- 82,106 ----
#define __cli() setipl(31)
!
! /* If we're handling an interrupt (i.e. the IS bit is set in the
! PSL and we're on the interrupt stack), then we must not enable
! interrupts by dropping IPL all the way to 0. If we do, and
! another interrupt comes in, then this second interrupt will
! be handled normally, but will REI to a PSL with IS set and
! an IPL of 0, which REI doesn't like at all.
!
! So, instead, we drop IPL to 1 if we're running on the interrupt
! stack, thus making sure that REI will be kept happy. */
!
! extern __inline__ void
! __sti(void)
! {
! if (__psl.is) {
! setipl(1);
! } else {
! setipl(0);
! }
! }
!
#define __save_flags(flags) ((flags) = getipl())
#define __save_and_cli(flags) ((flags) = swpipl(31))
|