aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2012-07-09 10:23:57 +0100
committerJan Beulich <jbeulich@novell.com>2012-07-09 10:23:57 +0100
commitc279f333a7716b1b4e9f21beedaada751be1f2d5 (patch)
treed3625f371844509bb549d94cff3f768802a98b27
parent78bfaf79b74ced55a1ad9f86068b587c681ce098 (diff)
downloadxen-c279f333a7716b1b4e9f21beedaada751be1f2d5.tar.gz
xen-c279f333a7716b1b4e9f21beedaada751be1f2d5.tar.bz2
xen-c279f333a7716b1b4e9f21beedaada751be1f2d5.zip
x86/cpuidle: deny access to the I/O port used for EM_SYSIO
Nothing, not even Dom0, should fiddle with this. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24970:33980e36597b xen-unstable date: Tue Mar 06 16:41:41 2012 +0100
-rw-r--r--xen/arch/x86/acpi/cpu_idle.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 6ae9d476a9..3fde934194 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -44,6 +44,7 @@
#include <xen/sched-if.h>
#include <asm/cache.h>
#include <asm/io.h>
+#include <asm/iocap.h>
#include <asm/hpet.h>
#include <asm/processor.h>
#include <xen/pmstat.h>
@@ -888,6 +889,9 @@ static void set_cx(
cx->entry_method = ACPI_CSTATE_EM_HALT;
break;
case ACPI_ADR_SPACE_SYSTEM_IO:
+ if ( ioports_deny_access(dom0, cx->address, cx->address) )
+ printk(XENLOG_WARNING "Could not deny access to port %04x\n",
+ cx->address);
cx->entry_method = ACPI_CSTATE_EM_SYSIO;
break;
default: