Commit | Line | Data |
---|---|---|
0e91398f JF |
1 | #include <linux/types.h> |
2 | ||
3 | #include <xen/interface/xen.h> | |
4 | #include <xen/grant_table.h> | |
5 | #include <xen/events.h> | |
6 | ||
7 | #include <asm/xen/hypercall.h> | |
8 | #include <asm/xen/page.h> | |
9 | ||
10 | #include "xen-ops.h" | |
11 | #include "mmu.h" | |
12 | ||
13 | void xen_pre_suspend(void) | |
14 | { | |
15 | xen_start_info->store_mfn = mfn_to_pfn(xen_start_info->store_mfn); | |
16 | xen_start_info->console.domU.mfn = | |
17 | mfn_to_pfn(xen_start_info->console.domU.mfn); | |
18 | ||
19 | BUG_ON(!irqs_disabled()); | |
20 | ||
21 | HYPERVISOR_shared_info = &xen_dummy_shared_info; | |
22 | if (HYPERVISOR_update_va_mapping(fix_to_virt(FIX_PARAVIRT_BOOTMAP), | |
23 | __pte_ma(0), 0)) | |
24 | BUG(); | |
25 | } | |
26 | ||
27 | void xen_post_suspend(int suspend_cancelled) | |
28 | { | |
9c7a7942 JF |
29 | xen_setup_shared_info(); |
30 | ||
0e91398f JF |
31 | if (suspend_cancelled) { |
32 | xen_start_info->store_mfn = | |
33 | pfn_to_mfn(xen_start_info->store_mfn); | |
34 | xen_start_info->console.domU.mfn = | |
35 | pfn_to_mfn(xen_start_info->console.domU.mfn); | |
36 | } else { | |
37 | #ifdef CONFIG_SMP | |
38 | xen_cpu_initialized_map = cpu_online_map; | |
39 | #endif | |
9c7a7942 | 40 | xen_vcpu_restore(); |
0e91398f JF |
41 | } |
42 | ||
0e91398f JF |
43 | } |
44 | ||
ad55db9f IY |
45 | void xen_arch_resume(void) |
46 | { | |
47 | /* nothing */ | |
48 | } |