From owner-freebsd-embedded@FreeBSD.ORG Sun Jul 30 07:16:07 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 3F44A16A4DE for ; Sun, 30 Jul 2006 07:16:07 +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 9F36443D49 for ; Sun, 30 Jul 2006 07:16:06 +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 k6U7G1Pe099297 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 30 Jul 2006 09:16: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 k6U7G1Q8099296; Sun, 30 Jul 2006 09:16:01 +0200 (CEST) (envelope-from ast@marabu.ch) Received: from [192.168.192.5] (ard [192.168.192.5]) by pano.marabu.ch (8.13.6/8.13.6) with ESMTP id k6U7FUYB008532; Sun, 30 Jul 2006 09:15:35 +0200 (CEST) (envelope-from ast@marabu.ch) Message-ID: <44CC5C92.1070600@marabu.ch> Date: Sun, 30 Jul 2006 09:15:30 +0200 From: Adrian Steinmann User-Agent: Thunderbird 1.5.0.5 (Macintosh/20060719) MIME-Version: 1.0 To: Pascal Dornier References: <157D367A82DF174EA394C897A261142DD73D88@citec-srv1.citec-ag.local> <7.0.1.0.0.20060729205407.03453c88@pcengines.ch> In-Reply-To: <7.0.1.0.0.20060729205407.03453c88@pcengines.ch> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0.2 (oneplusone.ch [127.0.0.1]); Sun, 30 Jul 2006 09:16:04 +0200 (CEST) X-Mailfilter: egfilter version 1.14; Archiver [msg.2gvvU4UT] (oneplusone.ch [127.0.0.1]); Sun, 30 Jul 2006 09:16:04 +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: ambrisko@freebsd.org, freebsd-embedded@freebsd.org, john@baldwin.cx, Danny Braniss , Holger Bauer , fnjordy@gmail.com 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: Sun, 30 Jul 2006 07:16:07 -0000 Pascal Dornier from PC-Engines asks: > Bei welchem BIOS-Aufruf tritt das Problem auf ? Wird der Aufruf von > FreeBSD oder von Netboot gemacht ? (i.e., in which BIOS call does the problem arise) The GP fault happens in the "!PXE" function 71 (PXENV_GET_CACHED_INFO): Probing pci nic... [dp83815] natsemi_probe: MAC addr 00:0D:B9:02:XX:XX at ioaddr 0X1000 natsemi_probe: Vendor:0X100B Device:0X0020 dp83815: Transceiver default autoneg. enabled, advertise 100 full duplex. dp83815: Transceiver status 7869 advertising 05E1 dp83815: Setting full-duplex based on negotiated link capability. Searching for server (DHCP)...\ Loading 192.168.XX.XX:/usr/tftpboot/pxeboot XXXX(0210K done PXE Loader 1.00 Building the boot loader arguments Relocating the loader and the BTX Starting the BTX loader Consoles: serial port BIOS drive C: is disk0 PXE version 2.1, real mode entry point @9f40:0680 pxe.c:pxe_init(): doing pxe_call(PXENV_GET_CACHED_INFO) bangpxe_call 71 int=0000000d err=00000000 efl=00030002 eip=00000916 eax=0009cf90 ebx=000008eb ecx=00000000 edx=00003c5a esi=00000000 edi=00000000 ebp=0009d35e esp=000003ce cs=9f40 ds=9f40 es=0000 fs=0000 gs=0000 ss=9cf9 cs:eip=66 0f 01 97 52 00 0f 20-c0 0c 01 0f 22 c0 66 ff af 6a 00 66 b8 10 00 8e-d0 89 ec 8e d8 8e c0 8e ss:esp=00 00 00 00 71 00 00 00-00 00 00 00 e2 fa 09 00 40 9f f9 9c 00 00 00 00-00 00 00 00 00 00 02 02 BTX halted which is, as John Baldwin also observed: [00000001]-> : 0 66,0f,01,97,52,00,0f,20 [00000041]-> : 8 c0,0c,01,0f,22,c0,66,ff [00000041]-> : 10 af,6a,00,66,b8,10,00,8e,d0,89,ec,8e,d8,8e,c0,8e [00000020]-> d8086 0 00000000: 66 0f 01 97 52 00 lgdtl 82(%bx) 00000006: 0f 20 c0 mov %cr0,%eax 00000009: 0c 01 or $0x1,%al 0000000b: 0f 22 c0 mov %eax,%cr0 0000000e: 66 ff af 6a 00 ljmpl *106(%bx) 00000013: 66 b8 10 00 8e d0 mov $0xd08e0010,%eax that code looks like the TinyBIOS "Int 15, AH=87: block move" done in "unreal mode" (see http://www.pcengines.ch/tb13.zip, http://www.pcengines.ch/tb13.pdf) FreeBSD appears to have special "FREEBSD_PXEEMU" code (see http://etherboot.berlios.de/dist/etherboot-5.2.4.tar.bz2) in etherboot-5.2.4/src/arch/i386/core/pxe.c to play fair with v86mon, but maybe this is not fair enough for TinyBIOS? Adrian