From owner-freebsd-arch@FreeBSD.ORG Tue May 11 17:42:31 2010 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4D7711065673 for ; Tue, 11 May 2010 17:42:31 +0000 (UTC) (envelope-from phcoder@gmail.com) Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.155]) by mx1.freebsd.org (Postfix) with ESMTP id CB31D8FC14 for ; Tue, 11 May 2010 17:42:30 +0000 (UTC) Received: by fg-out-1718.google.com with SMTP id 22so1041903fge.13 for ; Tue, 11 May 2010 10:42:29 -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:x-enigmail-version:content-type; bh=emw7omUdgqhq3vrY0Ce8aUpm7A07ZOW7UD/wR9Caifg=; b=E2wkItg7YIdNDPRsrubJclqu9655yTzUhYsFHlP2zkEoJuyb0VRBY26pxjKGKF+RGO 6NKHDfm4QjqYNZxoukY+vPMwoW4RyWCZ3i+8BODkqzg2lNZLhbxydWO9QZqlmVZVe3zI NdzisagMHeSXUEgEeCmG6SFliRExOSCZD9q3A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject :x-enigmail-version:content-type; b=OzvfWAuUSLPtFN9aBeRaff5g27GSt7mIlwy6coD/4vSLSjUgpja5YhZP5X2rQWJph0 Gd5MvYfgFGpAR05W6qHcsRND238yGvIpUtGiDVL8zg69hXnhwa3dG3DgXw4znoCT4bZx QXGCfg4IXMyVWrkzdUR5bxH2NcX3ohTq+7IIA= Received: by 10.87.74.17 with SMTP id b17mr12489609fgl.59.1273597884422; Tue, 11 May 2010 10:11:24 -0700 (PDT) Received: from debian.bg45.phnet (gprs37.swisscom-mobile.ch [193.247.250.37]) by mx.google.com with ESMTPS id e3sm650340fga.14.2010.05.11.10.11.21 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 11 May 2010 10:11:22 -0700 (PDT) Message-ID: <4BE98FB5.3060906@gmail.com> Date: Tue, 11 May 2010 19:11:17 +0200 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20091109) MIME-Version: 1.0 To: freebsd-arch@freebsd.org, The development of GRUB 2 X-Enigmail-Version: 0.95.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig714B29E53AA71068810CE1FA" Cc: Subject: [RFC] Multiboot2 drafting X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 May 2010 17:42:31 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig714B29E53AA71068810CE1FA Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hello, all. In GRUB2 community we're currently working on a next-generation multiboot specification. It has goals similar to the original multiboot specification but with important flaws fixed: 1) Instead of having bunch of pointers to subtables it uses a tagged structure now. It allows it to be easier expandable, consume less space if some fields aren't used and is easier to relocate. 2) Now it's portable. It has fields for specification of architecture and proper field alignment. So now adding a new arcitecture is as easy as adding a new arcitecture id and a section dealing with architecture-specific problems like register usage to pass information. Currently it has only i386 and mips though. Both are implemented in bzr trunk grub[1] Short summary: Multiboot specification is done as an unified protocol between bootloader and kernel to allow supporting more kernels and bootloaders with less effort. The easiest way to use it is to create an ELF image with an additional header which announces multiboot support and specific kernel requirements. But it's also possible to put loading address in multiboot header and use a non-ELF format. When image is loaded one of GPRs contaians a magic number to identify that kernel was loaded as multiboot and another GPR contains a pointer to information table. The most needed information is already there, more is in review progress, and if you feel like we're missing somethin feel free to contact. Complete specification is available at http://bzr.savannah.gnu.org/r/grub/branches/multiboot2/ or at http://download.savannah.gnu.org/releases-noredirect/grub/phcoder/multibo= ot.pdf Some advantages: 1) Removes the need to support a fundamentaly different boot protocol for every architecture. In future it may even be possible to have just one image per ISA and rely on information supplied by bootloader to differentiate between platforms (it doesn't prevent creation of an image optimised for one platform) 2) Better collaboration between bootloaders and kernels by avoiding to implement "one protocol per kernel". 3) Possibility to inform bootloader of exact kernel requirements and supported features. 4) Uniform interface for retrieving e.g. memory map and initial console info across platforms. Any comment about multiboot2 spec is welcome. Would it be possible for FreeBSD in perspective to use multiboot2 instead= or in addition to current protocols? Thanks for your time. [1] Available with bzr co --lightweight http://bzr.savannah.gnu.org/r/grub/trunk/grub/ or as a tarball at http://download.savannah.gnu.org/releases-noredirect/grub/phcoder/grub-r2= 283.tgz --=20 Regards Vladimir '=CF=86-coder/phcoder' Serbinenko --------------enig714B29E53AA71068810CE1FA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iF4EAREKAAYFAkvpj7UACgkQNak7dOguQgksvwEAoNcaIrND86DbVRiCFc75caRT l1Qh8ofVPkDjHgEturgA/2FWS3yZAGqg6mKTTN/i41nOijdIIlSkXrKrrl1nn2Td =ZyWU -----END PGP SIGNATURE----- --------------enig714B29E53AA71068810CE1FA--