summaryrefslogtreecommitdiffstats
path: root/include/asm-mips
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-07-16 19:10:01 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-07-16 19:10:01 +0000
commit1ace72167d23543960d517e3d444762cb92bd211 (patch)
treec5d5aaf9501edcc48dc8dfdca9ed694d0d26763f /include/asm-mips
parentcb9368e29107fdf541cb68499a04f67949c131c5 (diff)
- Reformat ptrace.c for readability.
- Handle lazy fpu context switches correctly for ptrace(2). - Don't read $fcr31 on context switch, it's pure bloat. - New processes get $fcr31 initialized to no exceptions. - First beginnings of floating point support kernel code. For now we only can handle cvt.w.s and cvt.w.d instructions where the source register is a NaN, infinity or denorm. This is good enough to get Mozilla up. - Don't send SIGFPE on every floating point instruction we don't know how to handle, rather just complain. - Cleanup headerfile inclusions in the HPC3 code. - Fix the definition of PAGE_NONE.
Diffstat (limited to 'include/asm-mips')
-rw-r--r--include/asm-mips/fp.h30
-rw-r--r--include/asm-mips/pgtable.h10
2 files changed, 39 insertions, 1 deletions
diff --git a/include/asm-mips/fp.h b/include/asm-mips/fp.h
new file mode 100644
index 000000000..463478147
--- /dev/null
+++ b/include/asm-mips/fp.h
@@ -0,0 +1,30 @@
+/* $Id: fp.h,v 1.1 1998/07/16 17:01:54 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
+ * for more details.
+ *
+ * Copyright (C) 1998 by Ralf Baechle
+ */
+
+/*
+ * Activate and deactive the floatingpoint accelerator.
+ */
+#define enable_cp1() \
+ __asm__ __volatile__( \
+ ".set\tnoat\n\t" \
+ "mfc0\t$1,$12\n\t" \
+ "or\t$1,%0\n\t" \
+ "mtc0\t$1,$12\n\t" \
+ ".set\tat" \
+ : : "r" (ST0_CU1));
+
+#define disable_cp1() \
+ __asm__ __volatile__( \
+ ".set\tnoat\n\t" \
+ "mfc0\t$1,$12\n\t" \
+ "or\t$1,%0\n\t" \
+ "xor\t$1,%0\n\t" \
+ "mtc0\t$1,$12\n\t" \
+ ".set\tat" \
+ : : "r" (ST0_CU1));
diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h
index 02ec7ef51..e84692a40 100644
--- a/include/asm-mips/pgtable.h
+++ b/include/asm-mips/pgtable.h
@@ -1,3 +1,11 @@
+/* $Id: pgtable.h,v 1.11 1998/07/14 09:31:48 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
+ * for more details.
+ *
+ * Copyright (C) 1994 - 1998 by Ralf Baechle at alii
+ */
#ifndef __ASM_MIPS_PGTABLE_H
#define __ASM_MIPS_PGTABLE_H
@@ -121,7 +129,7 @@ extern void (*add_wired_entry)(unsigned long entrylo0, unsigned long entrylo1,
#define _PAGE_CHG_MASK (PAGE_MASK | __READABLE | __WRITEABLE | _CACHE_MASK)
-#define PAGE_NONE __pgprot(0)
+#define PAGE_NONE __pgprot(_PAGE_PRESENT | _CACHE_CACHABLE_NONCOHERENT)
#define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_READ | _PAGE_WRITE | \
_CACHE_CACHABLE_NONCOHERENT)
#define PAGE_COPY __pgprot(_PAGE_PRESENT | _PAGE_READ | \