On 2011-06-03 15:51, Anthony Liguori wrote: > On 06/03/2011 08:41 AM, Jan Kiszka wrote: >> On 2011-06-03 15:26, Anthony Liguori wrote: >>> I think what we're getting at is the need for an enumeration. So let's >>> introduce one. Here's what I propose: >>> >>> SQMP >>> query-status >>> ------------ >>> >>> Return a json-object with the following information: >>> >>> - "running": true if the VM is running, or false if it is paused >>> (json-bool) >>> - "singlestep": true if the VM is in single step mode, >>> false otherwise (json-bool) >>> - "status": one of the following values (json-string) (optional) >>> "prelaunch" - QEMU was started with -S and guest has not started >>> "running" - guest is actively running >>> "singlestep" - guest is running in single step mode >> >> "singlestep" is just a subset of "debug" stops. Better use the latter. >> >>> "paused" - guest has been paused via the 'stop' command >>> "postmigrate" - guest is paused following a successful 'migrate' >>> "shutdown" - guest is shut down (and -no-shutdown is in use) >>> "io-error" - the last IOP has failed and the device is configured >>> to pause on I/O errors >>> "watchdog-error" - the watchdog action is configured to pause and >>> has been triggered >> >> And "panic" or "internal-error". > > Can you add the request help spec text too? Is "internal-error" a KVM > emulation error? If so, I'd rather make it "kvm-emulation-error".
It would currently map on VMSTOP_PANIC, which is KVM_EXIT_UNKNOWN, KVM_EXIT_INTERNAL_ERROR or something arch-specific. Moreover, people may put TCG errors or whatever under this stop reason in the future. If we wanted "kvm-emulation-error", we would have to introduce VMSTOP_KVM_EMULATION_ERROR. But I think internal error is sufficiently precise for this purpose: "Fatal internal error that prevents further guest execution." Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux