Difference between revisions of "DSDP/DD/RegistersView"

From Eclipsepedia

< DSDP‎ | DD
Jump to: navigation, search
(Initial attempt to get the discussion going regarding the register view)
 
(2 intermediate revisions by 2 users not shown)
Line 12: Line 12:
 
Separate items of interest specifically to registers may include (but are not limited to):
 
Separate items of interest specifically to registers may include (but are not limited to):
  
population of the Register View with registers of interest (SPIRIT access? etc.)
+
* population of the Register View with registers of interest (SPIRIT access? etc.)
sets/subsets of Registers, hierarchical views, groupings, masking within sets
+
* sets/subsets of Registers, hierarchical views, groupings, masking within sets
a "Details" view/subview, with bitwise descriptors, documentation, manipulation rules
+
* a "Details" view/subview, with bitwise descriptors, documentation, manipulation rules (cf. the [https://bugs.eclipse.org/bugs/show_bug.cgi?id=137681 bugzilla link] provided by John Cortell of Freescale Semiconductor for more), or at least access to this view from Registers within the register view.
  (cf. the [https://bugs.eclipse.org/bugs/show_bug.cgi?id=137681 bugzilla link] provided by John Cortell of Freescale Semiconductor for more),
+
* "virtual" registers (e.g. PC+4, BP-8) actings as expression within the reg view
  or at least access to this view from Registers within the register view.
+
"virtual" registers (e.g. PC+4, BP-8) actings as expression within the reg view
+
  
 
== Basics ==
 
== Basics ==
Line 49: Line 47:
  
 
Within the register view, it should be possible to treat any register as a variable or expression and to view its contents as a specified C/C++ type or struct.  It should be possible to drag registers to the expression view in order to combine them with other elements (and thus the syntax of the expression view needs to take this into account), in order to look at *((int*)<BaseReg0>+i) in order to see what is at offset i from BaseReg0 as an int.
 
Within the register view, it should be possible to treat any register as a variable or expression and to view its contents as a specified C/C++ type or struct.  It should be possible to drag registers to the expression view in order to combine them with other elements (and thus the syntax of the expression view needs to take this into account), in order to look at *((int*)<BaseReg0>+i) in order to see what is at offset i from BaseReg0 as an int.
 +
 +
[[Category:DSDP]]
 +
[[Category:DSDP/DD|RegistersView]]

Latest revision as of 12:39, 6 September 2006

This is the Registers Sub-group

Lead: Kirk Beitz (Freescale)
Members: Ted Williams (WR), Pete Nichols (IBM), ATI

Contents

[edit] Introduction

At the last DSDP meeting in Toronto, the group determined that an enhanced Register View deserves it's own topic for discussion in the group.

The group agreed that the DSDP/DD/ExpressionsAndVariablesViews would have many features in common with the Registers View. If you've read that page, you can see much of the content has been lifted and used here as well.

Separate items of interest specifically to registers may include (but are not limited to):

  • population of the Register View with registers of interest (SPIRIT access? etc.)
  • sets/subsets of Registers, hierarchical views, groupings, masking within sets
  • a "Details" view/subview, with bitwise descriptors, documentation, manipulation rules (cf. the bugzilla link provided by John Cortell of Freescale Semiconductor for more), or at least access to this view from Registers within the register view.
  • "virtual" registers (e.g. PC+4, BP-8) actings as expression within the reg view

[edit] Basics

The registers view displays a collection of registers in a hierarchical structure. In the current register view, registers are grouped by set by default, but this could be an attribute of the view, and allowing the set to be column based would allow registers to be sorted by group or by other attributes, such as name, type, etc. Multiple columns in the view allow for sorting and easier viewing of attributes within each set of registers, and there should be the ability to have multiple indicators for primarily sorting on one column, and then sorting within that sort list on another column.

[edit] Register Attributes

Common attributes of registers that merit their own column in the view:

Name (short or fully qualified)
Value
Set
Type
Size

[edit] Editing

Register values that are not read-only can either be edited in place or in the details pane. For in-place editing of Registers displayed as C/C++ types such as Boolean or enumerated, a menu lets you select from a valid range of values.

[edit] Filters

Filters let you look at a subset of the Registers based on the name, set, type, or value.

[edit] Pinned Register Views

Pinned views are static, they don’t update when the target state changes. You can pin any register view and it will no longer update. You can have multiple pinned views open.


[edit] Registers as variables

Within the register view, it should be possible to treat any register as a variable or expression and to view its contents as a specified C/C++ type or struct. It should be possible to drag registers to the expression view in order to combine them with other elements (and thus the syntax of the expression view needs to take this into account), in order to look at *((int*)<BaseReg0>+i) in order to see what is at offset i from BaseReg0 as an int.