Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/i386/i386 Add stub for DDB IPI via a TSS.
details: https://anonhg.NetBSD.org/src/rev/1b0b92876b8e
branches: trunk
changeset: 537786:1b0b92876b8e
user: fvdl <fvdl%NetBSD.org@localhost>
date: Sat Oct 05 21:17:35 2002 +0000
description:
Add stub for DDB IPI via a TSS.
diffstat:
sys/arch/i386/i386/apicvec.s | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
diffs (52 lines):
diff -r ad995afe73a7 -r 1b0b92876b8e sys/arch/i386/i386/apicvec.s
--- a/sys/arch/i386/i386/apicvec.s Sat Oct 05 18:13:16 2002 +0000
+++ b/sys/arch/i386/i386/apicvec.s Sat Oct 05 21:17:35 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: apicvec.s,v 1.2 2002/10/01 12:56:46 fvdl Exp $ */
+/* $NetBSD: apicvec.s,v 1.3 2002/10/05 21:17:35 fvdl Exp $ */
/*-
* Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -58,7 +58,7 @@
#if defined(DDB)
.globl XINTR(ddbipi)
XINTR(ddbipi):
- pushl $0
+ pushl $0
pushl $T_ASTFLT
INTRENTRY
MAKE_FRAME
@@ -70,6 +70,24 @@
call _C_LABEL(ddb_ipi)
jmp _C_LABEL(Xdoreti)
#endif
+ .globl XINTR_TSS(ddbipi)
+XINTR_TSS(ddbipi):
+1:
+ str %ax
+ GET_TSS
+ movzwl (%eax),%eax
+ GET_TSS
+ pushl CPL
+ pushl %eax
+ movl _C_LABEL(lapic_ppr),%eax
+ movl %eax,CPL
+ movl $0,_C_LABEL(local_apic)+LAPIC_EOI
+ sti
+ call _C_LABEL(ddb_ipi_tss)
+ addl $4,%esp
+ popl CPL
+ iret
+ jmp 1b
#endif
/*
@@ -77,7 +95,7 @@
*/
.globl XINTR(ltimer)
XINTR(ltimer):
- pushl $0
+ pushl $0
pushl $T_ASTFLT
INTRENTRY
MAKE_FRAME
Home |
Main Index |
Thread Index |
Old Index