ChangeSet 1.1457, 2005/05/18 22:42:16+01:00, iap10@xxxxxxxxxxxxxxxxxxxxx
Merge
freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
into freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk
reboot.c | 34 +++++++++++++++++++++-------------
1 files changed, 21 insertions(+), 13 deletions(-)
diff -Nru a/linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c
b/linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c
--- a/linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c 2005-05-19 05:04:20
-04:00
+++ b/linux-2.6.11-xen-sparse/arch/xen/kernel/reboot.c 2005-05-19 05:04:20
-04:00
@@ -76,6 +76,20 @@
#define netif_resume() do{}while(0)
#endif
+#ifdef CONFIG_XEN_USB_FRONTEND
+ extern void usbif_resume();
+#else
+#define usbif_resume() do{}while(0)
+#endif
+
+#ifdef CONFIG_XEN_BLKDEV_GRANT
+ extern int gnttab_suspend(void);
+ extern int gnttab_resume(void);
+#else
+#define gnttab_suspend() do{}while(0)
+#define gnttab_resume() do{}while(0)
+#endif
+
extern void time_suspend(void);
extern void time_resume(void);
extern unsigned long max_pfn;
@@ -99,31 +113,22 @@
irq_suspend();
+ gnttab_suspend();
+
HYPERVISOR_shared_info = (shared_info_t *)empty_zero_page;
clear_fixmap(FIX_SHARED_INFO);
memcpy(&suspend_record->resume_info, &xen_start_info,
- sizeof(xen_start_info));
+ sizeof(xen_start_info));
HYPERVISOR_suspend(virt_to_machine(suspend_record) >> PAGE_SHIFT);
- HYPERVISOR_vm_assist(VMASST_CMD_enable,
- VMASST_TYPE_4gb_segments);
-#ifdef CONFIG_XEN_WRITABLE_PAGETABLES
- HYPERVISOR_vm_assist(VMASST_CMD_enable,
- VMASST_TYPE_writable_pagetables);
-#endif
-
shutting_down = -1;
memcpy(&xen_start_info, &suspend_record->resume_info,
- sizeof(xen_start_info));
+ sizeof(xen_start_info));
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
- set_fixmap_ma(FIX_SHARED_INFO, xen_start_info.shared_info);
-#else
set_fixmap(FIX_SHARED_INFO, xen_start_info.shared_info);
-#endif
HYPERVISOR_shared_info = (shared_info_t *)fix_to_virt(FIX_SHARED_INFO);
@@ -137,6 +142,7 @@
HYPERVISOR_shared_info->arch.pfn_to_mfn_frame_list =
virt_to_machine(pfn_to_mfn_frame_list) >> PAGE_SHIFT;
+ gnttab_resume();
irq_resume();
@@ -147,6 +153,8 @@
blkdev_resume();
netif_resume();
+
+ usbif_resume();
__sti();
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|