Subject: xen2 status
To: None <port-xen@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-xen
Date: 01/18/2005 17:17:48
Hi,
I just commited to the bouyer-xen2 branch what I have so far.
First I fixed the xbd driver, to not require the printf in if_xennet to
properly attach. Turn out it was a race condition between the kernel
registering interrupt handlers, and xen sending control messages.
If the clock interrupt was registered too soon, we would deadlock in
xbd.c waiting for an interrupt that can't happen because we're already in
interrupt context. I fixed this by using a kernel thread instead (which will
also help when we'll support dynamic creation/removal of block devices).

Second, it's possible to run NetBSD as domain0. It supports the xen console,
PCI devices probing and I/O mapped registers on PCI devices, as well as
hardware interrupts. memory-mapped registers on PCI devices may work,
but this has not been tested yet. DMA don't work yet, some more work
is needed. Creating other domains isn't supported yet.

For now, we can boot the kernel, it will detect PCI devices, pciide will
work in PIO mode, and we have console access though xencons.
It's a start, but there are still some work do do, both in the kernel
side (bus_dma, ISA bus, domain0 ioctls and block/network drivers backends),
and userland (port the xen domain0 tools to NetBSD).

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
     NetBSD: 26 ans d'experience feront toujours la difference
--