Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/alpha/alpha - Revert previous change to XentIF(), n...



details:   https://anonhg.NetBSD.org/src/rev/ba083e081442
branches:  trunk
changeset: 472090:ba083e081442
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Tue Apr 20 21:11:59 1999 +0000

description:
- Revert previous change to XentIF(), now that we're going to enter the
  debugger differently.
- Pull in debugger glue if DDB is configured.

And one unrelated change, while I was here: Don't create a fake trapframe
for main(); it hasn't been used by main() for quite some time, and panic
if main() returns, because that's not supposed to happen now.

diffstat:

 sys/arch/alpha/alpha/locore.s |  50 ++++++++++++++----------------------------
 1 files changed, 17 insertions(+), 33 deletions(-)

diffs (87 lines):

diff -r f830cd0da8f4 -r ba083e081442 sys/arch/alpha/alpha/locore.s
--- a/sys/arch/alpha/alpha/locore.s     Tue Apr 20 21:09:49 1999 +0000
+++ b/sys/arch/alpha/alpha/locore.s     Tue Apr 20 21:11:59 1999 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: locore.s,v 1.61 1999/04/19 23:24:14 thorpej Exp $ */
+/* $NetBSD: locore.s,v 1.62 1999/04/20 21:11:59 thorpej Exp $ */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -76,7 +76,7 @@
 
 #include <machine/asm.h>
 
-__KERNEL_RCSID(0, "$NetBSD: locore.s,v 1.61 1999/04/19 23:24:14 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: locore.s,v 1.62 1999/04/20 21:11:59 thorpej Exp $");
 
 #ifndef EVCNT_COUNTERS
 #include <machine/intrcnt.h>
@@ -219,19 +219,12 @@
        call_pal PAL_imb
 
        /*
-        * Construct a fake trap frame, so execve() can work normally.
-        * Note that setregs() is responsible for setting its contents
-        * to 'reasonable' values.
+        * All ready to go!  Call main()!
         */
-       lda     sp,-(FRAME_SIZE * 8)(sp)        /* space for struct trapframe */
-       mov     sp, a0                          /* main()'s arg is frame ptr */
-       CALL(main)                              /* go to main()! */
+       CALL(main)
 
-       /*
-        * Call exception_return, to simulate return from (fake)
-        * exception to user-land, running process 1, init!
-        */
-       jmp     zero, exception_return          /* "And that's all she wrote." */
+       /* This should never happen. */
+       PANIC("main() returned",Lmain_returned_pmsg)
        END(locorestart)
 
 /**************************************************************************/
@@ -283,6 +276,17 @@
 
 /**************************************************************************/
 
+#if defined(DDB)
+/*
+ * Pull in debugger glue.
+ */
+#include <alpha/alpha/debug.s>
+#endif /* DDB */
+
+/**************************************************************************/
+
+/**************************************************************************/
+
        .data
 EXPORT(cold)
        .long 1                 /* cold start flag (.long -> _4_ bytes) */
@@ -515,26 +519,6 @@
        /* a0, a1, & a2 already set up */
        ldiq    a3, ALPHA_KENTRY_IF
        mov     sp, a4                  ; .loc 1 __LINE__
-#if defined(DDB)
-       /*
-        * Kernel-mode BUGCHK and BPT traps enter the kernel debugger.
-        */
-       ldq     t0, (FRAME_PS*8)(sp)
-       and     t0, ALPHA_PSL_USERMODE, t0
-       bne     t0, Lcalltrap           /* usermode */
-
-       cmpeq   a0, ALPHA_IF_CODE_BPT, t0
-       bne     t0, Lcalldbgr           /* got BPT */
-
-       cmpeq   a0, ALPHA_IF_CODE_BUGCHK, t0
-       beq     t0, Lcalltrap           /* not BUGCHK */
-Lcalldbgr:
-       CALL(ddb_trap)
-       beq     v0, Lcalltrap           /* debugger didn't handle trap! */
-       
-       jmp     zero, exception_return  /* debugger handled it, return */
-Lcalltrap:
-#endif
        CALL(trap)
        jmp     zero, exception_return  
        END(XentIF)



Home | Main Index | Thread Index | Old Index