Subject: Re: progress on xen3 HVM support
To: None <port-xen@NetBSD.org>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-xen
Date: 10/16/2006 18:25:35
--jRHKVT23PllUwdXP
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Oct 16, 2006 at 06:23:44PM +0200, Manuel Bouyer wrote:
> attached is an updated version of the package, which produce a working
> hvmloader. The unlimit and PTHREAD_DIAGASSERT are still needed for qemu-dm

With the file attached; this time.

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

--jRHKVT23PllUwdXP
Content-Type: application/x-tar-gz
Content-Disposition: attachment; filename="xentools30-vmx.tgz"
Content-Transfer-Encoding: base64

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

--jRHKVT23PllUwdXP--