Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:ARM
xen
23781-pm-wide-ACPI-ids.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 23781-pm-wide-ACPI-ids.patch of Package xen
# HG changeset patch # User Jan Beulich <jbeulich@novell.com> # Date 1314004239 -3600 # Node ID 0849b0e59e2418e8215616df147f955b01b07577 # Parent 07f78b5bd03c02e32324eaa00487643d27b7ffa8 pm: don't truncate processors' ACPI IDs to 8 bits This is just another adjustment to allow systems with very many CPUs (or unusual ACPI IDs) to be properly power-managed. Signed-off-by: Jan Beulich <jbeulich@novell.com> Index: xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c =================================================================== --- xen-4.1.2-testing.orig/xen/arch/ia64/linux-xen/acpi.c +++ xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c @@ -223,11 +223,14 @@ static u16 ia64_acpiid_to_sapicid[ MAX_L {[0 ... MAX_LOCAL_SAPIC - 1] = 0xffff }; /* acpi id to cpu id */ -int get_cpu_id(u8 acpi_id) +int get_cpu_id(u32 acpi_id) { int i; u16 apic_id; + if ( acpi_id >= MAX_LOCAL_SAPIC ) + return -EINVAL; + apic_id = ia64_acpiid_to_sapicid[acpi_id]; if ( apic_id == 0xffff ) return -EINVAL; Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c =================================================================== --- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c +++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c @@ -901,11 +901,14 @@ static void set_cx( acpi_power->safe_state = cx; } -int get_cpu_id(u8 acpi_id) +int get_cpu_id(u32 acpi_id) { int i; u32 apic_id; + if ( acpi_id >= MAX_MADT_ENTRIES ) + return -1; + apic_id = x86_acpiid_to_apicid[acpi_id]; if ( apic_id == BAD_APICID ) return -1; @@ -982,7 +985,7 @@ long set_cx_pminfo(uint32_t cpu, struct print_cx_pminfo(cpu, power); /* map from acpi_id to cpu_id */ - cpu_id = get_cpu_id((u8)cpu); + cpu_id = get_cpu_id(cpu); if ( cpu_id == -1 ) { printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu); Index: xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h =================================================================== --- xen-4.1.2-testing.orig/xen/include/acpi/cpufreq/processor_perf.h +++ xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h @@ -6,7 +6,7 @@ #define XEN_PX_INIT 0x80000000 -int get_cpu_id(u8); +int get_cpu_id(u32); int powernow_cpufreq_init(void); unsigned int powernow_register_driver(void); unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor