From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1Q8CuT-0003LA-GP for mharc-grub-devel@gnu.org; Fri, 08 Apr 2011 10:43:41 -0400 Received: from [140.186.70.92] (port=44354 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q8CuQ-0003JE-M9 for grub-devel@gnu.org; Fri, 08 Apr 2011 10:43:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q8CuM-0001q0-3c for grub-devel@gnu.org; Fri, 08 Apr 2011 10:43:38 -0400 Received: from fmmailgate01.web.de ([217.72.192.221]:53633) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q8CuL-0001p0-PP for grub-devel@gnu.org; Fri, 08 Apr 2011 10:43:34 -0400 Received: from smtp04.web.de ( [172.20.0.225]) by fmmailgate01.web.de (Postfix) with ESMTP id 830CF18C07BEA; Fri, 8 Apr 2011 16:43:26 +0200 (CEST) Received: from [78.43.204.177] (helo=frosties.localnet) by smtp04.web.de with asmtp (TLSv1:AES256-SHA:256) (WEB.DE 4.110 #2) id 1Q8CuE-0004xz-00; Fri, 08 Apr 2011 16:43:26 +0200 Received: from mrvn by frosties.localnet with local (Exim 4.72) (envelope-from ) id 1Q8CuB-0006On-0N; Fri, 08 Apr 2011 16:43:23 +0200 From: Goswin von Brederlow To: "Vladimir coder\/phcoder' Serbinenko" In-Reply-To: <4D9DF982.3010505@gmail.com> (Vladimir Serbinenko's message of "Thu, 07 Apr 2011 19:50:58 +0200") References: <87r59efek1.fsf@frosties.localnet> <4D9DB463.20903@gmail.com> <87y63mnmja.fsf@frosties.localnet> <4D9DD0CD.5040904@gmail.com> <87y63motm0.fsf@frosties.localnet> <4D9DF982.3010505@gmail.com> User-Agent: Gnus/5.110009 (No Gnus v0.9) XEmacs/21.4.22 (linux, no MULE) Date: Fri, 08 Apr 2011 16:43:22 +0200 Message-ID: <87mxk0ls6t.fsf@frosties.localnet> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Sender: goswin-v-b@web.de X-Sender: goswin-v-b@web.de X-Provags-ID: V01U2FsdGVkX1/s4vNyHmc4R+sHE0p6o/cuJQF4MzHMgzVMbFO2 KTyQ3EAECDUOH21xwUHViLeQ6Zer2U+8dfxtI2gFdEtVWPv0gB lGuG2UY68= Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-Received-From: 217.72.192.221 Cc: The development of GNU GRUB Subject: Re: Would a cleanup+extending of docs/multiboot.h be acceptable? X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Apr 2011 14:43:39 -0000 "Vladimir '=CF=86-coder/phcoder' Serbinenko" writes: > On 07.04.2011 19:32, Goswin von Brederlow wrote: >> I see that you have added 32bit MIPS support. No 64bit x86_64 support >> though. So my trampoline + 64bit kernel stuff would still be interesti= ng >> to people. > We already have the needed infrastructure to load in 64-bit mode. Have = a > look at loader/i386/bsd.c. Mostly you just need to use > grub_relocator64_boot and not grub_relocator32_boot. The main issue is > clear specification of intended behaviour. I'm adding an implementation of this to kvm, proof of concept kind of way. For that I'm assuming the following changes to the specs: // Why is this in steps of 4? #define MULTIBOOT_ARCHITECTURE_X86_64 8 #define MULTIBOOT_ARCHITECTURE_MIPS64 12 All structures remain as they are. That means that addresses must be below 4GB (maybe even 2GB or sign extention screws things up) unless they are defined as 64bit (memory mappings use 64bit, entry point only 32bit). The kernel + modules must be loaded below 4GB (2GB?). The system state when leaving the bootloader is like in 32bit but modified as follows: - PAE is enabled - Paging is enabled - Long mode is enabled - Long mode is active - CS contains a 64bit code segment - the lower 4GB of memory are mapped 1:1 accessible R/W to Ring 0 and in 2MB granularity I'm tempted to add 2 new info tags: multiboot_tag_gpt and multiboot_tag_page_tables. The later would contain the number of tables and an array of pointers to the pages. But that might be too i386/x86 specific. MfG Goswin