diff options
author | Jan Beulich <jbeulich@novell.com> | 2011-08-22 10:12:36 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2011-08-22 10:12:36 +0100 |
commit | 1d6ffea6d04357f92cca684d44e7bed44de7cbcd (patch) | |
tree | 1a3f9ed447979a7120ee8a10ca1b546c0c366ef9 /xen/arch/x86/platform_hypercall.c | |
parent | 2fba91e1d95292860076efce894c850413de8a15 (diff) | |
download | xen-1d6ffea6d04357f92cca684d44e7bed44de7cbcd.tar.gz xen-1d6ffea6d04357f92cca684d44e7bed44de7cbcd.tar.bz2 xen-1d6ffea6d04357f92cca684d44e7bed44de7cbcd.zip |
ACPI: add _PDC input override mechanism
In order to have Dom0 call _PDC with input fully representing Xen's
capabilities, and in order to avoid building knowledge of Xen
implementation details into Dom0, this provides a mechanism by which
the Dom0 kernel can, once it filled the _PDC input buffer according to
its own knowledge, present the buffer to Xen to apply overrides for
the parts of the C-, P-, and T-state management that it controls. This
is particularly to address the dependency of Xen using MWAIT to enter
certain C-states on the availability of the break-on-interrupt
extension (which the Dom0 kernel should have no need to know about).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Diffstat (limited to 'xen/arch/x86/platform_hypercall.c')
-rw-r--r-- | xen/arch/x86/platform_hypercall.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c index f6bcb59bec..db5554c47f 100644 --- a/xen/arch/x86/platform_hypercall.c +++ b/xen/arch/x86/platform_hypercall.c @@ -415,6 +415,15 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xen_platform_op_t) u_xenpf_op) ret = -EINVAL; break; + case XEN_PM_PDC: + { + XEN_GUEST_HANDLE(uint32) pdc; + + guest_from_compat_handle(pdc, op->u.set_pminfo.u.pdc); + ret = acpi_set_pdc_bits(op->u.set_pminfo.id, pdc); + } + break; + default: ret = -EINVAL; break; |