From 6ea7dd6593407908f78dc2e7cee7a1afeaf311b5 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Wed, 25 Nov 2009 14:12:08 +0000 Subject: [PATCH] --- yaml --- r: 174428 b: refs/heads/master c: f6eafe3665bcc374c66775d58312d1c06c55303f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/xen/suspend.c | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 6d46499219cd..874f2bd7a6de 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6aaf5d633bb6cead81b396d861d7bae4b9a0ba7e +refs/heads/master: f6eafe3665bcc374c66775d58312d1c06c55303f diff --git a/trunk/arch/x86/xen/suspend.c b/trunk/arch/x86/xen/suspend.c index 6343a5d8e93c..987267f79bf5 100644 --- a/trunk/arch/x86/xen/suspend.c +++ b/trunk/arch/x86/xen/suspend.c @@ -1,4 +1,5 @@ #include +#include #include #include @@ -46,7 +47,19 @@ void xen_post_suspend(int suspend_cancelled) } +static void xen_vcpu_notify_restore(void *data) +{ + unsigned long reason = (unsigned long)data; + + /* Boot processor notified via generic timekeeping_resume() */ + if ( smp_processor_id() == 0) + return; + + clockevents_notify(reason, NULL); +} + void xen_arch_resume(void) { - /* nothing */ + smp_call_function(xen_vcpu_notify_restore, + (void *)CLOCK_EVT_NOTIFY_RESUME, 1); }