List Info

Thread: experimental qemu port update, please test




experimental qemu port update, please test
user name
2006-10-28 18:36:18
On Thu, Oct 26, 2006 at 10:17:52PM +0200, Juergen Lock
wrote:
> While ports are still in freeze, I'd like to take the
opportunity
> to let you test an experimental port update of today's
cvs snapshot
> with any guests you have.  qemu cvs now uses aio, so
make sure you
> kldload that (or put it into your kernel) before
running the
> updated qemu.  ...

Ok, I just added WITHOUT_SDL and WITHOUT_CDROM_DMA knobs
(the latter
being for FreeSBIE which still has atapicam in the kernel
which for
some reason qemu cvs doesn't like), and since the port has
now grown
a whopping six knobs I decided I should probably convert it
to
OPTIONS.  Please test, and tell me how you like it...   (no new
commits to qemu cvs apparently so I reused the older
snapshot.)

New files: files/patch-vl.h files/patch-Makefile
files/patch-vl.c-serial
	files/cdrom-dma-patch

Index: Makefile
============================================================
=======
RCS file: /home/ncvs/ports/emulators/qemu/Makefile,v
retrieving revision 1.57
diff -u -r1.57 Makefile
--- Makefile	20 Sep 2006 11:20:47 -0000	1.57
+++ Makefile	28 Oct 2006 14:56:48 -0000
 -6,19
+6,16 
 #
 
 PORTNAME=	qemu
-PORTVERSION=	0.8.2
-PORTREVISION=	2
+PORTVERSION=	0.8.2s.20061026
 CATEGORIES=	emulators
 MASTER_SITES=	http://www.qemu.org/:rel
ease 
+		htt
p://qemu-forum.ipi.fi/qemu-snapshots/:snapshot 
 		http:
//people.fruitsalad.org/nox/qemu/:snapshot 
 		http://www
.volny.cz/xnavara/qemu/:snapshot 
-		h
ttp://qemu.dad-answers.com/download/qemu/:snapshot 
 		http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma 
 		http://peo
ple.freebsd.org/~maho/qemu/:misc
-DISTFILES=	$$:release
-.if defined (WITH_HACKS_CIRRUS) || defined (WITH_HACKS)
-DISTFILES+=	patch3_cirrus:misc
-.endif
+DISTNAME=	$-snapshot-2006-10-26_05
+DISTFILES=	$$:snapshot
 DIST_SUBDIR=	qemu
 EXTRACT_ONLY=	$$
 
 -26,63
+23,54 
 COMMENT=	QEMU CPU Emulator
 
 BUILD_DEPENDS+=	texi2html:$/textproc/texi2html
-.if defined(WITH_SAMBA)
-RUN_DEPENDS+=	$/sbin/smbd:$/net/samba3
-.endif
-.if defined(WITH_KQEMU)
-BUILD_DEPENDS+=	kqemu-kmod>=1.3.0pre5:$/emulat
ors/kqemu-kmod
-.endif
 
 HAS_CONFIGURE=	yes
+USE_BZIP2=	yes
 USE_GMAKE=	yes
 USE_GETOPT_LONG=	yes
-USE_SDL=	sdl
 USE_PERL5=	yes
+USE_GCC=	3.4
 PATCH_STRIP=	-p1
 CONFIGURE_ARGS+=	--prefix=$ --cc=$
 MAKE_ENV+=	BSD_MAKE="$"
CFLAGS="$" LDFLAGS="$"
 MAN1=		qemu.1 qemu-img.1
 ONLY_FOR_ARCHS=	amd64 i386
+
+OPTIONS=	KQEMU "Build with (alpha!) accelerator
module" Off 
+		HACKS_CIRRUS "Large display speedup (buggy!)"
Off 
+		RTL8139_TIMER "allow use of re(4) nic with FreeBSD
guests" Off 
+		SAMBA "samba dependency (for -smb)" Off 
+		SDL "SDL/X dependency (graphical output)" On 
+		CDROM_DMA "IDE CDROM DMA" On
+
+.include <bsd.port.pre.mk>
+
 WITHOUT_CPU_CFLAGS=yes	#to avoid problems with register
allocation
 
+.if defined(WITHOUT_SDL)
+CONFIGURE_ARGS+=	--disable-sdl --disable-gfx-check
+.else
+USE_SDL=	sdl
+.endif
+
+.if defined (WITH_HACKS_CIRRUS) || defined (WITH_HACKS)
+DISTFILES+=	patch3_cirrus:misc
+.endif
+
+.if defined(WITH_SAMBA)
+RUN_DEPENDS+=	$/sbin/smbd:$/net/samba3
+.endif
+
 .if defined(WITH_KQEMU)
+BUILD_DEPENDS+=	kqemu-kmod>=1.3.0pre5:$/emulat
ors/kqemu-kmod
 CONFIGURE_ARGS+=	--enable-kqemu
 .else
 CONFIGURE_ARGS+=	--disable-kqemu
 .endif
 
-.include <bsd.port.pre.mk>
-
 .if $ == "amd64"
 MAKE_ARGS+=	ARCH=x86_64
 .endif
-USE_GCC=	3.4
-
-pre-everything::
-.if !defined(WITH_KQEMU)
-	$ "Notice: you can build qemu with the
(alpha!) kqemu accelerator kernel module"
-	$ "by defining WITH_KQEMU."
-.endif
-.if !defined(WITH_HACKS_CIRRUS) &&
!defined(WITH_HACKS)
-	$ "You can build qemu with some hacks
(esp. for speedup)"
-	$ "by defining WITH_HACKS, or
specifically:"
-	$ "2. WITH_HACKS_CIRRUS: higher speed
on large display (cirrus_vga)"
-	$ "by Juergen Pfennig"
-	$ "http://lists.gnu.org/archive/html/qemu-d
evel/2006-01/msg00208.html"
-	$ "Note: this second patch is known to
cause mouse problems with some(?)"
-	$ "versions of XP, and also minor
redraw bugs with some Linux guests."
-.endif
-.if !defined(WITH_SAMBA) &&
!exists($/sbin/smbd)
-	$ "Notice: if you need qemu's -smb
option (smb-export local dir to guest)"
-	$ "then you also need samba, you can
have this port install it by defining"
-	$ "WITH_SAMBA."
-.endif
-.if !defined(WITH_RTL8139_TIMER)
-	$ "Notice: if you want to use qemu's
rtl8139c+ nic with a FreeBSD guest"
-	$ "(qemu -net nic,model=rtl8139 -net
user or tap ... - will use re(4)"
-	$ "instead of ed(4) which should use
less cpu), then you need to enable"
-	$ "the emulated rtl8139 timer by
defining WITH_RTL8139_TIMER."
-.endif
 
 post-extract:
 	$ $/kqemu
 -101,6
