From owner-freebsd-embedded@FreeBSD.ORG Mon Jul 31 18:03:14 2006 Return-Path: X-Original-To: freebsd-embedded@freebsd.org Delivered-To: freebsd-embedded@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 554AB16A4DA for ; Mon, 31 Jul 2006 18:03:14 +0000 (UTC) (envelope-from john@baldwin.cx) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id E649543D6D for ; Mon, 31 Jul 2006 18:02:54 +0000 (GMT) (envelope-from john@baldwin.cx) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.4/8.13.4) with ESMTP id k6VI1o3M072680; Mon, 31 Jul 2006 14:01:55 -0400 (EDT) (envelope-from john@baldwin.cx) From: John Baldwin To: freebsd-embedded@freebsd.org Date: Mon, 31 Jul 2006 13:26:08 -0400 User-Agent: KMail/1.9.1 References: <856cdecb0607270534m34d9b4e3g4ee2714e18fcaeb7@mail.gmail.com> <200607281236.54468.john@baldwin.cx> <20060729173137.GA89529@webgroup.ch> In-Reply-To: <20060729173137.GA89529@webgroup.ch> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200607311326.08887.john@baldwin.cx> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Mon, 31 Jul 2006 14:01:57 -0400 (EDT) X-Virus-Scanned: ClamAV 0.87.1/1627/Sun Jul 30 19:34:54 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.0 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on server.baldwin.cx Cc: Danny Braniss , Adrian Steinmann , Steven McCoy Subject: Re: pxeboot PC Engines WRAP X-BeenThere: freebsd-embedded@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Dedicated and Embedded Systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 18:03:14 -0000 On Saturday 29 July 2006 13:31, Adrian Steinmann wrote: > On Fri, Jul 28, 2006 at 12:36:54PM -0400, John Baldwin wrote: > > This is because the BIOS you are talking to here is trying to enter > > protected mode on its own, which simply does not play well with VM86 at all. > > It's not something you are going to "fix" in VM86 unless you change BTX > > drastically to pop back into real mode to call the BIOS and handle IRQs > > rather than using vm86 mode. > > PC-Engines says that only the int 15, function 87 goes back into > protected mode, and that seems to be trapped in boot/i386/btx/btx/btx.S > line 609 so the FreeBSD BTX should cover that case. Or am I > misunderstanding something here? That's correct in that BTX does handle int15/87 directly. > The disassembled code you mention: > > 00000000 660F01975200 o32 lgdt [bx+0x52] > > 00000006 0F20C0 mov eax,cr0 > > 00000009 0C01 or al,0x1 > > 0000000B 0F22C0 mov cr0,eax > > 0000000E 66FFAF6A00 jmp dword far [bx+0x6a] > > 00000013 66B810008ED0 mov eax,0xd08e0010 > > 00000019 89EC mov sp,bp > > 0000001B 8ED8 mov ds,ax > > 0000001D 8EC0 mov es,ax > > 0000001F 8E db 0x8E > seems to indeed stem from http://www.pcengines.ch/tb13.zip INT1X.8 > where the "Int 15, AH=87: block move" is handled in "unreal mode", as > described in http://www.pcengines.ch/tb13.pdf. So would that mean that > BTX didn't trap that or something else was amiss before? Are you sure that's the only place it enters protected mode? -- John Baldwin