mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 07:43:54 -06:00
hw/acpi: Move QMP command to hw/core/
The QERR_ macros are leftovers from the days of "rich" error objects. We've been trying to reduce their remaining use. qmp_query_vm_generation_id() in stubs/vmgenid.c is the last user of QERR_UNSUPPORTED outside qga/. Unlike the stubs we just dropped, it is actually reachable, namely when CONFIG_ACPI_VMGENID is off. It always fails like (qemu) info vm-generation-id Error: this feature or command is not currently supported Turns out the real qmp_query_vm_generation_id() doesn't actually depend on CONFIG_ACPI_VMGENID, and fails safely when it's off. Move it to hw/core/machine-qmp-cmds.c, and drop the stub. The error message becomes Error: VM Generation ID device not found Feels like an improvement to me. Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20230207075115.1525-8-armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
588c13fcb0
commit
36ebc7db79
5 changed files with 18 additions and 30 deletions
|
@ -8,6 +8,7 @@
|
|||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "hw/acpi/vmgenid.h"
|
||||
#include "hw/boards.h"
|
||||
#include "hw/intc/intc.h"
|
||||
#include "hw/mem/memory-device.h"
|
||||
|
@ -383,3 +384,20 @@ HumanReadableText *qmp_x_query_irq(Error **errp)
|
|||
|
||||
return human_readable_text_from_str(buf);
|
||||
}
|
||||
|
||||
GuidInfo *qmp_query_vm_generation_id(Error **errp)
|
||||
{
|
||||
GuidInfo *info;
|
||||
VmGenIdState *vms;
|
||||
Object *obj = find_vmgenid_dev();
|
||||
|
||||
if (!obj) {
|
||||
error_setg(errp, "VM Generation ID device not found");
|
||||
return NULL;
|
||||
}
|
||||
vms = VMGENID(obj);
|
||||
|
||||
info = g_malloc0(sizeof(*info));
|
||||
info->guid = qemu_uuid_unparse_strdup(&vms->guid);
|
||||
return info;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue