Internships/ProjectIdeas/CentralRegisterRegistry

From QEMU
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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