aboutsummaryrefslogtreecommitdiffstats
path: root/include/xen/acpi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/xen/acpi.h')
-rw-r--r--include/xen/acpi.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/xen/acpi.h b/include/xen/acpi.h
index 2b3103b33725..dc69c91605b8 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 */