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

Re: [Xen-devel] Status of PAE support?



Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> writes:

> > http://www.theshore.net/~caker/xen/PAE-testing/test1/boot.log
> >
> > It boots OK if I disable PAE.  I can proide binaries if needed.
> 
> You need a PAE-enabled domain0 kernel as well, and our tree isn;t yet
> patched to support PAE. So bootstrapping Xen is as far as you'll get
> right now.

http://dl.bytesex.org/patches/ has xenlinux patches for you, havn't
found the time yet to update them for after-initial-pae-merge source
tree, so it likely is a bit tricky to get it going at the moment.

Seems the pae patch chunk for common/elf.c got lost on the merge (by
mistake or intentionally?).  I had added a sanity-check there to catch
the case of attempting to boot a non-pae kernel on pae xen (or
visa-versa), so you'll get a clear error message instead of a kernel
crashing very early.  Hmm, something wrong with that?

  Gerd

Index: xen/common/elf.c
===================================================================
--- xen.orig/common/elf.c       2005-05-30 14:09:15.000000000 +0200
+++ xen/common/elf.c    2005-05-30 14:14:30.000000000 +0200
@@ -82,7 +82,20 @@ int parseelfimage(struct domain_setup_in
             printk("ERROR: Xen will only load images built for Xen v3.0\n");
             return -EINVAL;
         }
-
+#if defined(__i386__)
+#ifdef CONFIG_X86_PAE
+        int xen_pae = 1;
+#else
+        int xen_pae = 0;
+#endif
+        int guest_pae = strstr(guestinfo, "PAE=yes") ? 1 : 0;
+        if (xen_pae != guest_pae) {
+            printk("ERROR: PAE mode mismatch (xen=%s,guest=%s)\n",
+                   xen_pae   ? "yes" : "no",
+                   guest_pae ? "yes" : "no");
+            return -EINVAL;
+        }
+#endif
         break;
     }
     if ( guestinfo == NULL )

_______________________________________________
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®.