From owner-freebsd-current@FreeBSD.ORG Sun Aug 7 21:59:44 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7AF69106566B for ; Sun, 7 Aug 2011 21:59:44 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [IPv6:2001:470:1:117::25]) by mx1.freebsd.org (Postfix) with ESMTP id 5E5668FC17 for ; Sun, 7 Aug 2011 21:59:44 +0000 (UTC) Received: from delta.delphij.net (unknown [IPv6:2001:470:83bf:0:221:5cff:fe6a:37bb]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by anubis.delphij.net (Postfix) with ESMTPSA id 2A16214224; Sun, 7 Aug 2011 14:59:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=delphij.net; s=anubis; t=1312754384; bh=f19UbM2lPvBhRh2QzgsiR1FrUgpfg0SUx+Z+2zbbS2U=; h=Message-ID:Date:From:Reply-To:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=KWKH8+Kk9nFf1qLgw5KKsY4R09bnb7o1mw7RyxonKA6WjYbxhmnzXMrp3JhTJfQkb DL0G4rxzWERp+DY9aQQf44k0tmmT65Wa5AfJaE4YutNlBuR1rsE/VIwNfOm4ZOOUfw Qu0OZMyQBFV0FUlLD6VKqujXEiWBXpblSreGBN+k= Message-ID: <4E3F0AC3.1080907@delphij.net> Date: Sun, 07 Aug 2011 14:59:31 -0700 From: Xin LI Organization: The FreeBSD Project MIME-Version: 1.0 To: freebsd-current@freebsd.org References: In-Reply-To: OpenPGP: id=3FCA37C1; url=http://www.delphij.net/delphij.asc Content-Type: multipart/mixed; boundary="------------070704000203050404060509" Cc: christoph_hoffmann@me.com Subject: Re: gptzfsboot error using HP Smart Array P410i Controller X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Aug 2011 21:59:44 -0000 This is a multi-part message in MIME format. --------------070704000203050404060509 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 08/01/11 06:07, Christoph Hoffmann wrote: > Hello, > > The initial reboot followed the installation of ZFS-only version 5/28 > system reports error: > > Attempting Boot From Hard Drive (C:) > gptzfsboot: error 1 lba 32 > gptzfsboot: error 1 lba 1 > gptzfsboot: No ZFS pools located, can't boot > > The same installation procedure on older ProLiant with Compaq Smart > Array 5i do not cause any problems. Looks like for some reason the drive number (%dl) didn't get passed through ARGS (by pmbr.s). Note that we shouldn't really pass the whole %dx here, as pmbr.s have different understanding of %dh. You may want to add a xor %dh, %dh before the store line but after the main.2 label. Please let us know if this helps or not. Thanks in advance! Cheers, - -- Xin LI https://www.delphij.net/ FreeBSD - The Power to Serve! Live free or die -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iQEcBAEBCAAGBQJOPwrDAAoJEATO+BI/yjfBIJ0IALzzDN/b0vfGLyqH8XgQSsqz YDU3bxSRBVBcuZ76II0gOSaFZrWaH+bRcfjE/LNmS26TTWir67UVsoFk5gCaYkl+ L1oe76o5ISrp3Tr/mGNyKv/TN1WHeo8I0ExABfJUNw0NHIhXivtJMb7NLOJl5eed /XfgYzHw8zAlnjbF7ZfMElEjjKUqTLl3VyHth+3KsUsK+zrZcU4gLzBHh7JnR31p NvtyLxyMsQQTHKiaDtGVPGOgUPsDfTHdmAI77fgE26W6Z6FqCqV+xdEOuc+g5tRi kC28HPUSijoX44vkDYp4B57988JUGauoJrKkTZ4L2LAh918ZAvuFhgRgtUpiHLY= =O02h -----END PGP SIGNATURE----- --------------070704000203050404060509 Content-Type: text/plain; name="pmbr.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pmbr.diff" Index: sys/boot/i386/pmbr/pmbr.s =================================================================== --- sys/boot/i386/pmbr/pmbr.s (revision 224700) +++ sys/boot/i386/pmbr/pmbr.s (working copy) @@ -36,6 +36,7 @@ .set LOAD,0x7c00 # Load address .set EXEC,0x600 # Execution address + .set ARG,0x900 # Arguments .set MAGIC,0xaa55 # Magic: bootable .set SECSIZE,0x200 # Size of a single disk sector .set DISKSIG,440 # Disk signature offset @@ -93,7 +94,8 @@ main.1: movb $0x80,%dl # Assume drive 0x80 # # Load the primary GPT header from LBA 1 and verify signature. # -main.2: movw $GPT_ADDR,%bx +main.2: mov %dx,ARG # Save drive number + movw $GPT_ADDR,%bx movw $lba,%si call read cmpl $GPT_SIG_0,GPT_ADDR+GPT_SIG --------------070704000203050404060509--