31 lines
789 B
C
31 lines
789 B
C
|
/*
|
||
|
* QMP commands related to ACPI
|
||
|
*
|
||
|
* This work is licensed under the terms of the GNU GPL, version 2 or
|
||
|
* (at your option) any later version.
|
||
|
*/
|
||
|
|
||
|
#include "qemu/osdep.h"
|
||
|
#include "hw/acpi/acpi_dev_interface.h"
|
||
|
#include "qapi/error.h"
|
||
|
#include "qapi/qapi-commands-acpi.h"
|
||
|
|
||
|
ACPIOSTInfoList *qmp_query_acpi_ospm_status(Error **errp)
|
||
|
{
|
||
|
bool ambig;
|
||
|
ACPIOSTInfoList *head = NULL;
|
||
|
ACPIOSTInfoList **prev = &head;
|
||
|
Object *obj = object_resolve_path_type("", TYPE_ACPI_DEVICE_IF, &ambig);
|
||
|
|
||
|
if (obj) {
|
||
|
AcpiDeviceIfClass *adevc = ACPI_DEVICE_IF_GET_CLASS(obj);
|
||
|
AcpiDeviceIf *adev = ACPI_DEVICE_IF(obj);
|
||
|
|
||
|
adevc->ospm_status(adev, &prev);
|
||
|
} else {
|
||
|
error_setg(errp, "command is not supported, missing ACPI device");
|
||
|
}
|
||
|
|
||
|
return head;
|
||
|
}
|