Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 26 Mar 2006 12:55:59 +0200 (CEST)
From:      Juergen Lock <nox@jelal.kn-bremen.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/94949: yet another small emulators/qemu update (supersedes ports/94930)
Message-ID:  <200603261055.k2QAtxSb004460@saturn.kn-bremen.de>
Resent-Message-ID: <200603261100.k2QB0Xvg061546@freefall.freebsd.org>

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

>Number:         94949
>Category:       ports
>Synopsis:       yet another small emulators/qemu update (supersedes ports/94930)
>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:   Sun Mar 26 11:00:32 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@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. and posted another usb bugfix affecting FreeBSD guests
	3. (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:

New file: files/patch-usb-uhub-CPEfix

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;
Index: files/patch-usb-uhub-CPEfix
@@ -0,0 +1,9 @@
+Index: qemu/hw/usb.c
+@@ -508,7 +518,6 @@
+                                        USB_MSG_RESET, 0, 0, NULL, 0);
+                     port->wPortChange |= PORT_STAT_C_RESET;
+                     /* set enable bit */
+-                    port->wPortChange |= PORT_STAT_C_ENABLE;
+                     port->wPortStatus |= PORT_STAT_ENABLE;
+                 }
+                 break;
>Release-Note:
>Audit-Trail:
>Unformatted:



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