From owner-freebsd-emulation@FreeBSD.ORG Sat Mar 3 19:36:14 2007 Return-Path: X-Original-To: freebsd-emulation@freebsd.org Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9C44A16A400; Sat, 3 Mar 2007 19:36:14 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: from gwyn.kn-bremen.de (gwyn.kn-bremen.de [212.63.36.242]) by mx1.freebsd.org (Postfix) with ESMTP id 0948213C428; Sat, 3 Mar 2007 19:36:13 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: by gwyn.kn-bremen.de (Postfix, from userid 10) id 4D1C51A9699; Sat, 3 Mar 2007 20:36:12 +0100 (CET) Received: from saturn.kn-bremen.de (nox@localhost [127.0.0.1]) by saturn.kn-bremen.de (8.13.6/8.13.6) with ESMTP id l23JWusZ039022; Sat, 3 Mar 2007 20:32:56 +0100 (CET) (envelope-from nox@saturn.kn-bremen.de) Received: (from nox@localhost) by saturn.kn-bremen.de (8.13.6/8.13.6/Submit) id l23JWt6m039021; Sat, 3 Mar 2007 20:32:55 +0100 (CET) (envelope-from nox) Date: Sat, 3 Mar 2007 20:32:55 +0100 (CET) From: Juergen Lock Message-Id: <200703031932.l23JWt6m039021@saturn.kn-bremen.de> To: anderson@centtech.com X-Newsgroups: local.list.freebsd.emulation In-Reply-To: <45E5CDE3.7030509@centtech.com> References: <45DB10D3.8040807@centtech.com> <200702241917.l1OJHNlC008923@saturn.kn-bremen.de> <20070224192754.GA9905@saturn.kn-bremen.de> Organization: home Cc: freebsd-emulation@freebsd.org, freebsd-ports@freebsd.org Subject: experimental qemu-devel port (update), please test! (was: Re: qemu segfaulting all over the place) X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Mar 2007 19:36:14 -0000 In article <45E5CDE3.7030509@centtech.com> anderson@centtech.com (Eric Anderson)writes: >On 02/24/07 13:27, Juergen Lock wrote: >> On Sat, Feb 24, 2007 at 08:17:23PM +0100, Juergen Lock wrote: >>> In article <45DB10D3.8040807@centtech.com> you write: >>>> Is anyone else experiencing a nearly useless qemu experience with the >>>> latest versions? >>>> >>>> I'm running -CURRENT from yesterday, and the latest qemu port (and kqemu). >>>> >>>> These combinations segfault: >>>> >>>> Anything with the -vnc option, when disconnecting the vnc viewer, will >>>> segfault: >>>> sudo qemu -hda /alt/images/fs.img -hdb /alt/images/swapfile -net nic >>>> -net tap -snapshot -vnc :1 -serial /dev/ttyv8 -kernel-kqemu >>>> >>>> This used to work nicely, now it dies when I connect to port 1111: >>>> sudo qemu -hda /alt/images/fs.img -hdb /alt/images/swapfile -net nic >>>> -net tap -snapshot -serial telnet::1111,server,nowait -std-vga -monitor >>>> stdio -full-screen -kernel-kqemu >>>> >>>> Which, when it dies, ktrace shows me: >>>> ... >>> Hmm I don't know much about the code in question, you may have more >>> luck reposting this on the qemu list: >>> http://lists.gnu.org/mailman/listinfo/qemu-devel >> >> And just when I posted this... There were just patches posted on that >> list that fix vnc disconnect segfaults, so I think the next port update >> will fix at least that problem. > >Thanks! I've been hoping to see the update, but still not there yet.. >:( Oh well. Sorry things are going a little slow around here... But now I have the following update for you all to test: 1. copy the qemu port dir (/usr/ports/emulators/qemu) to emulators/qemu-devel 2. apply the patch below in emulators 3. deinstall qemu 3. run `make install' in the new qemu-devel port dir (you probably cannot use portinstall/portupgrade unless you add the new port to INDEX yourself, that is until it is committed...) 4. test! Should you want to go back, deinstall qemu-devel and then install the originall qemu port again. > I wonder if that will also fix my telnet issue with qemu. Not sure, but now you should be able to check yourself. :) Index: qemu/Makefile =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/Makefile,v retrieving revision 1.69 diff -u -r1.69 Makefile --- qemu/Makefile 6 Feb 2007 23:49:01 -0000 1.69 +++ qemu/Makefile 3 Mar 2007 19:29:33 -0000 @@ -33,6 +33,7 @@ MAKE_ENV+= BSD_MAKE="${MAKE}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" MAN1= qemu.1 qemu-img.1 ONLY_FOR_ARCHS= amd64 i386 +CONFLICTS= qemu-devel-[0-9]* OPTIONS= KQEMU "Build with (alpha!) accelerator module" Off \ HACKS_CIRRUS "Large display speedup (buggy!)" Off \ Index: qemu-devel/Makefile =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/Makefile,v retrieving revision 1.69 diff -u -r1.69 Makefile --- qemu-devel/Makefile 6 Feb 2007 23:49:01 -0000 1.69 +++ qemu-devel/Makefile 3 Mar 2007 17:39:33 -0000 @@ -6,24 +6,25 @@ # PORTNAME= qemu -PORTVERSION= 0.9.0 +PORTVERSION= 0.9.0s.20070303 CATEGORIES= emulators MASTER_SITES= http://qemu.org/:release \ http://qemu-forum.ipi.fi/qemu-snapshots/:snapshot \ http://people.fruitsalad.org/nox/qemu/:snapshot \ http://www.volny.cz/xnavara/qemu/:snapshot \ http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma \ - http://people.freebsd.org/~maho/qemu/:misc \ - http://people.freebsd.org/~jkim/:bios -DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:release \ - qemu-bios.bin:bios + http://people.freebsd.org/~maho/qemu/:misc +DISTNAME= ${PORTNAME}-snapshot-2007-03-03_05 +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot DIST_SUBDIR= qemu EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} +PKGNAMESUFFIX= -devel MAINTAINER= nox@FreeBSD.org COMMENT= QEMU CPU Emulator HAS_CONFIGURE= yes +USE_BZIP2= yes USE_GMAKE= yes USE_GETOPT_LONG= yes USE_PERL5= yes @@ -33,6 +34,7 @@ MAKE_ENV+= BSD_MAKE="${MAKE}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" MAN1= qemu.1 qemu-img.1 ONLY_FOR_ARCHS= amd64 i386 +CONFLICTS= qemu-[0-9]* OPTIONS= KQEMU "Build with (alpha!) accelerator module" Off \ HACKS_CIRRUS "Large display speedup (buggy!)" Off \ @@ -80,7 +82,6 @@ @${MKDIR} ${WRKSRC}/kqemu @${TOUCH} ${WRKSRC}/kqemu/Makefile @${ECHO} all: > ${WRKSRC}/kqemu/Makefile.freebsd - @${CP} -p ${_DISTDIR}/qemu-bios.bin ${WRKSRC}/pc-bios/bios.bin pre-patch: @for A in ${ONLY_FOR_ARCHS}; do \ Index: qemu-devel/distinfo =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/distinfo,v retrieving revision 1.41 diff -u -r1.41 distinfo --- qemu-devel/distinfo 6 Feb 2007 23:49:01 -0000 1.41 +++ qemu-devel/distinfo 3 Mar 2007 17:40:08 -0000 @@ -1,9 +1,6 @@ -MD5 (qemu/qemu-0.9.0.tar.gz) = ab11a03ba30cf4a70641f0f170473d69 -SHA256 (qemu/qemu-0.9.0.tar.gz) = 491facf9335654967ee53d8fb3540a274bfcbdcc225506bd38c4ee8e9ab405c1 -SIZE (qemu/qemu-0.9.0.tar.gz) = 1901741 -MD5 (qemu/qemu-bios.bin) = 173e256f17b4ac1f6e3249c83071e8f5 -SHA256 (qemu/qemu-bios.bin) = 452d863ec8ac9e2246950ac204410e847cdeba880d7bec2aeb79c4f2fbb0ad17 -SIZE (qemu/qemu-bios.bin) = 131072 +MD5 (qemu/qemu-snapshot-2007-03-03_05.tar.bz2) = bcd0f3d4f52a4b1a2f523091d17a507f +SHA256 (qemu/qemu-snapshot-2007-03-03_05.tar.bz2) = 31b578a3a7624e9479ed0541ea8eb6c169f9e5c3ec2df3ddc522d2c22c321990 +SIZE (qemu/qemu-snapshot-2007-03-03_05.tar.bz2) = 1645930 MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810 SHA256 (qemu/patch3_cirrus) = e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc941e11 SIZE (qemu/patch3_cirrus) = 8817 Index: qemu-devel/files/patch-Makefile =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-Makefile,v retrieving revision 1.2 diff -u -r1.2 patch-Makefile --- qemu-devel/files/patch-Makefile 4 Nov 2006 18:29:35 -0000 1.2 +++ qemu-devel/files/patch-Makefile 3 Mar 2007 17:42:49 -0000 @@ -1,6 +1,6 @@ Index: qemu/Makefile -@@ -20,6 +20,10 @@ - LDFLAGS+=-static +@@ -19,14 +19,19 @@ + BASE_LDFLAGS += -static endif ifdef BUILD_DOCS +ifdef NOPORTDOCS @@ -10,17 +10,17 @@ +endif else DOCS= -@@ -28,7 +28,8 @@ + endif + ifndef CONFIG_DARWIN ifndef CONFIG_WIN32 - ifndef CONFIG_SOLARIS -LIBS+=-lrt +# XXX need ifndef CONFIG_BSD +# LIBS+=-lrt endif endif - endif -@@ -72,8 +75,10 @@ + +@@ -64,8 +69,10 @@ common de-ch es fo fr-ca hu ja mk nl-be pt sl tr install-doc: $(DOCS) Index: qemu-devel/files/patch-bd =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-bd,v retrieving revision 1.1 diff -u -r1.1 patch-bd --- qemu-devel/files/patch-bd 3 Jun 2004 02:12:52 -0000 1.1 +++ qemu-devel/files/patch-bd 3 Mar 2007 18:55:01 -0000 @@ -1,10 +1,19 @@ Index: qemu/configure -@@ -286,7 +286,7 @@ - if test -z "$prefix" ; then - prefix="/usr/local" - fi --mandir="$prefix/share/man" -+mandir="$prefix/man" - datadir="$prefix/share/qemu" - docdir="$prefix/share/doc/qemu" - bindir="$prefix/bin" +@@ -570,7 +570,7 @@ + if test -z "$prefix" ; then + prefix="/usr/local" + fi +- mansuffix="/share/man" ++ mansuffix="/man" + datasuffix="/share/qemu" + docsuffix="/share/doc/qemu" + binsuffix="/bin" +@@ -645,7 +645,7 @@ + echo "bindir=\${prefix}$binsuffix" >> $config_mak + echo "mandir=\${prefix}$mansuffix" >> $config_mak + echo "datadir=\${prefix}$datasuffix" >> $config_mak +-echo "docdir=\${prefix}$docsuffic" >> $config_mak ++echo "docdir=\${prefix}$docsuffix" >> $config_mak + echo "#define CONFIG_QEMU_SHAREDIR \"$prefix$datasuffix\"" >> $config_h + echo "MAKE=$make" >> $config_mak + echo "INSTALL=$install" >> $config_mak Index: qemu-devel/files/patch-fbsd =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-fbsd,v retrieving revision 1.8 diff -u -r1.8 patch-fbsd --- qemu-devel/files/patch-fbsd 7 Aug 2006 16:10:27 -0000 1.8 +++ qemu-devel/files/patch-fbsd 3 Mar 2007 17:50:05 -0000 @@ -20,17 +20,17 @@ rm -f *.o *.a $(TOOLS) dyngen$(EXESUF) TAGS *.pod *~ */*~ $(MAKE) -C tests clean Index: qemu/Makefile.target -@@ -391,8 +391,8 @@ - VL_LDFLAGS+=-Wl,-G0 -Wl,-T,$(SRC_PATH)/ia64.ld +@@ -465,8 +465,8 @@ + SDL_LIBS := $(filter-out -mwindows, $(SDL_LIBS)) -mconsole endif -$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a -- $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) +- $(CC) $(VL_LDFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) +$(QEMU_SYSTEM): $(VL_OBJS) libqemu.a ../bsd/libmath.a -+ $(CC) $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) ../bsd/libmath.a ++ $(CC) $(VL_LDFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(COCOA_LIBS) $(VL_LIBS) ../bsd/libmath.a cocoa.o: cocoa.m - $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< + $(CC) $(CFLAGS) $(CPPFLAGS) $(BASE_CFLAGS) -c -o $@ $< Index: qemu/fpu/softfloat-native.c @@ -2,11 +2,16 @@ context is supported */ Index: qemu-devel/files/patch-vl.c =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-vl.c,v retrieving revision 1.5 diff -u -r1.5 patch-vl.c --- qemu-devel/files/patch-vl.c 25 Dec 2006 19:49:52 -0000 1.5 +++ qemu-devel/files/patch-vl.c 3 Mar 2007 18:03:21 -0000 @@ -8,14 +8,14 @@ static CharDriverState *qemu_chr_open_pty(void) { struct termios tty; -@@ -1665,6 +1665,7 @@ +@@ -1904,6 +1907,7 @@ return chr; } +#if defined(__linux__) - static int pp_ioctl(CharDriverState *chr, int cmd, void *arg) - { - int fd = (int)chr->opaque; + typedef struct { + int fd; + int mode; @@ -1727,6 +1728,7 @@ chr->chr_ioctl = pp_ioctl; return chr; Index: qemu-devel/files/patch-vl.c-nographic =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-vl.c-nographic,v retrieving revision 1.1 diff -u -r1.1 patch-vl.c-nographic --- qemu-devel/files/patch-vl.c-nographic 18 Mar 2006 21:23:42 -0000 1.1 +++ qemu-devel/files/patch-vl.c-nographic 3 Mar 2007 17:52:35 -0000 @@ -1,8 +1,8 @@ Index: qemu/vl.c -@@ -4668,6 +4668,7 @@ +@@ -7131,6 +7131,7 @@ case QEMU_OPTION_nographic: - pstrcpy(monitor_device, sizeof(monitor_device), "stdio"); pstrcpy(serial_devices[0], sizeof(serial_devices[0]), "stdio"); + pstrcpy(monitor_device, sizeof(monitor_device), "stdio"); + pstrcpy(parallel_devices[0], sizeof(parallel_devices[0]), "null"); nographic = 1; break;