problem to (re)build Vmware3 on a recent current
Marco Trentini
mark at remotelab.org
Tue Feb 15 11:16:00 PST 2005
On a recent current,
FreeBSD 6.0-CURRENT #0: Mon Feb 14 23:38:25 CET 2005 root at einstein.lab:/usr/obj/usr/src/sys/EINSTEIN
if I (re)build Vmware3 port I get this:
<error>
...
cc -O -pipe -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/include -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/common -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/../vmnet-only/freebsd/ -DCDEV_MAJOR_=200 -DDDB -DVMX86_DEBUG -DSMP -DAPIC_IO -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I- -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/include -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/common -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/../vmnet-only/freebsd/ -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c /usr/ports/emulators/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/common -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/../vmnet-only/freebsd/ -DCDEV_MAJOR_=200 -DDDB -DVMX86_DEBUG -DSMP -DAPIC_IO -Werror -D_KERNEL -DKLD_MODULE -nostdinc -I- -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/include -I/usr/ports/emulators/vmware3/work/vmware-distrib/vmmon-only/common -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/../vmnet-only/freebsd/ -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c /usr/ports/emulators/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)
{
vm_offset_t paddr;
int rc;
if (ka->map!=NULL) {
Warning("KernelAddr already allocated\n");
}
rc = 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);
return NULL;
^^^^^^
1078
------
}
paddr = vtophys(addr);
For this one the code
return (vm_offset_t)NULL
seems to solve the 1078's error.
void
HostIF_InitFP(VMDriver *vm)
{
int mask = (1<<(0xd-0x8));
uint8 val = inb(0xA1);
/* VnS Why used so ugly hack ? */
#ifdef VMX86_DEVEL
Log("HostIF_InitFP PIC1=0x%x %s\n",
val,
((val & mask) ? "Already Masked" : "To mask"));
#endif
if (!(val & mask)) {
val = 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?
--
Marco Trentini mark at remotelab.org
http://www.remotelab.org/
More information about the freebsd-ports
mailing list