Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 4 Mar 2008 08:10:02 GMT
From:      Boris Samorodov <bsam@ipt.ru>
To:        freebsd-emulation@FreeBSD.org
Subject:   Re: ports/117350: compile error in emulators/vmware3
Message-ID:  <200803040810.m248A2Nt029922@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/117350; it has been noted by GNATS.

From: Boris Samorodov <bsam@ipt.ru>
To: bug-followup@FreeBSD.org, wangyi6854@gmail.com, fchang@cs.ubc.ca
Cc:  
Subject: Re: ports/117350: compile error in emulators/vmware3
Date: Tue, 04 Mar 2008 10:18:56 +0300

 Here is a relevant diff for the port to test:
 -----
 Index: Makefile
 ===================================================================
 RCS file: /home/pcvs/ports/emulators/vmware3/Makefile,v
 retrieving revision 1.96
 diff -u -r1.96 Makefile
 --- Makefile	25 Oct 2007 00:13:00 -0000	1.96
 +++ Makefile	4 Mar 2008 07:15:18 -0000
 @@ -105,6 +105,10 @@
  	cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-1.patch
  	cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-2.patch
  .endif
 +.if ${OSVERSION} > 700000
 +	cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd7-1.patch
 +	cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd7-2.patch
 +.endif
  
  pre-install:
  	${INSTALL_MAN} ${WRKSRC}/man/man1/vmware.1 ${MANPREFIX}/man/man1
 Index: files/fbsd7-1.patch
 ===================================================================
 RCS file: files/fbsd7-1.patch
 diff -N files/fbsd7-1.patch
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ files/fbsd7-1.patch	4 Mar 2008 07:15:18 -0000
 @@ -0,0 +1,45 @@
 +--- vmmon-only/freebsd/driver.c.orig	2008-03-04 10:05:14.000000000 +0300
 ++++ vmmon-only/freebsd/driver.c	2008-03-04 10:09:23.000000000 +0300
 +@@ -397,12 +397,12 @@
 + 	if ((error = falloc(td, &fp, &fd)) != 0)
 + 		return error;
 + 
 +-	FILEDESC_LOCK(p->p_fd);
 ++	FILEDESC_XLOCK(p->p_fd);
 + 	fp->f_data = data;
 + 	fp->f_flag = flags & FMASK;
 + 	fp->f_ops = &vmmon_fileops;
 + 	fp->f_type = DTYPE_SOCKET;
 +-	FILEDESC_UNLOCK(p->p_fd);
 ++	FILEDESC_XUNLOCK(p->p_fd);
 + 
 + #if __FreeBSD_version >= 501111
 + 	/* falloc now returns TWO references to the file, not one. */
 +@@ -1309,6 +1309,19 @@
 + 	return FALSE;
 + }
 + 
 ++static vm_paddr_t
 ++get_avail_end(void)
 ++{
 ++	vm_paddr_t avail_end;
 ++	int i;
 ++	avail_end = phys_avail[1];
 ++	for (i = 0; phys_avail[i + 1]; i += 2) {
 ++		if (phys_avail[i + 1] > avail_end)
 ++			avail_end = phys_avail[i + 1];
 ++	}
 ++	return avail_end;
 ++}
 ++
 + /*
 +  * Allocate and lock numPages of memory physically continguous addresses
 +  * below 4GB.
 +@@ -1341,6 +1354,7 @@
 + 		VMDEBUG("vmmon_alloc_low_pages: malloc MemRange failed\n");
 + 		return ENOMEM;
 + 	}
 ++	vm_paddr_t avail_end = get_avail_end();
 + 	if (avail_end > ISA_DMA_BOUNCE_THRESHOLD)
 + 		high = trunc_page(ISA_DMA_BOUNCE_THRESHOLD);
 + 	else
 Index: files/fbsd7-2.patch
 ===================================================================
 RCS file: files/fbsd7-2.patch
 diff -N files/fbsd7-2.patch
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ files/fbsd7-2.patch	4 Mar 2008 07:15:18 -0000
 @@ -0,0 +1,18 @@
 +--- vmmon-only/include/vm_asm.h.orig	2003-07-24 01:43:38.000000000 +0400
 ++++ vmmon-only/include/vm_asm.h	2008-03-04 09:29:45.000000000 +0300
 +@@ -1020,6 +1020,7 @@
 +  *-----------------------------------------------------------------------------
 +  */
 + 
 ++#if 0
 + static INLINE void
 + Div643264(uint64 dividend,
 +           uint32 divisor,
 +@@ -1047,6 +1048,7 @@
 +    *quotient = (uint64)hQuotient << 32 | lQuotient;
 + }
 + #endif
 ++#endif
 + 
 + 
 + #endif /* VM_ASM_H */
 
 -----
 
 WBR
 -- 
 bsam



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