public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
* Re: Registry Group
       [not found] <200412201627.LAA00079@smtp.ott.qnx.com>
@ 2005-01-04 20:20 ` Andrew Cagney
  0 siblings, 0 replies; 4+ messages in thread
From: Andrew Cagney @ 2005-01-04 20:20 UTC (permalink / raw)
  To: Alain Magloire; +Cc: Alexiev Dobrin, gdb

Alain Magloire wrote:
>>Alexiev, Dobrin wrote:
>>
>>>I am working with the Eclipse C Development Tools community to add a
>>>feature that will group registers in the Register View of Eclipse. 
>>>
>>>Since embedded CPUs have lots of peripheral registers (50-100+) it is
>>>getting a burden for the developer to keep scrolling the registry view
>>>to find the right register. A grouping will make the user experience way
>>>better. 
>>>
>>>Since the IDE is relying on the GDB for most of the device information I
>>>was wandering if there is a similar MI/GDB command to obtain the name of
>>>the groups and their registers association. 
>>>
>>>In our product we added such command "-data-list-register-groups". The
>>>syntax of the command is: 
>>>-data-list-register-groups
>>>^done,register-groups=[{name="r0",group="GRP1"},{name="r8",group="GRP2"}
>>>]
>>
>>Sure! have you looked at the output from:
>>	(gdb) maint print register-groups
>>as it should make a good starting point.
>>
>>I suspect that the output should be more like:
>>	...{name="r0",groups=["grp1","grp2",...]},...
>>(the MI syntax police will quickly point out the exact syntax :-).
>>
> 
> 
> I think Alexiev is off to see Santa 'til January .. but

Sounds familiar, ran into Santa surfing at bondi.

> this is a not from a patch he dropped to the CDT mailing list
> it should give you a rough idea of his way of thinking.
> The part about a default "Main" group is probably CDT specific
> and there for backward compatibility.

Right (more recent gdb's use heuristics to guess which register goes where)

> /**
>  * Custom command for requesting the register groups.
>  * It is not yet in the GDB stream.
>  *
>  * -data-list-register-groups
>  *
>  * The format of the command is:
>  *              IN:(gdb)-data-list-register-groups
>  *              OUT:^done,register-groups= [{name="r0", group="GRP1"},{name="r8",group="GRP2"}]

the first key difference is that a register can be in multiple groups. 
You can see this in the `maint print register-groups' command.  The 
other potential wart is that groups are either "user" or "internal" (for 
instance save/restore groups are normally for internal use) - you might 
want to both query for the list of groups and the register/group mapping.

For code, what about refactoring reggroups.c's *_dump methods so that 
they use ui-out.

Andrew

>  * It is similar of the command: "-data-list-register-values".
>  *
>  * The register group names are case sensitive.
>  *  * The register groups appear in the Register View in order they are returns from
>  * the command "-data-list-register-groups".
>  *
>  * The registers appear in the groups in the order they are returned from the
>  * command "-data-list-register-names".
>  * The register names are case sensitive.
>  *
>  * If the debugger doesn<92>t support the command "-data-list-register-groups" all
>  * registers are added to the "Main" group.
>  * If there is a register returned by the command "-data-list-register-names" but not
>  * in the command "-data-list-register-groups" it is added to the "Main" group.
>  * The main group itself is added first to the Register view.
>  * If there is a register returned by the command "-data-list-register-groups" but not in
>  * the command "-data-list-register-names" the register is ignored.
>  */
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Registry Group
  2004-12-18  1:03 ` Andrew Cagney
@ 2004-12-20 16:27   ` Alain Magloire
  0 siblings, 0 replies; 4+ messages in thread
From: Alain Magloire @ 2004-12-20 16:27 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: Alexiev Dobrin, gdb

> 
> Alexiev, Dobrin wrote:
> > I am working with the Eclipse C Development Tools community to add a
> > feature that will group registers in the Register View of Eclipse. 
> > 
> > Since embedded CPUs have lots of peripheral registers (50-100+) it is
> > getting a burden for the developer to keep scrolling the registry view
> > to find the right register. A grouping will make the user experience way
> > better. 
> > 
> > Since the IDE is relying on the GDB for most of the device information I
> > was wandering if there is a similar MI/GDB command to obtain the name of
> > the groups and their registers association. 
> > 
> > In our product we added such command "-data-list-register-groups". The
> > syntax of the command is: 
> > -data-list-register-groups
> > ^done,register-groups=[{name="r0",group="GRP1"},{name="r8",group="GRP2"}
> > ]
> 
> Sure! have you looked at the output from:
> 	(gdb) maint print register-groups
> as it should make a good starting point.
> 
> I suspect that the output should be more like:
> 	...{name="r0",groups=["grp1","grp2",...]},...
> (the MI syntax police will quickly point out the exact syntax :-).
> 

