45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
|
# Commit 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
|
||
|
# Date 2013-07-17 08:45:20 +0200
|
||
|
# Author Andrew Cooper <andrew.cooper3@citrix.com>
|
||
|
# Committer Jan Beulich <jbeulich@suse.com>
|
||
|
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>
|
||
|
|
||
|
--- a/xen/arch/x86/acpi/cpu_idle.c
|
||
|
+++ b/xen/arch/x86/acpi/cpu_idle.c
|
||
|
@@ -1031,7 +1031,10 @@ long set_cx_pminfo(uint32_t cpu, struct
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
--- a/xen/arch/x86/cpu/common.c
|
||
|
+++ b/xen/arch/x86/cpu/common.c
|
||
|
@@ -63,7 +63,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)
|