All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] xen: add a 'acpi_fake_s3' boot command line parameter
@ 2015-06-22 11:28 Dario Faggioli
  2015-06-22 11:48 ` Jan Beulich
  0 siblings, 1 reply; 3+ messages in thread
From: Dario Faggioli @ 2015-06-22 11:28 UTC (permalink / raw)
  To: xen-devel; +Cc: Andrew Cooper, Ben Guthro, Jan Beulich

which, if provided, prevents the function that actually
put the system in ACPI S3 suspended state to be called.
The system will, therefore, go down the suspend path,
until the second to last step, and then resume right away.

This is useful when testing and debugging S3 suspend/resume
issues.

Signed-off-by: Ben Guthro <ben@guthro.net>
Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
---
 docs/misc/xen-command-line.markdown |   11 +++++++++++
 xen/arch/x86/acpi/power.c           |    6 +++++-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index aa684c0..adbe9b5 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -110,6 +110,17 @@ domain 0 command line
 Specify which ACPI MADT table to parse for APIC information, if more
 than one is present.
 
+### acpi\_fake\_s3
+> `= <boolean>`
+
+> Default: `false`
+
+When ACPI S3 suspend is requested, perform all the operations necessary
+to achieve that, except the actual low level register writes that puts
+the system to sleep (hence the system resumes right away).
+
+This is useful for testing and debugging ACPI S3 suspend/resume issues.
+
 ### acpi\_pstate\_strict
 > `= <boolean>`
 
diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index f41f0de..562d25a 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -33,6 +33,9 @@
 
 uint32_t system_reset_counter = 1;
 
+static bool_t __read_mostly fake_s3 = 0;
+boolean_param("acpi_fake_s3", fake_s3);
+
 static char __initdata opt_acpi_sleep[20];
 string_param("acpi_sleep", opt_acpi_sleep);
 
@@ -177,7 +180,8 @@ static int enter_state(u32 state)
     switch ( state )
     {
     case ACPI_STATE_S3:
-        do_suspend_lowlevel();
+        if ( likely(!fake_s3) )
+            do_suspend_lowlevel();
         system_reset_counter++;
         error = tboot_s3_resume();
         break;

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-22 12:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-22 11:28 [PATCH] xen: add a 'acpi_fake_s3' boot command line parameter Dario Faggioli
2015-06-22 11:48 ` Jan Beulich
2015-06-22 12:39   ` Dario Faggioli

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.