From owner-cvs-all@FreeBSD.ORG Tue Mar 11 21:32:17 2008 Return-Path: Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 238EE1065673; Tue, 11 Mar 2008 21:32:17 +0000 (UTC) (envelope-from tataz@tataz.chchile.org) Received: from postfix2-g20.free.fr (postfix2-g20.free.fr [212.27.60.43]) by mx1.freebsd.org (Postfix) with ESMTP id 32B618FC16; Tue, 11 Mar 2008 21:32:16 +0000 (UTC) (envelope-from tataz@tataz.chchile.org) Received: from smtp5-g19.free.fr (smtp5-g19.free.fr [212.27.42.35]) by postfix2-g20.free.fr (Postfix) with ESMTP id 9C5FC244FD77; Tue, 11 Mar 2008 20:11:12 +0100 (CET) Received: from smtp5-g19.free.fr (localhost.localdomain [127.0.0.1]) by smtp5-g19.free.fr (Postfix) with ESMTP id 4221A3F61DA; Tue, 11 Mar 2008 22:11:44 +0100 (CET) Received: from tatooine.tataz.chchile.org (tataz.chchile.org [82.233.239.98]) by smtp5-g19.free.fr (Postfix) with ESMTP id 2D9F73F61CE; Tue, 11 Mar 2008 22:11:44 +0100 (CET) Received: from obiwan.tataz.chchile.org (unknown [192.168.1.25]) by tatooine.tataz.chchile.org (Postfix) with ESMTP id 336FF9BF12; Tue, 11 Mar 2008 21:10:59 +0000 (UTC) Received: by obiwan.tataz.chchile.org (Postfix, from userid 1000) id 1C348405B; Tue, 11 Mar 2008 22:10:59 +0100 (CET) Date: Tue, 11 Mar 2008 22:10:59 +0100 From: Jeremie Le Hen To: John Baldwin Message-ID: <20080311211059.GJ39998@obiwan.tataz.chchile.org> References: <200803102143.m2ALhVbF052196@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200803102143.m2ALhVbF052196@repoman.freebsd.org> User-Agent: Mutt/1.5.15 (2007-04-06) Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, freebsd-current@tataz.chchile.org, cvs-all@FreeBSD.org Subject: Re: cvs commit [HEAD] src/sys/boot/i386/btx/btx btx.S X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Mar 2008 21:32:17 -0000 Hi, On Mon, Mar 10, 2008 at 09:43:31PM +0000, John Baldwin wrote: > jhb 2008-03-10 21:43:31 UTC > > FreeBSD src repository > > Modified files: > sys/boot/i386/btx/btx btx.S > Log: > Change the BTX kernel to drop all the way out to real mode to invoke BIOS > routines (V86 requests from the client and hardware interrupt handlers): > - Install trampoline real mode interrupt handlers at IDT vectors 0x20-0x2f > to handle hardware interrupts by invoking the appropriate vector (0x8-0xf > or 0x70-0x78). This allows the 8259As to use vectors 0x20-0x2f in real > mode as well as protected mode will ensuring that the master 8259A > doesn't share IDT space with CPU exceptions in protected mode. > - Since we don't need to reserve space for page tables and a page directory > anymore since dropping paging support, move the TSS and protected mode > IDT up by 16k. Grow the ring 1 link stack by 16k as a result. > - Repurpose the ring 1 link stack to be used as a real mode stack when > invoking real mode routines either via a V86 request or a hardware > interrupts. This simplifies a few things as we avoid disturbing the > original user stack. > - Add some more block comments to explain how the code interacts with the > V86 structure as this wasn't immediately obvious from the prior comments > (e.g. that we explicitly copy the seg regs for real mode out of the V86 > struct onto the stack to be popped off when going into real mode, etc.). > Also, document some of the stack frames we create going to real mode and > back. > - Remove all of the virtual 86 related code including having to simulate > various instructions and BIOS calls on a trap from virtual 86 mode. > - Explicitly panic if a user client attempts to perform a V86 CALL > request that isn't a far call. > - Bump version to 1.2. I am not able to test this right now, but I wonder if with this change FreeBSD will be able to be booted in a fully virtualized Xen DomU. At the time I tested it, about 2 month ago, ISTR FreeBSD stopped with "BTX halted". If someone is being able to test this (I suppose the easiest way is to wait from the next monthly -CURRENT snapshot), I'd be glad to here about the result. Thanks. Regards, -- Jeremie Le Hen < jeremie at le-hen dot org >< ttz at chchile dot org >