I think Alexiev is off to see Santa 'til January .. but
this is a not from a patch he dropped to the CDT mailing list
it should give you a rough idea of his way of thinking.
The part about a default "Main" group is probably CDT specific
and there for backward compatibility.

/**
 * Custom command for requesting the register groups.
 * It is not yet in the GDB stream.
 *
 * -data-list-register-groups
 *
 * The format of the command is:
 *              IN:(gdb)-data-list-register-groups
 *              OUT:^done,register-groups= [{name="r0", group="GRP1"},{name="r8",group="GRP2"}]
 *
 * It is similar of the command: "-data-list-register-values".
 *
 * The register group names are case sensitive.
 *  * The register groups appear in the Register View in order they are returns from
 * the command "-data-list-register-groups".
 *
 * The registers appear in the groups in the order they are returned from the
 * command "-data-list-register-names".
 * The register names are case sensitive.
 *
 * If the debugger doesn<92>t support the command "-data-list-register-groups" all
 * registers are added to the "Main" group.
 * If there is a register returned by the command "-data-list-register-names" but not
 * in the command "-data-list-register-groups" it is added to the "Main" group.
 * The main group itself is added first to the Register view.
 * If there is a register returned by the command "-data-list-register-groups" but not in
 * the command "-data-list-register-names" the register is ignored.
 */

-- 
au revoir, alain

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Registry Group
  2004-12-16 16:44 Alexiev, Dobrin
@ 2004-12-18  1:03 ` Andrew Cagney
  2004-12-20 16:27   ` Alain Magloire
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Cagney @ 2004-12-18  1:03 UTC (permalink / raw)
  To: Alexiev, Dobrin; +Cc: gdb

Alexiev, Dobrin wrote:
> I am working with the Eclipse C Development Tools community to add a
> feature that will group registers in the Register View of Eclipse. 
> 
> Since embedded CPUs have lots of peripheral registers (50-100+) it is
> getting a burden for the developer to keep scrolling the registry view
> to find the right register. A grouping will make the user experience way
> better. 
> 
> Since the IDE is relying on the GDB for most of the device information I
> was wandering if there is a similar MI/GDB command to obtain the name of
> the groups and their registers association. 
> 
> In our product we added such command "-data-list-register-groups". The
> syntax of the command is: 
> -data-list-register-groups
> ^done,register-groups=[{name="r0",group="GRP1"},{name="r8",group="GRP2"}
> ]

Sure! have you looked at the output from:
	(gdb) maint print register-groups
as it should make a good starting point.

I suspect that the output should be more like:
	...{name="r0",groups=["grp1","grp2",...]},...
(the MI syntax police will quickly point out the exact syntax :-).

Andrew

(I don't see anything on file for TI, I'll send you something off line. 
  Nothing to stop you sorting out the spec though).

> It is created similar to "-data-list-register-names".
> 
> I found opened enhancement request for this - "850 - Missing MI
> interface to register groups". In case that is not implemented we can
> offer to submit patch for GDB that will support this command. 
> 
> Any other ideas will be appreciated. 
> Thanks
> 
> Dobrin Alexiev
> Texas Instruments 
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Registry Group
@ 2004-12-16 16:44 Alexiev, Dobrin
  2004-12-18  1:03 ` Andrew Cagney
  0 siblings, 1 reply; 4+ messages in thread
From: Alexiev, Dobrin @ 2004-12-16 16:44 UTC (permalink / raw)
  To: gdb

I am working with the Eclipse C Development Tools community to add a
feature that will group registers in the Register View of Eclipse. 

Since embedded CPUs have lots of peripheral registers (50-100+) it is
getting a burden for the developer to keep scrolling the registry view
to find the right register. A grouping will make the user experience way
better. 

Since the IDE is relying on the GDB for most of the device information I
was wandering if there is a similar MI/GDB command to obtain the name of
the groups and their registers association. 

In our product we added such command "-data-list-register-groups". The
syntax of the command is: 
-data-list-register-groups
^done,register-groups=[{name="r0",group="GRP1"},{name="r8",group="GRP2"}
]
It is created similar to "-data-list-register-names".

I found opened enhancement request for this - "850 - Missing MI
interface to register groups". In case that is not implemented we can
offer to submit patch for GDB that will support this command. 

Any other ideas will be appreciated. 
Thanks

Dobrin Alexiev
Texas Instruments 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2005-01-04 20:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200412201627.LAA00079@smtp.ott.qnx.com>
2005-01-04 20:20 ` Registry Group Andrew Cagney
2004-12-16 16:44 Alexiev, Dobrin
2004-12-18  1:03 ` Andrew Cagney
2004-12-20 16:27   ` Alain Magloire

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).