Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch Fix incorrect kernelmode check in INTRENTRY macro.
details: https://anonhg.NetBSD.org/src/rev/8f54a0c78674
branches: trunk
changeset: 516652:8f54a0c78674
user: msaitoh <msaitoh%NetBSD.org@localhost>
date: Sat Oct 27 03:46:19 2001 +0000
description:
Fix incorrect kernelmode check in INTRENTRY macro.
Broken INTRENTRY causes CPU reset when sigaltstack is used.
diffstat:
sys/arch/dreamcast/dreamcast/locore.s | 9 +++------
sys/arch/evbsh3/evbsh3/locore.s | 9 +++------
sys/arch/hpcsh/hpcsh/locore.s | 9 +++------
sys/arch/mmeye/mmeye/locore.s | 9 +++------
4 files changed, 12 insertions(+), 24 deletions(-)
diffs (112 lines):
diff -r 88ac9d9d2edf -r 8f54a0c78674 sys/arch/dreamcast/dreamcast/locore.s
--- a/sys/arch/dreamcast/dreamcast/locore.s Sat Oct 27 01:57:40 2001 +0000
+++ b/sys/arch/dreamcast/dreamcast/locore.s Sat Oct 27 03:46:19 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.9 2001/08/10 18:27:12 msaitoh Exp $ */
+/* $NetBSD: locore.s,v 1.10 2001/10/27 03:46:19 msaitoh Exp $ */
/*-
* Copyright (c) 1993, 1994, 1995, 1997
@@ -85,16 +85,13 @@
ldc r8, r0_bank ; \
ldc r9, r1_bank ; \
ldc r10, r3_bank ; \
- mov r15, r8 ; /* Check if kernel stack is already used */ \
- mov #0x3, r9 ; \
mov #30, r10 ; \
- shld r10, r9 ; /* r9 = 0xc0000000 */ \
- and r9, r8 ; \
mov #2, r9 ; \
shld r10, r9 ; /* r9 = 0x80000000 */ \
and r15, r9 ; \
+ xor r8, r8 ; \
cmp/eq r8, r9 ; \
- bt 1f ; /* If already kernel mode then jump */ \
+ bf 1f ; /* If already kernel mode then jump */ \
ldc r15, r2_bank ; \
mov.l 3f, r8 ; /* 3f = Kernel Stack */ \
mov.l @r8, r15 ; /* Change to Kernel Stack */ \
diff -r 88ac9d9d2edf -r 8f54a0c78674 sys/arch/evbsh3/evbsh3/locore.s
--- a/sys/arch/evbsh3/evbsh3/locore.s Sat Oct 27 01:57:40 2001 +0000
+++ b/sys/arch/evbsh3/evbsh3/locore.s Sat Oct 27 03:46:19 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.33 2001/08/10 18:27:12 msaitoh Exp $ */
+/* $NetBSD: locore.s,v 1.34 2001/10/27 03:46:20 msaitoh Exp $ */
/*-
* Copyright (c) 1993, 1994, 1995, 1997
@@ -86,16 +86,13 @@
ldc r8, r0_bank ; \
ldc r9, r1_bank ; \
ldc r10, r3_bank ; \
- mov r15, r8 ; /* Check if kernel stack is already used */ \
- mov #0x3, r9 ; \
mov #30, r10 ; \
- shld r10, r9 ; /* r9 = 0xc0000000 */ \
- and r9, r8 ; \
mov #2, r9 ; \
shld r10, r9 ; /* r9 = 0x80000000 */ \
and r15, r9 ; \
+ xor r8, r8 ; \
cmp/eq r8, r9 ; \
- bt 1f ; /* If already kernel mode then jump */ \
+ bf 1f ; /* If already kernel mode then jump */ \
ldc r15, r2_bank ; \
mov.l 3f, r8 ; /* 3f = Kernel Stack */ \
mov.l @r8, r15 ; /* Change to Kernel Stack */ \
diff -r 88ac9d9d2edf -r 8f54a0c78674 sys/arch/hpcsh/hpcsh/locore.s
--- a/sys/arch/hpcsh/hpcsh/locore.s Sat Oct 27 01:57:40 2001 +0000
+++ b/sys/arch/hpcsh/hpcsh/locore.s Sat Oct 27 03:46:19 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.9 2001/08/10 18:27:13 msaitoh Exp $ */
+/* $NetBSD: locore.s,v 1.10 2001/10/27 03:46:20 msaitoh Exp $ */
/*-
* Copyright (c) 1993, 1994, 1995, 1997
@@ -84,16 +84,13 @@
ldc r8, r0_bank ; \
ldc r9, r1_bank ; \
ldc r10, r3_bank ; \
- mov r15, r8 ; /* Check if kernel stack is already used */ \
- mov #0x3, r9 ; \
mov #30, r10 ; \
- shld r10, r9 ; /* r9 = 0xc0000000 */ \
- and r9, r8 ; \
mov #2, r9 ; \
shld r10, r9 ; /* r9 = 0x80000000 */ \
and r15, r9 ; \
+ xor r8, r8 ; \
cmp/eq r8, r9 ; \
- bt 1f ; /* If already kernel mode then jump */ \
+ bf 1f ; /* If already kernel mode then jump */ \
ldc r15, r2_bank ; \
mov.l 3f, r8 ; /* 3f = Kernel Stack */ \
mov.l @r8, r15 ; /* Change to Kernel Stack */ \
diff -r 88ac9d9d2edf -r 8f54a0c78674 sys/arch/mmeye/mmeye/locore.s
--- a/sys/arch/mmeye/mmeye/locore.s Sat Oct 27 01:57:40 2001 +0000
+++ b/sys/arch/mmeye/mmeye/locore.s Sat Oct 27 03:46:19 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.22 2001/08/10 18:27:13 msaitoh Exp $ */
+/* $NetBSD: locore.s,v 1.23 2001/10/27 03:46:20 msaitoh Exp $ */
/*-
* Copyright (c) 1993, 1994, 1995, 1997
@@ -77,16 +77,13 @@
ldc r8, r0_bank ; \
ldc r9, r1_bank ; \
ldc r10, r3_bank ; \
- mov r15, r8 ; /* Check if kernel stack is already used */ \
- mov #0x3, r9 ; \
mov #30, r10 ; \
- shld r10, r9 ; /* r9 = 0xc0000000 */ \
- and r9, r8 ; \
mov #2, r9 ; \
shld r10, r9 ; /* r9 = 0x80000000 */ \
and r15, r9 ; \
+ xor r8, r8 ; \
cmp/eq r8, r9 ; \
- bt 1f ; /* If already kernel mode then jump */ \
+ bf 1f ; /* If already kernel mode then jump */ \
ldc r15, r2_bank ; \
mov.l 3f, r8 ; /* 3f = Kernel Stack */ \
mov.l @r8, r15 ; /* Change to Kernel Stack */ \
Home |
Main Index |
Thread Index |
Old Index