Internships/ProjectIdeas/CentralRegisterRegistry: Difference between revisions

From QEMU
(Created page with "=== Central Register Registry === '''Summary:''' Provide a new internal API for accessing register values Currently there are a number of places that need to access guest re...")
 
No edit summary
 
Line 5: Line 5:
Currently there are a number of places that need to access guest register values including:
Currently there are a number of places that need to access guest register values including:


- -d cpu output
* -d cpu output
- hmp/qmp info registers
* hmp/qmp info registers
- gdbstub
* gdbstub


and places that would like to access the register values like the TCG plugins sub-system. It's time to bring  
and places that would like to access the register values like the TCG plugins sub-system.
 
Currently this is all handled by each individual front-end interfacing to the various sub-systems. It's time to bring that functionality under a single roof so front-ends just notify a central registry of how to access values and the central code can deal with interfacing with the other subsystems. Then quality of life improvements could be added like:
 
* customising the registers the -d cpu displays
* giving access to other registers in QMP/HMP
* de-duplicating the GDB XML generation for extra registers
* hooking in TCG plugins


'''Links:'''
'''Links:'''

Latest revision as of 13:41, 14 February 2022

Central Register Registry

Summary: Provide a new internal API for accessing register values

Currently there are a number of places that need to access guest register values including:

  • -d cpu output
  • hmp/qmp info registers
  • gdbstub

and places that would like to access the register values like the TCG plugins sub-system.

Currently this is all handled by each individual front-end interfacing to the various sub-systems. It's time to bring that functionality under a single roof so front-ends just notify a central registry of how to access values and the central code can deal with interfacing with the other subsystems. Then quality of life improvements could be added like:

  • customising the registers the -d cpu displays
  • giving access to other registers in QMP/HMP
  • de-duplicating the GDB XML generation for extra registers
  • hooking in TCG plugins

Links:

Details:

  • Skill level: intermediate
  • Language: C
  • Mentor: Alex Bennée <alex.bennee@linaro.org> ("stsquad" on IRC)
  • Suggested by: Alex Bennée