Updating vmware3 (and missing "avail_end" from /usr/include/machine/pmap.h)

fchang at cs.ubc.ca fchang at cs.ubc.ca
Fri Feb 29 21:45:25 UTC 2008


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?

Thank you!




More information about the freebsd-hackers mailing list