aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Cooper <andrew.cooper3@citrix.com>2013-08-08 10:40:41 +0200
committerJan Beulich <jbeulich@suse.com>2013-08-08 10:40:41 +0200
commitfbc214d71094967cd8641c145dcdb4494fd8ea2d (patch)
tree3ea223a9ea42120df13032c673f384d46375bf42
parent4abf174eeb03d521c7b03b4a670a55af657e6528 (diff)
downloadxen-fbc214d71094967cd8641c145dcdb4494fd8ea2d.tar.gz
xen-fbc214d71094967cd8641c145dcdb4494fd8ea2d.tar.bz2
xen-fbc214d71094967cd8641c145dcdb4494fd8ea2d.zip
x86/cpuidle: Change logging for unknown APIC IDs
Dom0 uses this hypercall to pass ACPI information to Xen. It is not very uncommon for more cpus to be listed in the ACPI tables than are present on the system, particularly on systems with a common BIOS for a 2 and 4 socket server varients. As Dom0 does not control the number of entries in the ACPI tables, and is required to pass everything it finds to Xen, change the logging. There is now an single unconditional warning for the first unknown ID, and further warnings if "cpuinfo" is requested by the user on the command line. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03 master date: 2013-07-17 08:45:20 +0200
-rw-r--r--xen/arch/x86/acpi/cpu_idle.c5
-rw-r--r--xen/arch/x86/cpu/common.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 3fde934194..c3141a571b 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -994,7 +994,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
cpu_id = get_cpu_id(cpu);
if ( cpu_id == -1 )
{
- printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+ static bool_t warn_once = 1;
+ if ( warn_once || opt_cpu_info )
+ printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+ warn_once = 0;
return -EINVAL;
}
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index a3a6b96d5e..c5237f03a8 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -79,7 +79,7 @@ static struct cpu_dev default_cpu = {
};
static struct cpu_dev * this_cpu = &default_cpu;
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
boolean_param("cpuinfo", opt_cpu_info);
int __cpuinit get_model_name(struct cpuinfo_x86 *c)