From owner-freebsd-emulation@FreeBSD.ORG Fri Feb 2 00:46:06 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 3A2C216A400; Fri, 2 Feb 2007 00:46:06 +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 95B5413C4AA; Fri, 2 Feb 2007 00:46:05 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: by gwyn.kn-bremen.de (Postfix, from userid 10) id AE46219FDC4; Fri, 2 Feb 2007 01:46:03 +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 l120jEAD088307; Fri, 2 Feb 2007 01:45:14 +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 l120jE5x088306; Fri, 2 Feb 2007 01:45:14 +0100 (CET) (envelope-from nox) From: Juergen Lock Date: Fri, 2 Feb 2007 01:45:14 +0100 To: Jung-uk Kim Message-ID: <20070202004514.GA88287@saturn.kn-bremen.de> Mail-Followup-To: Jung-uk Kim , freebsd-emulation@FreeBSD.org References: <200702011502.56443.jkim@FreeBSD.org> <20070201231717.GA84018@saturn.kn-bremen.de> <200702011911.26056.jkim@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200702011911.26056.jkim@FreeBSD.org> User-Agent: Mutt/1.5.13 (2006-08-11) Cc: freebsd-emulation@FreeBSD.org Subject: Re: experimental qemu update, please test! (was: [FIX] QEMU and ACPI) 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: Fri, 02 Feb 2007 00:46:06 -0000 On Thu, Feb 01, 2007 at 07:11:23PM -0500, Jung-uk Kim wrote: > On Thursday 01 February 2007 06:17 pm, Juergen Lock wrote: > > On Thu, Feb 01, 2007 at 03:02:53PM -0500, Jung-uk Kim wrote: > > > You may have noticed recent QEMU does not boot FreeBSD/amd64 SMP > > > guest on FreeBSD/amd64 -CURRENT host (i.e., you may have seen > > > 'invalid RSDT checksum' error while booting). That is because > > > the QEMU BIOS (which is actually Bochs BIOS with little > > > modification) has a little bug in it. If you experience the > > > issue, grab a file from here: > > > > > > http://people.freebsd.org/~jkim/qemu-bios.bin > > > > > > and replace /usr/local/share/qemu/bios.bin with it. The QEMU > > > patch against Bochs BIOS is here: > > > > > > http://people.freebsd.org/~jkim/qemu-bios.diff > > > > > > Basically it wasn't clearing RSDT before checksum calculation. > > > ;-) > > > > Ok I have prepared a qemu port update that includes this, please > > test before I commit it: > > I am very sorry to tell you this but I just found out that I uploaded > wrong BIOS image (i.e., Bochs BIOS instead of QEMU BIOS, which does > not include the ACPI fix). :-( I uploaded correct one. Please > update your patch with correct distinfo. My apologies... Ok patch again with updated distinfo: Removed files: files/patch-slirp-udp.c files/patch-vl.h files/patch-sdl.c News files: files/patch-x_keymap.c Index: Makefile =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/Makefile,v retrieving revision 1.67 diff -u -r1.67 Makefile --- Makefile 31 Jan 2007 23:20:53 -0000 1.67 +++ Makefile 1 Feb 2007 22:16:35 -0000 @@ -6,17 +6,18 @@ # PORTNAME= qemu -PORTVERSION= 0.8.2s.20070111 -PORTREVISION= 1 +PORTVERSION= 0.8.2s.20070201 CATEGORIES= emulators MASTER_SITES= http://www.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 -DISTNAME= ${PORTNAME}-snapshot-2007-01-11_05 -DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot + http://people.freebsd.org/~maho/qemu/:misc \ + http://people.freebsd.org/~jkim/:bios +DISTNAME= ${PORTNAME}-snapshot-2007-02-01_05 +DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot \ + qemu-bios.bin:bios DIST_SUBDIR= qemu EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} @@ -81,6 +82,7 @@ @${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: distinfo =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/distinfo,v retrieving revision 1.39 diff -u -r1.39 distinfo --- distinfo 12 Jan 2007 00:13:58 -0000 1.39 +++ distinfo 2 Feb 2007 00:39:49 -0000 @@ -1,6 +1,9 @@ -MD5 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 6b183198ea932853664edbff595579c7 -SHA256 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 4020ae33a58fba1a205c77a70fce21ba8e1843adcb8bedcabfbc7f84c53b35a1 -SIZE (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 1576375 +MD5 (qemu/qemu-snapshot-2007-02-01_05.tar.bz2) = 89d97d0a6a87fb4a5a572c5b511fbac0 +SHA256 (qemu/qemu-snapshot-2007-02-01_05.tar.bz2) = dc5d20e99da3537c11bf86e291c1ca709172955e3c77bed1539978bd0ba7ec3f +SIZE (qemu/qemu-snapshot-2007-02-01_05.tar.bz2) = 1632792 +MD5 (qemu/qemu-bios.bin) = 173e256f17b4ac1f6e3249c83071e8f5 +SHA256 (qemu/qemu-bios.bin) = 452d863ec8ac9e2246950ac204410e847cdeba880d7bec2aeb79c4f2fbb0ad17 +SIZE (qemu/qemu-bios.bin) = 131072 MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810 SHA256 (qemu/patch3_cirrus) = e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc941e11 SIZE (qemu/patch3_cirrus) = 8817 Index: files/patch-bsdusb.patch =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-bsdusb.patch,v retrieving revision 1.6 diff -u -r1.6 patch-bsdusb.patch --- files/patch-bsdusb.patch 17 Dec 2006 00:22:36 -0000 1.6 +++ files/patch-bsdusb.patch 1 Feb 2007 20:38:44 -0000 @@ -1,13 +1,13 @@ Index: qemu/configure -@@ -134,6 +134,7 @@ +@@ -139,6 +139,7 @@ oss="yes" linux="yes" - user="yes" + linux_user="yes" +usb="linux" if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then kqemu="yes" fi -@@ -143,6 +144,7 @@ +@@ -148,6 +149,7 @@ if [ "$bsd" = "yes" ] ; then if [ "$darwin" != "yes" ] ; then make="gmake" @@ -15,7 +15,7 @@ fi fi -@@ -724,6 +726,19 @@ +@@ -786,6 +788,19 @@ fi echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h Index: files/patch-osdep.c =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-osdep.c,v retrieving revision 1.1 diff -u -r1.1 patch-osdep.c --- files/patch-osdep.c 5 May 2005 12:41:10 -0000 1.1 +++ files/patch-osdep.c 1 Feb 2007 21:10:45 -0000 @@ -1,7 +1,7 @@ Index: qemu/osdep.c -@@ -323,7 +323,9 @@ +@@ -79,7 +79,9 @@ - #elif defined(USE_KQEMU) + #if defined(USE_KQEMU) +#ifndef __FreeBSD__ #include @@ -9,15 +9,15 @@ #include #include -@@ -334,6 +336,7 @@ +@@ -90,6 +92,7 @@ const char *tmpdir; char phys_ram_file[1024]; void *ptr; +#ifndef __FreeBSD__ - struct statfs stfs; - - if (phys_ram_fd < 0) { -@@ -389,12 +392,20 @@ + #ifdef HOST_SOLARIS + struct statvfs stfs; + #else +@@ -151,12 +154,20 @@ } unlink(phys_ram_file); } Index: files/patch-sdl.c =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-sdl.c,v retrieving revision 1.5 diff -u -r1.5 patch-sdl.c --- files/patch-sdl.c 26 Dec 2006 22:41:13 -0000 1.5 +++ files/patch-sdl.c 1 Feb 2007 21:54:07 -0000 @@ -1,14 +0,0 @@ -Index: qemu/sdl.c -@@ -115,9 +115,9 @@ - 0xb5, /* 112 Divide */ - 0xb8, /* 113 Alt-R */ - 0xc6, /* 114 Break */ -- 0x0, /* 115 */ -- 0x0, /* 116 */ -- 0x0, /* 117 */ -+ 0xdb, /* 115 windows left button */ -+ 0xdc, /* 116 windows right button */ -+ 0xdd, /* 117 right menu button */ - 0x0, /* 118 */ - 0x0, /* 119 */ - 0x70, /* 120 Hiragana_Katakana */ Index: files/patch-slirp-udp.c =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-slirp-udp.c,v retrieving revision 1.1 diff -u -r1.1 patch-slirp-udp.c --- files/patch-slirp-udp.c 12 Jan 2007 00:13:58 -0000 1.1 +++ files/patch-slirp-udp.c 1 Feb 2007 21:54:07 -0000 @@ -1,26 +0,0 @@ -Index: qemu/slirp/udp.c -@@ -205,8 +208,6 @@ - /* udp_last_so = so; */ - so->so_laddr = ip->ip_src; - so->so_lport = uh->uh_sport; -- so->so_faddr = ip->ip_dst; /* XXX */ -- so->so_fport = uh->uh_dport; /* XXX */ - - if ((so->so_iptos = udp_tos(so)) == 0) - so->so_iptos = ip->ip_tos; -@@ -216,6 +217,15 @@ - * and if it is, do the fork_exec() etc. - */ - } -+ -+ /* -+ * Assign destination unconditionally -+ * -+ * This fixes the case where packets are sent from the same -+ * source ip/port to different destination ips/ports -+ */ -+ so->so_faddr = ip->ip_dst; /* XXX */ -+ so->so_fport = uh->uh_dport; /* XXX */ - - iphlen += sizeof(struct udphdr); - m->m_len -= iphlen; Index: files/patch-vl.c-ppbus =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-vl.c-ppbus,v retrieving revision 1.1 diff -u -r1.1 patch-vl.c-ppbus --- files/patch-vl.c-ppbus 21 Aug 2006 23:02:01 -0000 1.1 +++ files/patch-vl.c-ppbus 1 Feb 2007 21:05:43 -0000 @@ -9,7 +9,7 @@ #endif #else #ifndef __sun__ -@@ -1728,7 +1730,65 @@ +@@ -1728,7 +1730,64 @@ chr->chr_ioctl = pp_ioctl; return chr; } @@ -68,7 +68,6 @@ + } + chr->opaque = (void *)fd; + chr->chr_write = null_chr_write; -+ chr->chr_add_read_handler = null_chr_add_read_handler; + chr->chr_ioctl = pp_ioctl; + return chr; +} Index: files/patch-vl.h =================================================================== RCS file: /home/pcvs/ports/emulators/qemu/files/patch-vl.h,v retrieving revision 1.1 diff -u -r1.1 patch-vl.h --- files/patch-vl.h 31 Oct 2006 22:55:34 -0000 1.1 +++ files/patch-vl.h 1 Feb 2007 21:54:07 -0000 @@ -1,12 +0,0 @@ -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-x_keymap.c @@ -0,0 +1,14 @@ +Index: qemu/x_keymap.c +@@ -41,9 +41,9 @@ + 0xb5, /* 112 Divide */ + 0xb8, /* 113 Alt-R */ + 0xc6, /* 114 Break */ +- 0x0, /* 115 */ +- 0x0, /* 116 */ +- 0x0, /* 117 */ ++ 0xdb, /* 115 left windows key */ ++ 0xdc, /* 116 right windows key */ ++ 0xdd, /* 117 right menu key */ + 0x0, /* 118 */ + 0x0, /* 119 */ + 0x0, /* 120 */