View | Details | Raw Unified | Return to bug 251463 | Differences between
and this patch

Collapse All | Expand All

(-)sys/arm/include/gdb_machdep.h (+2 lines)
Lines 33-38 Link Here
33
33
34
#define	GDB_BUFSZ	400
34
#define	GDB_BUFSZ	400
35
#define	GDB_NREGS	26
35
#define	GDB_NREGS	26
36
#define GDB_REG_SP	13
37
#define GDB_REG_LR	14
36
#define	GDB_REG_PC	15
38
#define	GDB_REG_PC	15
37
39
38
static __inline size_t
40
static __inline size_t
(-)sys/arm/arm/gdb_machdep.c (-2 / +19 lines)
Lines 97-107 Link Here
97
void
97
void
98
gdb_cpu_setreg(int regnum, void *val)
98
gdb_cpu_setreg(int regnum, void *val)
99
{
99
{
100
101
	switch (regnum) {
100
	switch (regnum) {
102
	case GDB_REG_PC:
101
	case GDB_REG_PC:
103
		if (kdb_thread  == curthread)
102
		if (kdb_thread == curthread) {
104
			kdb_frame->tf_pc = *(register_t *)val;
103
			kdb_frame->tf_pc = *(register_t *)val;
104
		}
105
		break;
106
	case GDB_REG_SP:
107
		if (kdb_thread == curthread) {
108
			kdb_frame->tf_svc_sp = *(register_t *)val;
109
		}
110
		break;
111
	case GDB_REG_LR:
112
		if (kdb_thread == curthread) {
113
			kdb_frame->tf_svc_lr = *(register_t *)val;
114
		}
115
		break;
116
	default:
117
		/* Write to the general purpose registers r0-r12. */
118
		if (kdb_thread == curthread && regnum >= 0 && regnum <= 12) {
119
			*(&kdb_frame->tf_r0 + regnum) = *(register_t *)val;
120
		}
121
		break;
105
	}
122
	}
106
}
123
}
107
124

Return to bug 251463