Internships/ProjectIdeas/CentralRegisterRegistry

From QEMU
Jump to navigation Jump to search

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