[rfc/rfa] [4/4] SPU enhancements: GDB/MI extensions

Ulrich Weigand
2007-06-02T19:34:07Z

Hello,

this patch makes the new "info spu" commands available via the GDB/MI
protocol. The Cell Broadband Engine IDE is already able to make use
of these commands and display the SPU status information.

It looks like these are the first platform-specific MI commands, so
I'd appreciate opinions on this ...

Eli, doc changes OK?

Bye,
Ulrich

ChangeLog:

* mi/mi-cmds.c (mi_cmds): Add -spu-info-event, -spu-info-signal,
-spu-info-mailbox, -spu-info-dma, and -spu-info-proxydma commands.

doc/ChangeLog:

* gdb.texinfo (GDB/MI Miscellaneous Commands): Document -spu-info
commands.

diff -urNp gdb-orig/gdb/doc/gdb.texinfo gdb-head/gdb/doc/gdb.texinfo
--- gdb-orig/gdb/doc/gdb.texinfo 2007-05-31 18:54:31.000000000 +0200
+++ gdb-head/gdb/doc/gdb.texinfo 2007-06-02 20:02:13.954945166 +0200
@@ -21155,6 +21155,86 @@ fullname="/home/nickrob/myprog.c",line="
(gdb)
@end smallexample

+@subheading The @code{-spu-info-event} Command
+@findex -spu-info-event
+
+@subheading Synopsis
+
+@smallexample
+-spu-info-event
+@end smallexample
+
+Display SPU event facility status. This command is available only
+when @value{GDBN} is debugging the Cell Broadband Engine SPU architecture.
+
+@subheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{info spu event}.
+
+@subheading The @code{-spu-info-signal} Command
+@findex -spu-info-signal
+
+@subheading Synopsis
+
+@smallexample
+-spu-info-signal
+@end smallexample
+
+Display SPU signal notification facility status. This command is available
+only when @value{GDBN} is debugging the Cell Broadband Engine SPU architecture.
+
+@subheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{info spu signal}.
+
+@subheading The @code{-spu-info-mailbox} Command
+@findex -spu-info-mailbox
+
+@subheading Synopsis
+
+@smallexample
+-spu-info-mailbox
+@end smallexample
+
+Display SPU mailbox facility status. This command is available only when
+@value{GDBN} is debugging the Cell Broadband Engine SPU architecture.
+
+@subheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{info spu mailbox}.
+
+@subheading The @code{-spu-info-dma} Command
+@findex -spu-info-dma
+
+@subheading Synopsis
+
+@smallexample
+-spu-info-dma
+@end smallexample
+
+Display MFC DMA status. This command is available only when @value{GDBN}
+is debugging the Cell Broadband Engine SPU architecture.
+
+@subheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{info spu dma}.
+
+@subheading The @code{-spu-info-proxydma} Command
+@findex -spu-info-proxydma
+
+@subheading Synopsis
+
+@smallexample
+-spu-info-proxydma
+@end smallexample
+
+Display MFC Proxy-DMA status. This command is available only when
+@value{GDBN} is debugging the Cell Broadband Engine SPU architecture.
+
+@subheading @value{GDBN} Command
+
+The corresponding @value{GDBN} command is @samp{info spu proxydma}.
+
@node Annotations
@chapter @value{GDBN} Annotations

diff -urNp gdb-orig/gdb/mi/mi-cmds.c gdb-head/gdb/mi/mi-cmds.c
--- gdb-orig/gdb/mi/mi-cmds.c 2007-05-09 00:47:48.000000000 +0200
+++ gdb-head/gdb/mi/mi-cmds.c 2007-06-02 20:03:01.093198140 +0200
@@ -100,6 +100,11 @@ struct mi_cmd mi_cmds[] =
{ "signal-handle", { NULL, 0 }, NULL, NULL },
{ "signal-list-handle-actions", { NULL, 0 }, NULL, NULL },
{ "signal-list-signal-types", { NULL, 0 }, NULL, NULL },
+ { "spu-info-event", { "info spu event", 0 }, NULL, NULL },
+ { "spu-info-signal", { "info spu signal", 0 }, NULL, NULL },
+ { "spu-info-mailbox", { "info spu mailbox", 0 }, NULL, NULL },
+ { "spu-info-dma", { "info spu dma", 0 }, NULL, NULL },
+ { "spu-info-proxydma", { "info spu proxydma", 0 }, NULL, NULL },
{ "stack-info-depth", { NULL, 0 }, 0, mi_cmd_stack_info_depth},
{ "stack-info-frame", { NULL, 0 }, 0, mi_cmd_stack_info_frame},
{ "stack-list-arguments", { NULL, 0 }, 0, mi_cmd_stack_list_args},
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com