ports/94930: another small emulators/qemu update (supersedes ports/94842)
Juergen Lock
nox at jelal.kn-bremen.de
Sat Mar 25 16:50:19 UTC 2006
>Number: 94930
>Category: ports
>Synopsis: another small emulators/qemu update (supersedes ports/94842)
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sat Mar 25 16:50:17 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Juergen Lock
>Release: FreeBSD 5.5-PRERELEASE i386
>Organization:
me? organized??
>Environment:
System: FreeBSD saturn 5.5-PRERELEASE FreeBSD 5.5-PRERELEASE #0: Fri Mar 17 04:37:54 CET 2006 nox at saturn:/usr/obj/usr/home/nox/src-r5/src/sys/NEPTUNu i386
>Description:
1. Lonnie sent me updates to 2 of his usb fixes
2. (optionally) seperate out the two WITH_HACKS patches
after i learned the cirrus patch can cause problems with
xp guests too
>How-To-Repeat:
n/a
>Fix:
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/Makefile,v
retrieving revision 1.46
diff -u -r1.46 Makefile
--- Makefile 18 Mar 2006 21:23:42 -0000 1.46
+++ Makefile 24 Mar 2006 00:57:30 -0000
@@ -7,7 +7,7 @@
PORTNAME= qemu
PORTVERSION= 0.8.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= emulators
MASTER_SITES= http://www.qemu.org/:release \
http://people.fruitsalad.org/nox/qemu/:snapshot \
@@ -16,8 +16,11 @@
http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma \
http://people.freebsd.org/~maho/qemu/:misc
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release
-.if defined (WITH_HACKS)
-DISTFILES+= qemu_dma_patch.tar.gz:idedma patch3_cirrus:misc
+.if defined (WITH_HACKS_IDEDMA) || defined (WITH_HACKS)
+DISTFILES+= qemu_dma_patch.tar.gz:idedma
+.endif
+.if defined (WITH_HACKS_CIRRUS) || defined (WITH_HACKS)
+DISTFILES+= patch3_cirrus:misc
.endif
DIST_SUBDIR= qemu
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@@ -61,13 +64,16 @@
@${ECHO_MSG} "Notice: you can build qemu with the (alpha!) kqemu accelerator kernel module"
@${ECHO_MSG} "by defining WITH_KQEMU."
.endif
-.if !defined(WITH_HACKS)
+.if !defined(WITH_HACKS_IDEDMA) && !defined(WITH_HACKS_CIRRUS) && !defined(WITH_HACKS)
@${ECHO_MSG} "You can build qemu with some hacks (esp. for speedup)"
- @${ECHO_MSG} "by defining WITH_HACKS."
- @${ECHO_MSG} "1. IDE Bus-master DMA Support by John Coiner"
+ @${ECHO_MSG} "by defining WITH_HACKS, or specifically:"
+ @${ECHO_MSG} "1. WITH_HACKS_IDEDMA: IDE Bus-master DMA Support by John Coiner"
@${ECHO_MSG} "http://people.brandeis.edu/~jcoiner/qemu_idedma/qemu_dma_patch.html"
- @${ECHO_MSG} "2. higher speed on large display (cirrus_vga) by Juergen Pfennig"
+ @${ECHO_MSG} "2. WITH_HACKS_CIRRUS: higher speed on large display (cirrus_vga)"
+ @${ECHO_MSG} "by Juergen Pfennig"
@${ECHO_MSG} "http://lists.gnu.org/archive/html/qemu-devel/2006-01/msg00208.html"
+ @${ECHO_MSG} "Note: this second patch is known to cause mouse problems with some(?)"
+ @${ECHO_MSG} "versions of XP, and also minor redraw bugs with some Linux guests."
.endif
.if !defined(WITH_SAMBA) && !exists(${LOCALBASE}/sbin/smbd)
@${ECHO_MSG} "Notice: if you need qemu's -smb option (smb-export local dir to guest)"
@@ -86,8 +92,10 @@
done
post-patch:
-.if defined(WITH_HACKS)
+.if defined(WITH_HACKS_IDEDMA) || defined (WITH_HACKS)
@cd ${WRKDIR} ; ${TAR} xfz ${DISTDIR}/${DIST_SUBDIR}/qemu_dma_patch.tar.gz ; ${CP} new_qemu_dma_patch/bios.bin ${WRKSRC}/pc-bios; cd ${WRKSRC}; ${PATCH} --quiet -p1 < ../new_qemu_dma_patch/qemu-piix4-udma.patch
+.endif
+.if defined(WITH_HACKS_CIRRUS) || defined (WITH_HACKS)
@cd ${WRKSRC} ; ${PATCH} --quiet < ${DISTDIR}/${DIST_SUBDIR}/patch3_cirrus
.endif
Index: files/patch-usb-hchalt
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/files/patch-usb-hchalt,v
retrieving revision 1.1
diff -u -r1.1 patch-usb-hchalt
--- files/patch-usb-hchalt 18 Mar 2006 21:23:42 -0000 1.1
+++ files/patch-usb-hchalt 18 Mar 2006 05:49:18 -0000
@@ -1,5 +1,13 @@
Index: qemu/hw/usb-uhci.c
-@@ -527,6 +532,8 @@
+@@ -174,6 +177,7 @@
+ if ((val & UHCI_CMD_RS) && !(s->cmd & UHCI_CMD_RS)) {
+ /* start frame processing */
+ qemu_mod_timer(s->frame_timer, qemu_get_clock(vm_clock));
++ s->status &= ~UHCI_STS_HCHALTED;
+ }
+ if (val & UHCI_CMD_GRESET) {
+ UHCIPort *port;
+@@ -528,6 +534,8 @@
if (!(s->cmd & UHCI_CMD_RS)) {
qemu_del_timer(s->frame_timer);
Index: files/patch-usb-hubfixups
===================================================================
RCS file: /home/ncvs/ports/emulators/qemu/files/patch-usb-hubfixups,v
retrieving revision 1.1
diff -u -r1.1 patch-usb-hubfixups
--- files/patch-usb-hubfixups 18 Mar 2006 21:23:42 -0000 1.1
+++ files/patch-usb-hubfixups 21 Mar 2006 04:47:03 -0000
@@ -25,18 +25,18 @@
case DeviceOutRequest | USB_REQ_SET_FEATURE:
if (value == USB_DEVICE_REMOTE_WAKEUP) {
dev->remote_wakeup = 1;
-@@ -408,6 +414,11 @@
- case USB_DT_DEVICE:
- memcpy(data, qemu_hub_dev_descriptor,
- sizeof(qemu_hub_dev_descriptor));
+@@ -413,6 +419,11 @@
+ case USB_DT_CONFIG:
+ memcpy(data, qemu_hub_config_descriptor,
+ sizeof(qemu_hub_config_descriptor));
+
+ /* status change endpoint size based on number
+ * of ports */
+ data[22] = (s->nb_ports + 1 + 7) / 8;
+
- ret = sizeof(qemu_hub_dev_descriptor);
+ ret = sizeof(qemu_hub_config_descriptor);
break;
- case USB_DT_CONFIG:
+ case USB_DT_STRING:
@@ -558,11 +569,29 @@
}
break;
@@ -85,3 +85,12 @@
status = 0;
for(i = 0; i < s->nb_ports; i++) {
port = &s->ports[i];
+@@ -598,7 +630,7 @@
+ }
+ ret = n;
+ } else {
+- ret = 0;
++ ret = USB_RET_NAK; /* usb_20 11.12.1 */
+ }
+ } else {
+ goto fail;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list