Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/mips/mips Allow vN, aN, tN, ra, sr, mul[lo, hi] and ...
details: https://anonhg.NetBSD.org/src/rev/9e338a7ac18a
branches: trunk
changeset: 482634:9e338a7ac18a
user: mycroft <mycroft%NetBSD.org@localhost>
date: Thu Feb 17 23:52:23 2000 +0000
description:
Allow vN, aN, tN, ra, sr, mul[lo,hi] and pc to be set from DDB. sN requires
more work.
diffstat:
sys/arch/mips/mips/db_interface.c | 30 ++++++++++++++++++++++++++++--
1 files changed, 28 insertions(+), 2 deletions(-)
diffs (44 lines):
diff -r 18eec34980ff -r 9e338a7ac18a sys/arch/mips/mips/db_interface.c
--- a/sys/arch/mips/mips/db_interface.c Thu Feb 17 22:16:31 2000 +0000
+++ b/sys/arch/mips/mips/db_interface.c Thu Feb 17 23:52:23 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: db_interface.c,v 1.23 2000/01/26 13:36:05 soren Exp $ */
+/* $NetBSD: db_interface.c,v 1.24 2000/02/17 23:52:23 mycroft Exp $ */
/*
* Mach Operating System
@@ -178,7 +178,33 @@
cnpollc(0);
db_active--;
- tfp[21] = f->f_regs[PC]; /* XXX resume XXX */
+ if (type & T_USER)
+ *(struct frame *)curproc->p_md.md_regs = *f;
+ else {
+ /* Synthetic full scale register context when trap happens */
+ tfp[0] = f->f_regs[AST];
+ tfp[1] = f->f_regs[V0];
+ tfp[2] = f->f_regs[V1];
+ tfp[3] = f->f_regs[A0];
+ tfp[4] = f->f_regs[A1];
+ tfp[5] = f->f_regs[A2];
+ tfp[6] = f->f_regs[A3];
+ tfp[7] = f->f_regs[T0];
+ tfp[8] = f->f_regs[T1];
+ tfp[9] = f->f_regs[T2];
+ tfp[10] = f->f_regs[T3];
+ tfp[11] = f->f_regs[T4];
+ tfp[12] = f->f_regs[T5];
+ tfp[13] = f->f_regs[T6];
+ tfp[14] = f->f_regs[T7];
+ tfp[15] = f->f_regs[T8];
+ tfp[16] = f->f_regs[T9];
+ tfp[17] = f->f_regs[RA];
+ tfp[18] = f->f_regs[SR];
+ tfp[19] = f->f_regs[MULLO];
+ tfp[20] = f->f_regs[MULHI];
+ tfp[21] = f->f_regs[PC];
+ }
return (1);
}
Home |
Main Index |
Thread Index |
Old Index