+89,9 
 .if defined(WITH_RTL8139_TIMER)
 	cd
$ && $ --quiet <
$/rtl8139-re-patch
 .endif
+.if !defined(WITHOUT_CDROM_DMA)
+	cd
$ && $ --quiet <
$/cdrom-dma-patch
+.endif
 	$ -E 
 		-e "s,^(CFLAGS=).*,1$
-fno-strict-aliasing," 
 		-e "s,^(LDFLAGS=).*,1$," 
Index: distinfo
============================================================
=======
RCS file: /home/ncvs/ports/emulators/qemu/distinfo,v
retrieving revision 1.32
diff -u -r1.32 distinfo
--- distinfo	7 Aug 2006 16:10:26 -0000	1.32
+++ distinfo	26 Oct 2006 19:10:48 -0000
 -1,6
+1,6 
-MD5 (qemu/qemu-0.8.2.tar.gz) =
5b3a89eb2f256a8a6f3bb07f7b3f1b07
-SHA256 (qemu/qemu-0.8.2.tar.gz) =
2a20d811296c859d678bdd002222aa7ca7951a641327234f3af144e822d0
78f3
-SIZE (qemu/qemu-0.8.2.tar.gz) = 1810909
+MD5 (qemu/qemu-snapshot-2006-10-26_05.tar.bz2) =
ec77ef5e0ff45c5bcdae16078b10e5bd
+SHA256 (qemu/qemu-snapshot-2006-10-26_05.tar.bz2) =
991b4111742eebe963685c902c13bde9e279832d29c27241edc0620a4561
1367
+SIZE (qemu/qemu-snapshot-2006-10-26_05.tar.bz2) = 1494227
 MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810
 SHA256 (qemu/patch3_cirrus) =
