summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-mips/processor.h6
-rw-r--r--include/asm-mips/ptrace.h4
-rw-r--r--include/asm-mips/system.h9
3 files changed, 14 insertions, 5 deletions
diff --git a/include/asm-mips/processor.h b/include/asm-mips/processor.h
index 1df7cb200..ca561233e 100644
--- a/include/asm-mips/processor.h
+++ b/include/asm-mips/processor.h
@@ -1,4 +1,4 @@
-/* $Id: processor.h,v 1.19 1999/09/28 22:27:17 ralf Exp $
+/* $Id: processor.h,v 1.20 1999/10/09 00:01:43 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -12,6 +12,8 @@
#ifndef _ASM_PROCESSOR_H
#define _ASM_PROCESSOR_H
+#include <asm/isadep.h>
+
/*
* Default implementation of macro that returns current
* instruction pointer ("program counter").
@@ -208,7 +210,7 @@ extern inline unsigned long thread_saved_pc(struct thread_struct *t)
*/
#define start_thread(regs, new_pc, new_sp) do { \
/* New thread looses kernel privileges. */ \
- regs->cp0_status = (regs->cp0_status & ~(ST0_CU0|ST0_KSU)) | KSU_USER;\
+ regs->cp0_status = (regs->cp0_status & ~(ST0_CU0|ST0_KSU)) | KU_USER;\
regs->cp0_epc = new_pc; \
regs->regs[29] = new_sp; \
current->thread.current_ds = USER_DS; \
diff --git a/include/asm-mips/ptrace.h b/include/asm-mips/ptrace.h
index f1f9ce269..559edac6a 100644
--- a/include/asm-mips/ptrace.h
+++ b/include/asm-mips/ptrace.h
@@ -1,4 +1,4 @@
-/* $Id: ptrace.h,v 1.6 1999/08/09 19:43:17 harald Exp $
+/* $Id: ptrace.h,v 1.7 1999/09/28 22:27:17 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -60,7 +60,7 @@ struct pt_regs {
/*
* Does the process account for user or for system time?
*/
-#define user_mode(regs) ((regs)->cp0_status & 0x10)
+#define user_mode(regs) (((regs)->cp0_status & KU_MASK) == KU_USER)
#define instruction_pointer(regs) ((regs)->cp0_epc)
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h
index 80cbd08fc..50c7b0d36 100644
--- a/include/asm-mips/system.h
+++ b/include/asm-mips/system.h
@@ -1,4 +1,4 @@
-/* $Id: system.h,v 1.15 1999/08/13 17:07:28 harald Exp $
+/* $Id: system.h,v 1.16 1999/10/09 00:01:43 ralf Exp $
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -127,6 +127,12 @@ __restore_flags(int flags)
/*
* These are probably defined overly paranoid ...
*/
+#ifdef CONFIG_CPU_HAS_WB
+#include <asm/wbflush.h>
+#define rmb()
+#define wmb() wbflush()
+#define mb() wbflush()
+#else
#define mb() \
__asm__ __volatile__( \
"# prevent instructions being moved around\n\t" \
@@ -139,6 +145,7 @@ __asm__ __volatile__( \
: "memory")
#define rmb() mb()
#define wmb() mb()
+#endif
#define set_mb(var, value) \
do { var = value; mb(); } while (0)