
On Wed, Jul 19, 2017 at 10:02:04AM -0500, Eric Blake wrote:
[adding libvirt]
On 07/19/2017 07:41 AM, Eduardo Habkost wrote:
virsh qemu-monitor-command --domain rhel6.8 --hmp --cmd "cpu 1" virsh qemu-monitor-command --domain rhel6.8 --hmp --cmd "info lapic" dumping local APIC state for CPU 0
Right, the "cpu" command is useless inside a 'human-monitor-command' QMP command. The 'cpu-index' argument should be used instead. should make "cpu" print an error if ran inside 'human-monitor-command' instead of silently pretend it worked.
If virsh doesn't support the 'cpu-index' argument to 'human-monitor-command',
It doesn't. Perhaps we should add that as a future libvirt-qemu.so API addition, although it's probably easier to just use QMP than HMP when using 'virsh qemu-monitor-command' if HMP doesn't do what you want.
Or special case the "cpu 1" command - ie notice that it is being requested and don't execute 'human-montor-command'. Instead just record the CPU index, and use that for future "human-monitor-command" invokations, so we get full compat with the (dubious) stateful HMP semantics that traditionally existed.
it's possible to work around that limitation by building your own QMP command. e.g.:
# virsh qemu-monitor-command f26test '{"execute":"human-monitor-command", "arguments":{"command-line":"info lapic", "cpu-index":1}}' | jq -r '.return'
Indeed, there's the use of QMP to work around the HMP deficiency.
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|