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

Re: [Xen-devel] Re: Mini-OS in dom0 - virtual memory problems



Mini-OS assumes that the start of the text section is also the beginning of virtual address space[1]. However, it is generally bad idea not to start virtual address space at 4Mb boundary. The easiest way to fix your problem is to move text to 0xc0000000 or 0xc0400000. More extensive fix, which decouples VIRT_START from &_text is also possible, but I don't see a reason why it would be needed. Instead I've included a runtime check. Keir could you apply the patch?

I changed the beginning of text to 0xC0000000 and the page table setup seems to work, as does the rest of Mini-OS (except XenBus of course). Thank you very much!

There was indeed a XenBus bug, where request structures wouldn't be marked as free (Keir could you apply the attached patch?), however I don't think that's what you are referring to. What problems do you observe?

Cheers
Gregor
diff -r 34ab61cd89bb extras/mini-os/xenbus/xenbus.c
--- a/extras/mini-os/xenbus/xenbus.c    Tue Jan 30 21:26:45 2007 +0000
+++ b/extras/mini-os/xenbus/xenbus.c    Wed Jan 31 23:57:41 2007 +0000
@@ -178,6 +178,7 @@ static void release_xenbus_id(int id)
     BUG_ON(!req_info[id].in_use);
     spin_lock(&req_lock);
     nr_live_reqs--;
+    req_info[id].in_use = 0;
     if (nr_live_reqs == NR_REQS - 1)
         wake_up(&req_wq);
     spin_unlock(&req_lock);
@@ -212,6 +213,7 @@ static int allocate_xenbus_id(void)
     probe = o_probe + 1;
     spin_unlock(&req_lock);
     init_waitqueue_head(&req_info[o_probe].waitq);
+
     return o_probe;
 }
 
_______________________________________________
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®.