From owner-freebsd-emulation@FreeBSD.ORG Sun Feb 22 01:43:58 2009 Return-Path: Delivered-To: freebsd-emulation@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 255121065670; Sun, 22 Feb 2009 01:43:58 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: from smtp.kn-bremen.de (gelbbaer.kn-bremen.de [78.46.108.116]) by mx1.freebsd.org (Postfix) with ESMTP id 903A08FC18; Sun, 22 Feb 2009 01:43:56 +0000 (UTC) (envelope-from nox@saturn.kn-bremen.de) Received: by smtp.kn-bremen.de (Postfix, from userid 10) id 8C7991E0020B; Sun, 22 Feb 2009 02:43:55 +0100 (CET) Received: from saturn.kn-bremen.de (noident@localhost [127.0.0.1]) by saturn.kn-bremen.de (8.14.2/8.13.8) with ESMTP id n1M1bmvV026325; Sun, 22 Feb 2009 02:37:48 +0100 (CET) (envelope-from nox@saturn.kn-bremen.de) Received: (from nox@localhost) by saturn.kn-bremen.de (8.14.2/8.13.6/Submit) id n1M1blNg026324; Sun, 22 Feb 2009 02:37:47 +0100 (CET) (envelope-from nox) From: Juergen Lock Date: Sun, 22 Feb 2009 02:37:47 +0100 To: freebsd-emulation@FreeBSD.org, freebsd-current@FreeBSD.org Message-ID: <20090222013747.GA21709@saturn.kn-bremen.de> Mail-Followup-To: freebsd-emulation@FreeBSD.org, freebsd-current@FreeBSD.org, qemu-devel@nongnu.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17 (2007-11-01) Cc: qemu-devel@nongnu.org Subject: testing qemu svn r6636 on FreeBSD; future of qemu on FreeBSD... 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: Sun, 22 Feb 2009 01:43:58 -0000 Hi! After discovering a workaround for the -kernel-kqemu userspace pio bug in connection with vmware svga/vmmouse a few days ago I made another experimental FreeBSD qemu-devel port update today, http://people.freebsd.org/~nox/qemu/qemu-devel-20090218.patch with the mentioned patches added (the vmware_vga.c depth fix hasn't been committed yet so I added it to files/patch-hw-vmware_vga.c for now; the userspace pio workaround patch needed an additional TARGET_I386 check since vmware_vga.c now also gets built for mips targets, see files/patch-iopl-workaround .) Apart from the usb thruput regression with (some?) recent Linux guests that I already had been mentioning a few times (no change there) and the recent discussion of qcow2 corruption that was seen with (at least) win2k guests on recent kvm (which uses similar qcow2 code than qemu svn, see this thread: http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00713.html - the consensus on that thread seems to be that qcow(2) code has always been experimental and you should use raw images if you want reliability; raw is also usually faster) - apart from these two issues this snapshot is looking pretty good in my (limited) testing so far; you are encouraged to test it with your various guests that you have lying around, if it works for you as well maybe we can indeed update the FreeBSD qemu-devel port again before the next official qemu release gets cut... For the curious, and to get more people testing this, :) here is a reiteration of a few of the improvements made since the snapshot thats currently in ports (qemu-devel), in no particular order: - tcg conversion complete (no longer depends on gcc3) - gdbstub improvements, like managing cpus as threads, working breakpoints etc with -smp, watchpoints... - added cdc ethernet usb nic (-usbdevice net:) - e1000 pxe rom, tso, vlan, and other fixes/improvements - scsi emulation fixes/improvements - 16550A uart (serial) emulation, reported to work with the new uart(4) in FreeBSD-current guests too (except for BREAK_TO_DEBUGGER, altho I don't know whether that even works on real hw now so it might not actually be qemu's fault) - no longer depends on aio(4) so no more chances to forget to kldload that (uses its own threads now) - 64 bit host fixes for slirp (-net user) - added instruction counter - emulate core2duo and phenom cpus, x86 CPUID extended family/model (for example emulate newer amd cpu as: -cpu qemu64,family=15,model=65,stepping=3) - added -clock dynticks support for FreeBSD hosts - added -serial msmouse (Microsoft serial mouse emulation) - virtio-{blk,net,balloon,console} (paravirtualization via emulated pci devices and corresponding guest drivers) - added -net channel ... to forward guest slirp tcp connections to qemu character devices - hpet emulation - (some?) ipv6 support for like vnc - added a -vga none cli option (the other vga options have been renamed too, now you do -vga {none,cirrus,std,vmware} ...) - fixed media detection on emulated cdroms (helps some Linux guests) - added -rtc-td-hack option to fix time drift with RTC on Windows - added "serial" parameter to -drive flag (to specify emulated disk's serial number) - added new option "werror" to -drive flag: possible values are: report - report errors to a guest as IO errors ignore - continue as if nothing happened stop - stop VM on any error and retry last command on resume enospc - stop vm on ENOSPC error and retry last command on resume all other errors are reported to a guest. default is "report" - added snapshot subcommand for qemu-img (to list, create, apply and delete snapshots on qcow2 images) - x86 now issues reset on triple faults - (untested on FreeBSD:) live migration support, basic audio functionality for vnc.c - malc's ad-hoc client for capturing A/V of running guests is here: http://repo.or.cz/w/qemu/malc.git?a=tree;f=vcap;hb=capture3 - and of course all kinds of bugfixes, bios updates (rumors are that vista guests work now?), and also improvements to non-x86 targets... And last, but far from least: FreeBSD host TODOs - help more than welcome here: (this stuff is working on Linux hosts, except maybe bsd-user...) - complete the usb host support (auto dis/connects, isochronous for eg webcams etc, support the new usb stack in FreeBSD-current - the original author of the FreeBSD usb host patches says he is too busy with other stuff now ): - same for bluetooth... - scsi passthru support (so you can use eg tape drives or maybe burn cds/dvds from guests) - add arm/ppc/sparc(?) host support to the port(s) - kvm port! There was a soc project but it never reached the state of entering ports, http://wiki.freebsd.org/FabioChecconi/PortingLinuxKVMToFreeBSD - and now of course both kvm and the FreeBSD kernel have evolved further, and also the first pieces of kvm userland support code have entered qemu svn, and it seems at least some people _might_ want to retire kqemu some time in the future too, see this thread... http://lists.gnu.org/archive/html/qemu-devel/2009-02/msg00326.html - test/fix bsd-user (qemu-sparc64; i386 host linker script seems to be needed at the very least) - write/port virtio guest drivers for FreeBSD (will also be useful for kvm hosts which are getting more common even tho at least atm they have to run Linux...) If you have read until here, thanx! :) Juergen