mirror of
https://git.freebsd.org/ports.git
synced 2025-06-29 08:30:37 -04:00
Unbreak compiling at FreeBSD-7.x. The port seems to work only with
an UP kernel. PR: 117350 Submitted by: Yi Wang <wangyi6854 at gmail.com> Patch by: fchang at cs.ubc.ca Tested by: Yi Wang <wangyi6854 at gmail.com>
This commit is contained in:
parent
9246e4464a
commit
25e545e858
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=210330
3 changed files with 67 additions and 0 deletions
|
@ -105,6 +105,10 @@ post-patch:
|
||||||
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-1.patch
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-1.patch
|
||||||
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-2.patch
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd6-2.patch
|
||||||
.endif
|
.endif
|
||||||
|
.if ${OSVERSION} > 700000
|
||||||
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd7-1.patch
|
||||||
|
cd ${WRKSRC} && ${PATCH} < ${FILESDIR}/fbsd7-2.patch
|
||||||
|
.endif
|
||||||
|
|
||||||
pre-install:
|
pre-install:
|
||||||
${INSTALL_MAN} ${WRKSRC}/man/man1/vmware.1 ${MANPREFIX}/man/man1
|
${INSTALL_MAN} ${WRKSRC}/man/man1/vmware.1 ${MANPREFIX}/man/man1
|
||||||
|
|
45
emulators/vmware3/files/fbsd7-1.patch
Normal file
45
emulators/vmware3/files/fbsd7-1.patch
Normal file
|
@ -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
|
18
emulators/vmware3/files/fbsd7-2.patch
Normal file
18
emulators/vmware3/files/fbsd7-2.patch
Normal file
|
@ -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 */
|
Loading…
Add table
Reference in a new issue