Rusty Russell schrieb: > On Monday 25 February 2008 09:05:49 Stefan Hellermann wrote: >> Hello, >> >> I would like to try lguest, but I it doesn't work here. When I load lg it >> says: FATAL: Error inserting lg >> (/lib/modules/2.6.25-rc2-via/kernel/drivers/lguest/lg.ko): Cannot allocate >> memory >> >> dmesg says: >> allocation failed: out of vmalloc space - use vmalloc=<size> to increase >> size. lguest: could not map switcher pages high > > OK, I found this one (sorry for the delay, I was away). > > Does this work for you? It works for me...
I did some further testing, applying 3 patches I found in Ingo Molnars testing tree, I got almost everything working. To solve the TSC-problem I applied bd860da53caf6971398fac152f21dfec56b087a4 x86: if we cannot calibrate the TSC, we panic. 86e1e14ab3cc75432806fe46dfd57f149c39e2b1 lguest: sanitize the clock and to solve many segfaults I applied 265e3beb151ca18386281de5120552406c7920c2 x86/lguest: fix pgdir pmd index calculation which all do what they are supposed to do :) The only remaining problem is, that I can't get any network connection out of the guest. This is similar to http://ozlabs.org/pipermail/lguest/2008-March/001011.html I used a bridged networking, but the same problem. But for the undermentioned patch I can give my first: Tested-by: Stefan Hellermann Thanks Stefan > > Thanks very much for your report! > Rusty. > == > Robert Bragg's 5dc331852848a38ca00a2817e5b98a1d0561b116 tightened > (ie. fixed) the checking in __get_vm_area, and it broke lguest. > > lguest should pass a valid "end" parameter, not some random constant. > > Signed-off-by: Rusty Russell <[EMAIL PROTECTED]> > Cc: Robert Bragg <[EMAIL PROTECTED]> > > diff -r f5dc1442dc61 drivers/lguest/core.c > --- a/drivers/lguest/core.c Tue Mar 04 14:21:38 2008 +1100 > +++ b/drivers/lguest/core.c Tue Mar 04 21:06:41 2008 +1100 > @@ -71,9 +71,11 @@ static __init int map_switcher(void) > > /* Now we reserve the "virtual memory area" we want: 0xFFC00000 > * (SWITCHER_ADDR). We might not get it in theory, but in practice > - * it's worked so far. */ > + * it's worked so far. The +1 is because __get_vm_area allocates a > + * guard page, so we need space for that. */ > switcher_vma = __get_vm_area(TOTAL_SWITCHER_PAGES * PAGE_SIZE, > - VM_ALLOC, SWITCHER_ADDR, VMALLOC_END); > + VM_ALLOC, SWITCHER_ADDR, SWITCHER_ADDR > + + (TOTAL_SWITCHER_PAGES+1) * PAGE_SIZE); > if (!switcher_vma) { > err = -ENOMEM; > printk("lguest: could not map switcher pages high\n"); _______________________________________________ Lguest mailing list [email protected] https://ozlabs.org/mailman/listinfo/lguest
