Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Feb 2005 20:15:57 +0100
From:      Marco Trentini <mark@remotelab.org>
To:        freebsd-ports@freebsd.org
Subject:   problem to (re)build Vmware3 on a recent current
Message-ID:  <20050215191557.GD754@einstein.lab>

next in thread | raw e-mail | index | archive | help

On a recent current,

FreeBSD 6.0-CURRENT #0: Mon Feb 14 23:38:25 CET 2005     root@einstein.lab:=
/usr/obj/usr/src/sys/EINSTEIN

if I (re)build Vmware3 port I get this:

<error>

=2E..

cc -O -pipe  -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/=
include -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/commo=
n -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd -I/=
usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/export/include -=
I/sys -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/../vmne=
t-only/freebsd/ -DCDEV_MAJOR_=3D200 -DDDB -DVMX86_DEBUG -DSMP -DAPIC_IO -We=
rror -D_KERNEL -DKLD_MODULE -nostdinc -I-  -I/usr/ports/emulators/vmware3/w=
ork/vmware-distrib/vmmon-only/include -I/usr/ports/emulators/vmware3/work/v=
mware-distrib/vmmon-only/common -I/usr/ports/emulators/vmware3/work/vmware-=
distrib/vmmon-only/freebsd -I/usr/ports/emulators/vmware3/work/vmware-distr=
ib/vmmon-only/export/include -I/sys -I/usr/ports/emulators/vmware3/work/vmw=
are-distrib/vmmon-only/../vmnet-only/freebsd/ -I. -I@ -I@/contrib/altq -I@/=
=2E./include -I/usr/include -finline-limit=3D8000 -fno-common  -mno-align-l=
ong-strings -mpreferred-stack-boundary=3D2 -ffreestanding -Wall -Wredundant=
-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer=
-arith -Winline -Wcast-qual  -fformat-extensions -std=3Dc99 -c /usr/ports/e=
mulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/driver.c
cc -O -pipe  -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/=
include -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/commo=
n -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd -I/=
usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/export/include -=
I/sys -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/../vmne=
t-only/freebsd/ -DCDEV_MAJOR_=3D200 -DDDB -DVMX86_DEBUG -DSMP -DAPIC_IO -We=
rror -D_KERNEL -DKLD_MODULE -nostdinc -I-  -I/usr/ports/emulators/vmware3/w=
ork/vmware-distrib/vmmon-only/include -I/usr/ports/emulators/vmware3/work/v=
mware-distrib/vmmon-only/common -I/usr/ports/emulators/vmware3/work/vmware-=
distrib/vmmon-only/freebsd -I/usr/ports/emulators/vmware3/work/vmware-distr=
ib/vmmon-only/export/include -I/sys -I/usr/ports/emulators/vmware3/work/vmw=
are-distrib/vmmon-only/../vmnet-only/freebsd/ -I. -I@ -I@/contrib/altq -I@/=
=2E./include -I/usr/include -finline-limit=3D8000 -fno-common  -mno-align-l=
ong-strings -mpreferred-stack-boundary=3D2 -ffreestanding -Wall -Wredundant=
-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer=
-arith -Winline -Wcast-qual  -fformat-extensions -std=3Dc99 -c /usr/ports/e=
mulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.c
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c: In function `HostIF_InitFP':
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c:322: warning: comparison is always true due to limited range of data type
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c:322: warning: comparison is always true due to limited range of data type
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c:946:2: #warning XXX SMP support is BROKEN and module will not load.
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c:980:2: #warning XXX SMP support is BROKEN and module will not load.
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c: In function `KernelAddr_Get':
/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/freebsd/hostif.=
c:1078: warning: return makes integer from pointer without a cast
*** Error code 1

Stop in /usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only.
*** Error code 1

Stop in /usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only.
*** Error code 1

Stop in /usr/ports/emulators/vmware3/work/vmware-distrib.
*** Error code 1

Stop in /usr/ports/emulators/vmware3.
*** Error code 1

Stop in /usr/ports/emulators/vmware3.
</error>

I tried to hack the code without success:

vm_offset_t
KernelAddr_Get(KernelAddr *ka, caddr_t addr)
{=20
        vm_offset_t paddr;
        int rc;
=20
        if (ka->map!=3DNULL) {
                Warning("KernelAddr already allocated\n");
        }
        rc =3D vm_fault_quick(addr, VM_PROT_READ|VM_PROT_WRITE);
        if (rc<0) { /* page don't present in map */
                Warning("KernelAddr_Get!!! Addr %p not present\n", addr);  =
=20
                return NULL;
^^^^^^
1078
------
        }
        paddr =3D vtophys(addr);

For this one the code

return (vm_offset_t)NULL=20

seems to solve the 1078's error.

void
HostIF_InitFP(VMDriver *vm)
{
        int mask =3D (1<<(0xd-0x8));
        uint8 val =3D inb(0xA1);
 =20
        /* VnS Why used so ugly hack ? */
#ifdef VMX86_DEVEL
        Log("HostIF_InitFP PIC1=3D0x%x  %s\n",
                val,
                ((val & mask) ? "Already Masked" : "To mask"));
#endif
=20
        if (!(val & mask)) {
                val =3D val | mask;
                outb(val,0xA1);
^^^^^^^^
322
--------
        }
}

For this one I don't know.

Any hints?

P.S. I remember I had built this port on the current of
(about) one month ago. What happened ever after? Maybe
something about gcc?



--=20
Marco Trentini                mark@remotelab.org
http://www.remotelab.org/



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050215191557.GD754>