WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] CPUIDLE: Initialize timer broadcast mecha

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] CPUIDLE: Initialize timer broadcast mechanism for C2
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 30 Sep 2008 08:00:12 -0700
Delivery-date: Tue, 30 Sep 2008 08:00:21 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1222445576 -3600
# Node ID b5f20f7ac2b306c35e578ee1fdd8070b7515286f
# Parent  1420a6649cfa2963f1d71956756c922a3b671ae6
CPUIDLE: Initialize timer broadcast mechanism for C2

Without this patch, while running on platforms on which the deepest
C-state is C2, acpi_processor_idle fns will call into NULL
function. This has been the case since 18518:e61c7833dc9d8.

Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>
---
 xen/arch/x86/acpi/cpu_idle.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff -r 1420a6649cfa -r b5f20f7ac2b3 xen/arch/x86/acpi/cpu_idle.c
--- a/xen/arch/x86/acpi/cpu_idle.c      Fri Sep 26 17:09:36 2008 +0100
+++ b/xen/arch/x86/acpi/cpu_idle.c      Fri Sep 26 17:12:56 2008 +0100
@@ -81,7 +81,7 @@ static void print_acpi_power(uint32_t cp
     for ( i = 1; i < power->count; i++ )
     {
         printk((power->last_state == &power->states[i]) ? "   *" : "    ");
-        printk("C%d:\t\t", i);
+        printk("C%d:\t", i);
         printk("type[C%d] ", power->states[i].type);
         printk("latency[%03d] ", power->states[i].latency);
         printk("usage[%08d] ", power->states[i].usage);
@@ -487,8 +487,12 @@ static int check_cx(struct acpi_processo
         return -ENODEV;
     }
 
-    if ( cx->type == ACPI_STATE_C3 )
-    {
+    switch ( cx->type )
+    {
+    case ACPI_STATE_C2:
+        if ( local_apic_timer_c2_ok )
+            break;
+    case ACPI_STATE_C3:
         /* We must be able to use HPET in place of LAPIC timers. */
         if ( hpet_broadcast_is_available() )
         {
@@ -551,6 +555,8 @@ static int check_cx(struct acpi_processo
             }
             acpi_set_register(ACPI_BITREG_BUS_MASTER_RLD, 0);
         }
+
+        break;
     }
 
     return 0;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] CPUIDLE: Initialize timer broadcast mechanism for C2, Xen patchbot-unstable <=