From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1JfpdN-0006VY-1x for mharc-grub-devel@gnu.org; Sun, 30 Mar 2008 00:59:09 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JfpdL-0006VC-3O for grub-devel@gnu.org; Sun, 30 Mar 2008 00:59:07 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JfpdJ-0006Uf-Ad for grub-devel@gnu.org; Sun, 30 Mar 2008 00:59:06 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JfpdJ-0006Ua-65 for grub-devel@gnu.org; Sun, 30 Mar 2008 00:59:05 -0400 Received: from c60.cesmail.net ([216.154.195.49]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_ARCFOUR_SHA1:16) (Exim 4.60) (envelope-from ) id 1JfpdI-0004ad-QL for grub-devel@gnu.org; Sun, 30 Mar 2008 00:59:04 -0400 Received: from unknown (HELO relay.cesmail.net) ([192.168.1.81]) by c60.cesmail.net with ESMTP; 30 Mar 2008 00:59:03 -0400 Received: from [192.168.1.21] (static-72-92-88-10.phlapa.fios.verizon.net [72.92.88.10]) by relay.cesmail.net (Postfix) with ESMTP id 51930619058 for ; Sun, 30 Mar 2008 00:59:03 -0400 (EDT) From: Pavel Roskin To: The development of GRUB 2 In-Reply-To: <20080327023715.kzdy15h4pwkg4ggw@webmail.spamcop.net> References: <20080326220948.xw0fmregqocog0s0@webmail.spamcop.net> <20080327023715.kzdy15h4pwkg4ggw@webmail.spamcop.net> Content-Type: text/plain Date: Sun, 30 Mar 2008 00:59:02 -0400 Message-Id: <1206853142.8818.35.camel@dv> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-3.fc8) Content-Transfer-Encoding: 7bit X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: [RFC PATCH] Re: Native CD test results X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 Mar 2008 04:59:07 -0000 On Thu, 2008-03-27 at 02:37 -0400, Pavel Roskin wrote: > Even though int 13 returns in the original code (I can see it by > modifying video memory from the real mode), something get corrupted, > and GRUB fails to return to the protected mode. As it turns out, BIOS writes 0 to one byte at 0x8403, which is in the code of prot_to_real. That happens if the pointer for grub_biosdisk_get_cdinfo_int13_extensions() is presented in %ds:%si as 0x6000:0x8000. If I put 0x6001:0x7ff0 there, 0x83f3 is corrupted. Generally, 0x0000:(%si + 0x0403) is replaced with 0. If we use the form with minimal offset, 0x6800:0x0000, then 0x0403 would be corrupted, but this is in the BIOS area, so it's probably what BIOS really was meant to do. I've seen in on two machines, both with AMD processors in Socket A, VIA chipset and AWARD BIOS. -- Regards, Pavel Roskin