qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] qapi/x86: add control registers to query-cpus


From: Peter Feiner
Subject: Re: [Qemu-devel] [PATCH] qapi/x86: add control registers to query-cpus
Date: Thu, 24 Jan 2013 13:12:08 -0500

> What about converting 'info registers' to QMP (ie. having 
> query-cpu-registers)?

We had thought about it, but we decided to go with this lower hanging fruit
because it provides immediately useful functionality at a low implementation
cost. It's harder (for us) to think of why would anyone want to know XMM12 or
r10 in the general case outside of gdb, which is already supported.
Additionally, porting over the entire functionality of 'info registers' has a
bunch of wrinkles:

    * I'm afraid that 'info registers' couldn't so much be converted from HMP to
      QMP as added. That is, most of the work done by each target's various
      'info registers' implementation (i.e., the target's cpu_dump_state
      function) is formatting the output nicely. So most of the existing
      'info registers' logic would remain and a qmp_query_cpu_registers would
      have to be added for each target.

    * How do you represent 128bit registers (e.g., XMM)?  Perhaps add a
      'int128' type to QMP? The simplest solution is 64-bit components (e.g.,
      XMM0_low, XMM0_high).

    * Like query-cpus, does the schema make all registers optional because
      they're architecture specific? This would entail hundreds of data fields.
      Or should query-cpu-registers return a list of (name, value) pairs?

    * Should register names change depending on processor mode (e.g., eax vs
      rax), or should they have canonical names (e.g., always use "a" or "rax").



reply via email to

[Prev in Thread] Current Thread [Next in Thread]