e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc94
1e11
 SIZE (qemu/patch3_cirrus) = 8817
Index: pkg-message
============================================================
=======
RCS file: /home/ncvs/ports/emulators/qemu/pkg-message,v
retrieving revision 1.15
diff -u -r1.15 pkg-message
--- pkg-message	2 Sep 2006 19:50:46 -0000	1.15
+++ pkg-message	28 Oct 2006 15:16:57 -0000
 -56,4
+56,13 
 (the rtl8139c+ that model=rtl8139 emulates needs less cpu
than qemu's
 default ne2k nic which is driven by ed(4), it has not been
made default
 only because it may not work with all guests yet.)
+- qemu now uses aio at least for ide dma, so if you get
`Bad system call'
+crashes that is because aio is not (kld)loaded.
+- if you get repeated `atapi_poll called!' console messages
with FreeBSD
+guests or other weird cdrom problems then thats probably
because the guest
+has atapicam loaded, which for reasons still to be
determined has problems
+with qemu's now by default enabled cdrom dma.  You can
build the port with
+WITHOUT_CDROM_DMA defined to disable it.
+- if you build qemu wihout SDL and then get crashes running
it try passing
+it -nographic.  This should probably be default in that
case...
 ====
Index: files/patch-vl.h
 -0,0
+1,12 
+Index: qemu/vl.h
+ -73,6 +73,10 
+ #define PRIo64 "I64o"
+ #endif
+ 
++#ifndef ENOMEDIUM
++#define ENOMEDIUM 4097
++#endif
++
+ #ifdef QEMU_TOOL
+ 
+ /* we use QEMU_TOOL in the command line tools which do not
depend on
Index: files/patch-Makefile
 -0,0
+1,11 
+Index: qemu/Makefile
+ -28,7 +28,8 
+ ifndef CONFIG_DARWIN
+ ifndef CONFIG_WIN32
+ ifndef CONFIG_SOLARIS
+-LIBS+=-lrt
++# XXX need ifndef CONFIG_BSD
++# LIBS+=-lrt
+ endif
+ endif
+ endif
Index: files/patch-vl.c-serial
 -0,0
+1,17 
+Index: qemu/vl.c
+ -1606,10 +1606,13 
+     cfsetospeed(&tty, spd);
+ 
+     tty.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP
+-                          |INLCR|IGNCR|ICRNL|IXON);
+-    tty.c_oflag |= OPOST;
++                         
|INLCR|IGNCR|ICRNL|IXON|IMAXBEL);
++    tty.c_oflag &= ~OPOST; /* Don't do any output
processing! */
+     tty.c_lflag &= ~(ECHO|ECHONL|ICANON|IEXTEN|ISIG);
+     tty.c_cflag &=
~(CSIZE|PARENB|PARODD|CRTSCTS|CSTOPB);
++#ifdef __FreeBSD__
++    cfmakeraw(&tty);
++#endif
+     switch(data_bits) {
+     default:
+     case 8:
Index: files/cdrom-dma-patch
 -0,0
+1,10 
+Index: hw/ide.c
+ -27,7 +27,7 
+ //#define DEBUG_IDE
+ //#define DEBUG_IDE_ATAPI
+ //#define DEBUG_AIO
+-#define USE_DMA_CDROM
++// #define USE_DMA_CDROM
+ 
+ /* Bits of HD_STATUS */
+ #define ERR_STAT		0x01
_______________________________________________
freebsd-emulationfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-emu
lation
To unsubscribe, send any mail to
"freebsd-emulation-unsubscribefreebsd.org"
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )