From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1KbvrG-0002c9-HG for mharc-grub-devel@gnu.org; Sat, 06 Sep 2008 07:21:38 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KbvrE-0002c4-Vu for grub-devel@gnu.org; Sat, 06 Sep 2008 07:21:37 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KbvrC-0002Zd-NY for grub-devel@gnu.org; Sat, 06 Sep 2008 07:21:35 -0400 Received: from [199.232.76.173] (port=54221 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KbvrC-0002ZR-L5 for grub-devel@gnu.org; Sat, 06 Sep 2008 07:21:34 -0400 Received: from aybabtu.com ([69.60.117.155]:53113) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1KbvrC-0004rU-7n for grub-devel@gnu.org; Sat, 06 Sep 2008 07:21:34 -0400 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1Kbvge-0005gm-1e for grub-devel@gnu.org; Sat, 06 Sep 2008 13:10:40 +0200 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1Kbvpj-0003ye-1G for grub-devel@gnu.org; Sat, 06 Sep 2008 13:20:03 +0200 Date: Sat, 6 Sep 2008 13:20:03 +0200 From: Robert Millan To: The development of GRUB 2 Message-ID: <20080906112003.GA14991@thorin> References: <48C16C17.2000803@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <48C16C17.2000803@gmail.com> Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: [RFC] general-usage real-mode loader 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: Sat, 06 Sep 2008 11:21:37 -0000 On Fri, Sep 05, 2008 at 07:27:51PM +0200, phcoder wrote: > Hello. A long time ago I written a C+asm code which loads any given code > at any real-mode location, then puts machine in correct state and then > launches the kernel. I can modify this code to suit GRUB2. Then loading > realmode kernel would work like this: > 1) copy helper asm to last kb of lower memory > 2) jump to the helper > 3) helper copies from upper memory the kernel > 4) turn A10 bug back on if necessary > 5) go to RM > 6) prepare registers > 7) jump to the kernel > > This protocol is very flexible and as such could be used by all loaders > which load kernel in realmode or even in PM (skip step 5, do steps 6-7 > in 32-bit mode) except for changing page tables. Such a helper can be > easily implemented as module and so help us removing asm-parts of > loaders from the kernel. If I recieve greenlight for it, I implement it. Maybe I'm confusing this with something else, but isn't this what both Bean and Vesa implemented separately, and are currently discussing in another thread? (the goal there was to move BIOS wrappers out of kern/i386/pc/startup.S) -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all."