Date: Sun, 4 Jul 2004 23:51:07 GMT From: Marcel Moolenaar <marcel@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 56470 for review Message-ID: <200407042351.i64Np7bH064287@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=56470 Change 56470 by marcel@marcel_nfs on 2004/07/04 23:50:52 Finish the switch from the trapframe to the pcb as the primary context for kernel threads on alpha. Affected files ... .. //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#5 edit .. //depot/projects/gdb/sys/alpha/alpha/interrupt.c#9 edit .. //depot/projects/gdb/sys/alpha/alpha/trap.c#8 edit Differences ... ==== //depot/projects/gdb/sys/alpha/alpha/gdb_machdep.c#5 (text+ko) ==== @@ -33,8 +33,8 @@ #include <sys/kernel.h> #include <sys/signal.h> -#include <machine/frame.h> #include <machine/gdb_machdep.h> +#include <machine/pcb.h> #include <machine/reg.h> #include <gdb/gdb.h> @@ -42,42 +42,18 @@ void * gdb_cpu_getreg(int regnum, size_t *regsz) { - struct trapframe *tf = kdb_frame; *regsz = gdb_cpu_regsz(regnum); switch (regnum) { - case 0: return (&tf->tf_regs[FRAME_V0]); - case 1: return (&tf->tf_regs[FRAME_T0]); - case 2: return (&tf->tf_regs[FRAME_T1]); - case 3: return (&tf->tf_regs[FRAME_T2]); - case 4: return (&tf->tf_regs[FRAME_T3]); - case 5: return (&tf->tf_regs[FRAME_T4]); - case 6: return (&tf->tf_regs[FRAME_T5]); - case 7: return (&tf->tf_regs[FRAME_T6]); - case 8: return (&tf->tf_regs[FRAME_T7]); - case 9: return (&tf->tf_regs[FRAME_S0]); - case 10: return (&tf->tf_regs[FRAME_S1]); - case 11: return (&tf->tf_regs[FRAME_S2]); - case 12: return (&tf->tf_regs[FRAME_S3]); - case 13: return (&tf->tf_regs[FRAME_S4]); - case 14: return (&tf->tf_regs[FRAME_S5]); - case 15: return (&tf->tf_regs[FRAME_S6]); - case 16: return (&tf->tf_regs[FRAME_A0]); - case 17: return (&tf->tf_regs[FRAME_A1]); - case 18: return (&tf->tf_regs[FRAME_A2]); - case 19: return (&tf->tf_regs[FRAME_A3]); - case 20: return (&tf->tf_regs[FRAME_A4]); - case 21: return (&tf->tf_regs[FRAME_A5]); - case 22: return (&tf->tf_regs[FRAME_T8]); - case 23: return (&tf->tf_regs[FRAME_T9]); - case 24: return (&tf->tf_regs[FRAME_T10]); - case 25: return (&tf->tf_regs[FRAME_T11]); - case 26: return (&tf->tf_regs[FRAME_RA]); - case 27: return (&tf->tf_regs[FRAME_T12]); - case 28: return (&tf->tf_regs[FRAME_AT]); - case 29: return (&tf->tf_regs[FRAME_GP]); - case 30: return (&tf->tf_regs[FRAME_SP]); - case 64: return (&tf->tf_regs[FRAME_PC]); + case 9: return (&kdb_thrctx->pcb_context[0]); + case 10: return (&kdb_thrctx->pcb_context[1]); + case 11: return (&kdb_thrctx->pcb_context[2]); + case 12: return (&kdb_thrctx->pcb_context[3]); + case 13: return (&kdb_thrctx->pcb_context[4]); + case 14: return (&kdb_thrctx->pcb_context[5]); + case 15: return (&kdb_thrctx->pcb_context[6]); + case 26: return (&kdb_thrctx->pcb_context[7]); + case 30: return (&kdb_thrctx->pcb_hw.apcb_ksp); } return (NULL); } ==== //depot/projects/gdb/sys/alpha/alpha/interrupt.c#9 (text+ko) ==== @@ -103,7 +103,6 @@ intr_restore(s); #endif atomic_add_int(&td->td_intr_nesting_level, 1); - td->td_last_frame = framep; #if KSTACK_GUARD_PAGES == 0 #ifndef SMP ==== //depot/projects/gdb/sys/alpha/alpha/trap.c#8 (text+ko) ==== @@ -290,8 +290,6 @@ } #endif - td->td_last_frame = framep; - /* GIANT_REQUIRED; * Giant hasn't been acquired yet. @@ -662,7 +660,6 @@ cnt.v_syscall++; td->td_frame = framep; - td->td_last_frame = framep; opc = framep->tf_regs[FRAME_PC] - 4; sticks = td->td_sticks; if (td->td_ucred != p->p_ucred)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407042351.i64Np7bH064287>