[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] runtime-xenelf-check.patch



Permit both paravirtualized (i.e. with __xen_guest section) and fully 
virtualized kernels as domain 0.
Currently this is decided at compile time, we'd like to make it a runtime check.

Signed-off-by: Kevin Tian <kevin.tian@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

--- 1.19/xen/common/elf.c       2005-04-03 04:22:10 -07:00
+++ edited/xen/common/elf.c     2005-05-11 11:35:24 -07:00
@@ -11,12 +11,6 @@
 #include <xen/elf.h>
 #include <xen/sched.h>
 
-#ifdef CONFIG_X86
-#define FORCE_XENELF_IMAGE 1
-#elif defined(__ia64__)
-#define FORCE_XENELF_IMAGE 0
-#endif
-
 static void loadelfsymtab(struct domain_setup_info *dsi, int doload);
 static inline int is_loadable_phdr(Elf_Phdr *phdr)
 {
@@ -88,9 +82,12 @@
     if ( guestinfo == NULL )
     {
         printk("Not a Xen-ELF image: '__xen_guest' section not found.\n");
-#if FORCE_XENELF_IMAGE
+       dsi->xen_elf_image = 0;
+#if CONFIG_FORCE_XENELF_IMAGE
         return -EINVAL;
 #endif
+    } else {
+       dsi->xen_elf_image = 1;
     }
 
     for ( h = 0; h < ehdr->e_phnum; h++ ) 
===== xen/include/asm-ia64/config.h 1.23 vs edited =====
--- 1.23/xen/include/asm-ia64/config.h  2005-05-10 15:58:26 -07:00
+++ edited/xen/include/asm-ia64/config.h        2005-05-11 11:43:03 -07:00
@@ -9,6 +9,7 @@
 
 // defined in linux/arch/ia64/defconfig
 //#define      CONFIG_IA64_GENERIC
+#define        CONFIG_FORCE_XENELF_IMAGE 0
 #define        CONFIG_IA64_HP_SIM
 #define        CONFIG_IA64_L1_CACHE_SHIFT 7
 // needed by include/asm-ia64/page.h
===== xen/include/asm-x86/config.h 1.51 vs edited =====
--- 1.51/xen/include/asm-x86/config.h   2005-05-09 10:50:07 -07:00
+++ edited/xen/include/asm-x86/config.h 2005-05-11 11:35:26 -07:00
@@ -11,6 +11,7 @@
 
 #define CONFIG_X86 1
 #define CONFIG_SHADOW 1
+#define CONFIG_FORCE_XENELF_IMAGE 1
 
 #define CONFIG_SMP 1
 #define CONFIG_X86_LOCAL_APIC 1
===== xen/include/xen/sched.h 1.175 vs edited =====
--- 1.175/xen/include/xen/sched.h       2005-05-11 07:12:02 -07:00
+++ edited/xen/include/xen/sched.h      2005-05-11 11:35:25 -07:00
@@ -163,6 +163,8 @@
     unsigned int  load_symtab;
     unsigned long symtab_addr;
     unsigned long symtab_len;
+    /* Indicate whether it's xen specific image */
+    unsigned int xen_elf_image;
 };
 
 #include <asm/uaccess.h> /* for KERNEL_DS */

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.