From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1KbfJo-0005Za-0G for mharc-grub-devel@gnu.org; Fri, 05 Sep 2008 13:42:00 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KbfJm-0005YQ-Jh for grub-devel@gnu.org; Fri, 05 Sep 2008 13:41:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KbfJl-0005Wq-Rt for grub-devel@gnu.org; Fri, 05 Sep 2008 13:41:58 -0400 Received: from [199.232.76.173] (port=38362 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KbfJl-0005We-OK for grub-devel@gnu.org; Fri, 05 Sep 2008 13:41:57 -0400 Received: from fg-out-1718.google.com ([72.14.220.157]:46625) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KbfJl-0005pF-3i for grub-devel@gnu.org; Fri, 05 Sep 2008 13:41:57 -0400 Received: by fg-out-1718.google.com with SMTP id l26so816293fgb.30 for ; Fri, 05 Sep 2008 10:41:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :x-enigmail-version:content-type:content-transfer-encoding; bh=fJEEo+doU6f85D2ic5WkJ97SDGWcNKqWDvRxFt2sPTY=; b=dIsu+yE9SEUtqyc/GQ9VjSPcKcfp/UXy8zUs0kxz3jE59yHO4fSnjzZDTusoKpIVFA vbnTiF+qFDq+mi6Dt9Y6/AHjqeJ1VLCO7lKJE3WqcvzgleRNgbs1xUYggEjylg00OUnH 3t0v9kwFJiTulr/tOkXq9ODXHF5ZzdvkHD944= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:x-enigmail-version:content-type :content-transfer-encoding; b=udHYMlQE/7FZPvYZMjVmB5LrjYMUuik5Tp0v0elaFN6UGEWwPO+zrq9IuhpTtwkUNK BEbHLe6KLx8r80pD+9LRNJnUuM7KaL3JJhG4d4J+QeS/Z9sXqThFMffFme1VKKQ9gb5J TVquSNY4M4TLuRDa3V5URMqBczzNbtoWMRs04= Received: by 10.86.82.6 with SMTP id f6mr8991994fgb.53.1220636516289; Fri, 05 Sep 2008 10:41:56 -0700 (PDT) Received: from ?192.168.1.15? ( [85.0.144.99]) by mx.google.com with ESMTPS id d4sm1420236fga.5.2008.09.05.10.41.54 (version=TLSv1/SSLv3 cipher=RC4-MD5); Fri, 05 Sep 2008 10:41:55 -0700 (PDT) Message-ID: <48C16F60.9040605@gmail.com> Date: Fri, 05 Sep 2008 19:41:52 +0200 From: phcoder User-Agent: Thunderbird 2.0.0.16 (X11/20080724) MIME-Version: 1.0 To: The development of GRUB 2 References: <48C16C17.2000803@gmail.com> In-Reply-To: <48C16C17.2000803@gmail.com> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) 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: Fri, 05 Sep 2008 17:41:58 -0000 BTW. This helper would allow easy addition of many different kernels (freedos, haiku, ntldr, ...) Vladimir 'phcoder' Serbinenko 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. > Vladimir 'phcoder' Serbinenko