diff options
Diffstat (limited to 'drivers/acpi/processor_pdc.c')
| -rw-r--r-- | drivers/acpi/processor_pdc.c | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c index 8c3f82c9fff3..18fb04523f93 100644 --- a/drivers/acpi/processor_pdc.c +++ b/drivers/acpi/processor_pdc.c @@ -14,6 +14,8 @@  #include <linux/acpi.h>  #include <acpi/processor.h> +#include <xen/xen.h> +  #include "internal.h"  static bool __init processor_physically_present(acpi_handle handle) @@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)  		return false;  	} +	if (xen_initial_domain()) +		/* +		 * When running as a Xen dom0 the number of processors Linux +		 * sees can be different from the real number of processors on +		 * the system, and we still need to execute _PDC for all of +		 * them. +		 */ +		return xen_processor_present(acpi_id); +  	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;  	cpuid = acpi_get_cpuid(handle, type, acpi_id);  |