From owner-freebsd-current@FreeBSD.ORG Fri Aug 24 06:28:52 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 36DF516A419 for ; Fri, 24 Aug 2007 06:28:52 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from fep02.xtra.co.nz (fep02.xtra.co.nz [210.54.141.244]) by mx1.freebsd.org (Postfix) with ESMTP id CAB8213C48A for ; Fri, 24 Aug 2007 06:28:51 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from fep03.xtra.co.nz ([172.23.12.31]) by mta02.xtra.co.nz with ESMTP id <20070824061629.HRXC27853.mta02.xtra.co.nz@fep03.xtra.co.nz> for ; Fri, 24 Aug 2007 18:16:29 +1200 Received: from serv.int.fubar.geek.nz ([219.89.91.5]) by fep03.xtra.co.nz with ESMTP id <20070824061629.CNUT19268.fep03.xtra.co.nz@serv.int.fubar.geek.nz> for ; Fri, 24 Aug 2007 18:16:29 +1200 Date: Fri, 24 Aug 2007 18:16:27 +1200 From: Andrew Turner To: freebsd-current@freebsd.org Message-ID: <20070824181627.57bed401@hermies.int.fubar.geek.nz> X-Mailer: Claws Mail 2.10.0 (GTK+ 2.10.14; i386-portbld-freebsd6.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: FreeBSD on xen hvm X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2007 06:28:52 -0000 I've been working on getting -CURRENT i386 to boot on the Xen amd64 hvm. It provides full vitalization to allow operating systems to boot without modification. The problem is the GENERIC kernel can't boot under it. I've found three options that, when disabled, allow FreeBSD to work. 1) PREEMPTION Preemption causes the kernel to panic with a page fault. The dmesg is available from [1]. 2) SMP With SMP enabled the kernel it enters an infinite loop in uma_zalloc_bucket. The problem is uma_zone_slab returns a slab but slab->us_freecount is 0. It then enters uma_zone_slab and gets the same slab again. It appears there is a race condition setting us_freecount to zero. The zone is always turnstile_zone. 3) INVARIANTS Invariants causes a panic from a page fault. See [2] for the dmesg and backtrace. I can provide people with more information to track down the problem and try patches. Andrew [1] http://fubar.geek.nz/files/freebsd/xen/xen_crash_preemption.txt [2] http://fubar.geek.nz/files/freebsd/xen/xen_crash_invariants.txt -- Andrew Turner http://fubar.geek.nz/blog/