# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1213971664 -3600
# Node ID ad156e312aefd4deca7d968c13a6b9ed0ece45f8
# Parent 26ecd1f9e1285ee254b324a284b1aee93b9d6db9
x86 acpi: Clean up output tracing. Ensure it is synced to serial line
before entering Sx state.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/x86/acpi/power.c | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff -r 26ecd1f9e128 -r ad156e312aef xen/arch/x86/acpi/power.c
--- a/xen/arch/x86/acpi/power.c Fri Jun 20 12:26:23 2008 +0100
+++ b/xen/arch/x86/acpi/power.c Fri Jun 20 15:21:04 2008 +0100
@@ -27,8 +27,6 @@
#include <public/platform.h>
#include <asm/tboot.h>
-#define pmprintk(_l, _f, _a...) printk(_l "<PM> " _f "\n", ## _a )
-
static char opt_acpi_sleep[20];
string_param("acpi_sleep", opt_acpi_sleep);
@@ -124,7 +122,7 @@ static int enter_state(u32 state)
if ( !spin_trylock(&pm_lock) )
return -EBUSY;
- pmprintk(XENLOG_INFO, "Preparing system for ACPI S%d state.", state);
+ printk(XENLOG_INFO "Preparing system for ACPI S%d state.", state);
freeze_domains();
@@ -139,11 +137,14 @@ static int enter_state(u32 state)
acpi_sleep_prepare(state);
+ console_start_sync();
+ printk("Entering ACPI S%d state.\n", state);
+
local_irq_save(flags);
if ( (error = device_power_down()) )
{
- pmprintk(XENLOG_ERR, "Some devices failed to power down.");
+ printk(XENLOG_ERR "Some devices failed to power down.");
goto done;
}
@@ -162,8 +163,6 @@ static int enter_state(u32 state)
break;
}
- pmprintk(XENLOG_DEBUG, "Back to C.");
-
/* Restore CR4 and EFER from cached values. */
write_cr4(read_cr4());
if ( cpu_has_efer )
@@ -171,10 +170,11 @@ static int enter_state(u32 state)
device_power_up();
- pmprintk(XENLOG_INFO, "Finishing wakeup from ACPI S%d state.", state);
+ printk(XENLOG_INFO "Finishing wakeup from ACPI S%d state.", state);
done:
local_irq_restore(flags);
+ console_end_sync();
acpi_sleep_post(state);
if ( !hvm_cpu_up() )
BUG();
@@ -206,7 +206,7 @@ int acpi_enter_sleep(struct xenpf_enter_
((sleep->pm1a_cnt_val ^ sleep->pm1b_cnt_val) &
ACPI_BITMASK_SLEEP_ENABLE) )
{
- pmprintk(XENLOG_ERR, "Mismatched pm1a/pm1b setting.");
+ gdprintk(XENLOG_ERR, "Mismatched pm1a/pm1b setting.");
return -EINVAL;
}
@@ -278,7 +278,7 @@ acpi_status asmlinkage acpi_enter_sleep_
if ( tboot_in_measured_env() )
{
tboot_sleep(sleep_state);
- pmprintk(XENLOG_ERR, "TBOOT failed entering s3 state\n");
+ printk(XENLOG_ERR "TBOOT failed entering s3 state\n");
return_ACPI_STATUS(AE_ERROR);
}
@@ -320,7 +320,7 @@ static int __init acpi_sleep_init(void)
p += strspn(p, ", \t");
}
- printk(XENLOG_INFO "<PM> ACPI (supports");
+ printk(XENLOG_INFO "ACPI sleep modes:");
for ( i = 0; i < ACPI_S_STATE_COUNT; i++ )
{
if ( i == ACPI_STATE_S3 )
@@ -331,7 +331,7 @@ static int __init acpi_sleep_init(void)
else
sleep_states[i] = 0;
}
- printk(")\n");
+ printk("\n");
return 0;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|