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