From owner-freebsd-embedded@FreeBSD.ORG Sat Jul 29 17:33:34 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 681DF16A4DD for ; Sat, 29 Jul 2006 17:33:34 +0000 (UTC) (envelope-from ast@marabu.ch) Received: from oneplusone.ch (oneplusone.ch [212.55.208.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id 80A5443D70 for ; Sat, 29 Jul 2006 17:33:33 +0000 (GMT) (envelope-from ast@marabu.ch) Received: from oneplusone.ch (localhost [127.0.0.1]) by oneplusone.ch (8.13.6/8.13.6) with ESMTP id k6THW1FW093255 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 29 Jul 2006 19:32:01 +0200 (CEST) (envelope-from ast@marabu.ch) Received: (from uucp@localhost) by oneplusone.ch (8.13.6/8.13.6/Submit) with UUCP id k6THW1MR093254; Sat, 29 Jul 2006 19:32:01 +0200 (CEST) (envelope-from ast@marabu.ch) Received: from pano.marabu.ch (localhost [127.0.0.1]) by pano.marabu.ch (8.13.6/8.13.6) with ESMTP id k6THVpD7089670; Sat, 29 Jul 2006 19:31:51 +0200 (CEST) (envelope-from ast@pano.marabu.ch) Received: (from ast@localhost) by pano.marabu.ch (8.13.6/8.13.6/Submit) id k6THVcJY089669; Sat, 29 Jul 2006 19:31:38 +0200 (CEST) (envelope-from ast) Date: Sat, 29 Jul 2006 19:31:38 +0200 From: Adrian Steinmann To: John Baldwin Message-ID: <20060729173137.GA89529@webgroup.ch> References: <856cdecb0607270534m34d9b4e3g4ee2714e18fcaeb7@mail.gmail.com> <20060728152206.GA29095@webgroup.ch> <200607281236.54468.john@baldwin.cx> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200607281236.54468.john@baldwin.cx> X-Organization: Webgroup Consulting AG X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0.2 (oneplusone.ch [127.0.0.1]); Sat, 29 Jul 2006 19:32:02 +0200 (CEST) X-Mailfilter: egfilter version 1.14; Archiver [msg.GHlth7XR] (oneplusone.ch [127.0.0.1]); Sat, 29 Jul 2006 19:32:02 +0200 (CEST) X-AntiVirus: checked by AntiVir Milter (version: 1.1.2-1; AVE: 7.1.1.0; VDF: 6.35.1.20; host: oneplusone.ch) Cc: Danny Braniss , freebsd-embedded@freebsd.org, 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: Sat, 29 Jul 2006 17:33:34 -0000 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? 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? Adrian