# HG changeset patch
# User Brendan Cully <brendan@xxxxxxxxx>
# Date 1172543764 28800
# Node ID 728b370eaca01f5d7dd3e1ec59b34a0860372645
# Parent b207ed258dcf3a6aee865ca82bc170f68e589342
Add suspend_cancel flag to linux elf notes.
Signed-off-by: Brendan Cully <brendan@xxxxxxxxx>
diff -r b207ed258dcf -r 728b370eaca0
linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S
--- a/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S Mon Feb 26 18:36:04
2007 -0800
+++ b/linux-2.6-xen-sparse/arch/i386/kernel/head-xen.S Mon Feb 26 18:36:04
2007 -0800
@@ -175,6 +175,7 @@ ENTRY(cpu_gdt_table)
.ascii "|auto_translated_physmap"
.ascii "|pae_pgdir_above_4gb"
.ascii "|supervisor_mode_kernel"
+ .ascii "|suspend_cancel"
#ifdef CONFIG_X86_PAE
.ascii ",PAE=yes[extended-cr3]"
#else
@@ -197,7 +198,7 @@ ENTRY(cpu_gdt_table)
ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long, startup_32)
ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long, hypercall_page)
ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW, .long, HYPERVISOR_VIRT_START)
- ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz,
"writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel")
+ ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz,
"writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel|suspend_cancel")
#ifdef CONFIG_X86_PAE
ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "yes")
ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad,
_PAGE_PRESENT,_PAGE_PRESENT)
diff -r b207ed258dcf -r 728b370eaca0 xen/common/libelf/libelf-dominfo.c
--- a/xen/common/libelf/libelf-dominfo.c Mon Feb 26 18:36:04 2007 -0800
+++ b/xen/common/libelf/libelf-dominfo.c Mon Feb 26 18:36:04 2007 -0800
@@ -12,7 +12,8 @@ const char *elf_xen_feature_names[] = {
[XENFEAT_writable_descriptor_tables] = "writable_descriptor_tables",
[XENFEAT_auto_translated_physmap] = "auto_translated_physmap",
[XENFEAT_supervisor_mode_kernel] = "supervisor_mode_kernel",
- [XENFEAT_pae_pgdir_above_4gb] = "pae_pgdir_above_4gb"
+ [XENFEAT_pae_pgdir_above_4gb] = "pae_pgdir_above_4gb",
+ [XENFEAT_suspend_cancel] = "suspend_cancel"
};
const int elf_xen_features =
sizeof(elf_xen_feature_names) / sizeof(elf_xen_feature_names[0]);
diff -r b207ed258dcf -r 728b370eaca0 xen/include/public/features.h
--- a/xen/include/public/features.h Mon Feb 26 18:36:04 2007 -0800
+++ b/xen/include/public/features.h Mon Feb 26 18:36:04 2007 -0800
@@ -56,6 +56,12 @@
*/
#define XENFEAT_pae_pgdir_above_4gb 4
+/*
+ * If set, the guest is checkpointable. If the suspend hypercall returns
+ * 1, the domain will undo its suspend prep work and continue.
+ */
+#define XENFEAT_suspend_cancel 5
+
#define XENFEAT_NR_SUBMAPS 1
#endif /* __XEN_PUBLIC_FEATURES_H__ */
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|