xen: add xen_arch_resume()/xen_timer_resume hook for ia64 support
authorIsaku Yamahata <yamahata@valinux.co.jp>
Tue, 8 Jul 2008 22:06:32 +0000 (15:06 -0700)
committerIngo Molnar <mingo@elte.hu>
Wed, 16 Jul 2008 08:55:50 +0000 (10:55 +0200)
commitad55db9fed6d6cd09333045945cb03ba2c070085
treea0f6acbb1c7d139b248b3a9f2d45d087b802936b
parent1ffb40b8ecdf314edd88dc5550d6bcbebf29970b
xen: add xen_arch_resume()/xen_timer_resume hook for ia64 support

add xen_timer_resume() hook.

Timer resume should be done after event channel is resumed.
add xen_arch_resume() hook when ipi becomes usable after resume.
After resume, some cpu specific resource must be reinitialized
on ia64 that can't be set by another cpu.

However available hooks is run once on only one cpu so that ipi has
to be used.

During stop_machine_run() ipi can't be used because interrupt is masked.
So add another hook after stop_machine_run().
Another approach might be use resume hook which is run by
device_resume(). However device_resume() may be executed on
suspend error recovery path.

So it is necessary to determine whether it is executed on real resume path
or error recovery path.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/xen/suspend.c
arch/x86/xen/xen-ops.h
drivers/xen/manage.c
include/xen/xen-ops.h