FreeBSD on xen hvm

From: Andrew Turner <andrew_at_fubar.geek.nz>
Date: Fri, 24 Aug 2007 18:16:27 +1200
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/
Received on Fri Aug 24 2007 - 04:28:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:16 UTC