summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-05-05 21:17:47 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-05-05 21:17:47 +0000
commitdce79aee441824141d100a752fffd627e271175b (patch)
tree6a9e9a44b7c71372c0523c7fbe44f2c2f9ebe1d4 /c/src/lib/libbsp
parent2009-05-05 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-dce79aee441824141d100a752fffd627e271175b.tar.bz2
2009-05-05 Joel Sherrill <joel.sherrill@oarcorp.com>
* bootcard.c, gdbstub/rtems-stub-glue.c: Add info to not enough memory message.
Diffstat (limited to 'c/src/lib/libbsp')
-rw-r--r--c/src/lib/libbsp/shared/ChangeLog5
-rw-r--r--c/src/lib/libbsp/shared/bootcard.c6
-rw-r--r--c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c50
3 files changed, 58 insertions, 3 deletions
diff --git a/c/src/lib/libbsp/shared/ChangeLog b/c/src/lib/libbsp/shared/ChangeLog
index 7dfdc71e51..ac3e0db756 100644
--- a/c/src/lib/libbsp/shared/ChangeLog
+++ b/c/src/lib/libbsp/shared/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-05 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * bootcard.c, gdbstub/rtems-stub-glue.c: Add info to not enough memory
+ message.
+
2009-05-03 Joel Sherrill <joel.sherrill@oarcorp.com>
* tod.c: Remove warnings and clean up.
diff --git a/c/src/lib/libbsp/shared/bootcard.c b/c/src/lib/libbsp/shared/bootcard.c
index abb5216a63..7327e210a4 100644
--- a/c/src/lib/libbsp/shared/bootcard.c
+++ b/c/src/lib/libbsp/shared/bootcard.c
@@ -153,7 +153,11 @@ int boot_card(
&heap_start, (ssize_t*) &heap_size);
if ( work_area_size <= Configuration.work_space_size ) {
- printk( "bootcard: Work space too big for work area!\n");
+ printk(
+ "bootcard: Work space too big for work area! (%d > %d)\n",
+ Configuration.work_space_size,
+ work_area_size
+ );
bsp_cleanup();
return -1;
}
diff --git a/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c b/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c
index 5869ed9a0a..2f15fbff80 100644
--- a/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c
+++ b/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c
@@ -335,7 +335,7 @@ int rtems_gdb_stub_get_thread_info(
tmp_buf[8] = 0;
strcat(info->display, tmp_buf);
- rtems_object_get_name( thread, 5, info->name );
+ rtems_object_get_name( ((Objects_Control*)th)->id, 5, info->name );
info->more_display[0] = 0; /* Nothing */
return 1;
@@ -367,7 +367,7 @@ int rtems_gdb_stub_get_thread_info(
tmp_buf[8] = 0;
strcat(info->display, tmp_buf);
- rtems_object_get_name( thread, 5, info->name );
+ rtems_object_get_name( ((Objects_Control*)th)->id, 5, info->name );
info->more_display[0] = 0; /* Nothing */
return 1;
@@ -1358,6 +1358,52 @@ int rtems_gdb_stub_get_offsets(
return 1;
}
+#elif defined(__lm32__)
+
+void rtems_gdb_stub_get_registers_from_context(
+ unsigned int *registers,
+ Thread_Control *th
+)
+{
+ registers[LM32_REG_R11] = (uint32_t)th->Registers.r11;
+ registers[LM32_REG_R12] = (uint32_t)th->Registers.r12;
+ registers[LM32_REG_R13] = (uint32_t)th->Registers.r13;
+ registers[LM32_REG_R14] = (uint32_t)th->Registers.r14;
+ registers[LM32_REG_R15] = (uint32_t)th->Registers.r15;
+ registers[LM32_REG_R16] = (uint32_t)th->Registers.r16;
+ registers[LM32_REG_R17] = (uint32_t)th->Registers.r17;
+ registers[LM32_REG_R18] = (uint32_t)th->Registers.r18;
+ registers[LM32_REG_R19] = (uint32_t)th->Registers.r19;
+ registers[LM32_REG_R20] = (uint32_t)th->Registers.r20;
+ registers[LM32_REG_R21] = (uint32_t)th->Registers.r21;
+ registers[LM32_REG_R22] = (uint32_t)th->Registers.r22;
+ registers[LM32_REG_R23] = (uint32_t)th->Registers.r23;
+ registers[LM32_REG_R24] = (uint32_t)th->Registers.r24;
+ registers[LM32_REG_R25] = (uint32_t)th->Registers.r25;
+ registers[LM32_REG_GP] = (uint32_t)th->Registers.gp;
+ registers[LM32_REG_FP] = (uint32_t)th->Registers.fp;
+ registers[LM32_REG_SP] = (uint32_t)th->Registers.sp;
+ registers[LM32_REG_RA] = (uint32_t)th->Registers.ra;
+ registers[LM32_REG_IE] = (uint32_t)th->Registers.ie;
+#if 1
+ registers[LM32_REG_PC] = (uint32_t)th->Registers.epc;
+#else
+ registers[LM32_REG_PC] = (uint32_t)_CPU_Context_switch;
+#endif
+}
+
+int rtems_gdb_stub_get_offsets(
+ unsigned char **text_addr,
+ unsigned char **data_addr,
+ unsigned char **bss_addr
+)
+{
+ *text_addr = 0;
+ *data_addr = 0;
+ *bss_addr = 0;
+ return 1;
+}
+
#else
#error "rtems-gdb-stub.c: Unsupported CPU!"
#endif