On Sat, Mar 01, 2008 at 01:17:01PM +0100, Roman Divacky wrote:
> On Fri, Feb 29, 2008 at 01:29:23PM -0800, fchang@cs.ubc.ca wrote:
> > Hi all:
> >
> > I'm trying to get vmware3 working on FreeBSD RELEASE 7.0 for i386
> > I've resolved every compilation problem except one:
> > the driver.c in vmware3 requires the "avail_end" variable
> > in 6.2's /usr/include/machine/pmap.h
> > but is missing from 7.0's /usr/include/machine/pmap.h
> >
> > The vmware3 code goes like this:
> >
> > r = malloc(sizeof *r, M_DEVBUF, M_WAITOK);
> > if (r == NULL) return ENOMEM;
> > if (avail_end > ISA_DMA_BOUNCE_THRESHOLD)
> > high = trunc_page(ISA_DMA_BOUNCE_THRESHOLD);
> > else
> > high = trunc_page(avail_end);
> >
> > It turns out "avail_end" was removed from /usr/include/machine/pmap.h
> > by revision 1.125, whose commit message reads:
> >
> > The global variable avail_end is redundant and only used once.
> > Eliminate it. Make avail_start static to the pmap on amd64.
> > (It no longer exists on other architectures.)
> >
> > So it appears that we can still get the value represented by
> > the old avail_end variable, but I don't know anything about the kernel
> > and I don't understand that comment. Could some kind soul help me
> > decipher that so I can try to get vmware3 compilable again?

>
> I think you can use "ptoa(Maxmem) - round_page(MSGBUF_SIZE)", the ptoa(Maxmem)
> being the thing written during dmesg as:
>
> real memory = 1039007744 (990 MB), I think its exported as hw.realmem sysctl
>
> hope that helps.. let us know about your VMWare experiences!


erm.. what I meant to say what that hw.realmem - round_page(MSGBUF_SIZE) should work
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/lis...reebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"