From owner-freebsd-amd64@FreeBSD.ORG Sun Nov 26 17:20:10 2006 Return-Path: X-Original-To: freebsd-amd64@freebsd.org Delivered-To: freebsd-amd64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5934D16A4AB; Sun, 26 Nov 2006 17:20:10 +0000 (UTC) (envelope-from michiel@boland.org) Received: from smtp-vbr6.xs4all.nl (smtp-vbr6.xs4all.nl [194.109.24.26]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3054E43EBD; Sun, 26 Nov 2006 17:17:45 +0000 (GMT) (envelope-from michiel@boland.org) Received: from xs6.xs4all.nl (xs6.xs4all.nl [194.109.21.6]) by smtp-vbr6.xs4all.nl (8.13.8/8.13.8) with ESMTP id kAQHIcZR052647; Sun, 26 Nov 2006 18:18:39 +0100 (CET) (envelope-from michiel@boland.org) Received: from xs6.xs4all.nl (boland37@localhost [127.0.0.1]) by xs6.xs4all.nl (8.13.6/8.13.6) with ESMTP id kAQHIc1B020480; Sun, 26 Nov 2006 18:18:38 +0100 (CET) (envelope-from michiel@boland.org) Received: from localhost (boland37@localhost) by xs6.xs4all.nl (8.13.6/8.13.6/Submit) with ESMTP id kAQHIbMQ020477; Sun, 26 Nov 2006 18:18:38 +0100 (CET) (envelope-from michiel@boland.org) X-Authentication-Warning: xs6.xs4all.nl: boland37 owned process doing -bs Date: Sun, 26 Nov 2006 18:18:37 +0100 (CET) From: Michiel Boland X-X-Sender: boland37@xs6.xs4all.nl To: John Baldwin In-Reply-To: Message-ID: <20061126181325.O13925-100000@xs6.xs4all.nl> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by XS4ALL Virus Scanner Cc: freebsd-amd64@freebsd.org Subject: Re: BTX halted trying to boot X4100 from disk X-BeenThere: freebsd-amd64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the AMD64 platform List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Nov 2006 17:20:10 -0000 Ok here is a patch for /sys/boot/i386/btx/btx/btx.S that will get X4100s to boot. It extends the v86 monitor in the BTX so that it catches INT3 and treats it like any other interrupt. Not sure if it's a great idea, but it's better than nothing at this point. You will need to update the bootblock and /boot/loader since they both appear to be linking in their own copy of BTX. --- btx.S.orig Thu Oct 5 17:30:51 2006 +++ btx.S Sun Nov 26 16:26:12 2006 @@ -510,6 +510,8 @@ je v86popf # Yes cmpb $0xcd,%al # INT imm8? je v86intn # Yes + cmpb $0xcc,%al # INT3? + je v86int3 # Yes cmpb $0xcf,%al # IRET/IRETD? je v86iret # Yes popl %ebx # Restore @@ -651,6 +653,11 @@ reboot: orb $0x1,btx_hdr+0x7 # Set the reboot flag jmp exit # Terminate BTX and reboot +/* + * Emulate INT3 + */ +v86int3: movb $3,%al + jmp v86intn.1 /* * Emulate INT imm8... also make sure to check if it's int 15/87 */