diff options
Diffstat (limited to 'include/xen/acpi.h')
-rw-r--r-- | include/xen/acpi.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/xen/acpi.h b/include/xen/acpi.h index 2b3103b3372..dc69c91605b 100644 --- a/include/xen/acpi.h +++ b/include/xen/acpi.h @@ -69,4 +69,22 @@ static inline void xen_acpi_sleep_register(void) } #endif +static inline int xen_acpi_get_pxm(acpi_handle h) +{ + unsigned long long pxm; + acpi_status status; + acpi_handle handle; + acpi_handle phandle = h; + + do { + handle = phandle; + status = acpi_evaluate_integer(handle, "_PXM", NULL, &pxm); + if (ACPI_SUCCESS(status)) + return pxm; + status = acpi_get_parent(handle, &phandle); + } while (ACPI_SUCCESS(status)); + + return -ENXIO; +} + #endif /* _XEN_ACPI_H */ |