From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1KU8MF-0000jl-6x for mharc-grub-devel@gnu.org; Fri, 15 Aug 2008 19:05:23 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KU8MD-0000jE-O6 for grub-devel@gnu.org; Fri, 15 Aug 2008 19:05:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KU8MB-0000j2-8H for grub-devel@gnu.org; Fri, 15 Aug 2008 19:05:20 -0400 Received: from [199.232.76.173] (port=33998 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KU8MB-0000iz-3G for grub-devel@gnu.org; Fri, 15 Aug 2008 19:05:19 -0400 Received: from gv-out-0910.google.com ([216.239.58.190]:5073) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KU8MA-0003dx-DJ for grub-devel@gnu.org; Fri, 15 Aug 2008 19:05:18 -0400 Received: by gv-out-0910.google.com with SMTP id i36so501861gve.17 for ; Fri, 15 Aug 2008 16:05:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:in-reply-to :references:content-type:date:message-id:mime-version:x-mailer; bh=eDCgEVousM4QYqlW+n8zJdw2R3lbK1FUw1dsK9HecK4=; b=Qtji6I4j/YAOH6UI+HeNxWaBbNHNw/dBF1YC+sBBAkDxYEvXEyXM0X91QxkJImTBFg a4UU4OnTf1WNNA2ddCN8lQmDYNV5BFHxXcUs34Uln8J1zHpJ+spB/1INZdtKednN8uU4 TFIm4cYgIFC7n6LvfFZZNZwy/Zv1Vlz1r3bLA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:in-reply-to:references:content-type:date:message-id :mime-version:x-mailer; b=fio6EHpTkVWDHZtHwBULgy86Ec9BOlsIRxWstwK97pOt4mNXssr++QFQ5BZLZ0H+Pb ESYRPowm6hzf7/9R88GYISoBhO4hKA3QI8dFrmi6jejjvfVQUrTHNuShNWkpQmS/qxBz afdlyTXPdMtpGYHe7jqTjgW9RB+IyyRkux3Lo= Received: by 10.66.220.12 with SMTP id s12mr1161667ugg.5.1218841516049; Fri, 15 Aug 2008 16:05:16 -0700 (PDT) Received: from ?192.168.1.100? ( [213.37.137.93]) by mx.google.com with ESMTPS id s7sm116028uge.26.2008.08.15.16.05.14 (version=SSLv3 cipher=RC4-MD5); Fri, 15 Aug 2008 16:05:15 -0700 (PDT) From: Javier =?ISO-8859-1?Q?Mart=EDn?= To: The development of GRUB 2 In-Reply-To: <48A6057C.6010704@isaac.cedarswampstudios.org> References: <1218684975.8757.139.camel@localhost> <48A4589D.3040902@nic.fi> <20080814180005.GB5614@thorin> <1218749362.19647.20.camel@localhost> <48A5AF50.2040906@nic.fi> <1218819798.2510.13.camel@localhost> <48A5B96D.7040209@nic.fi> <1218823154.2510.23.camel@localhost> <48A5CC71.3020508@nic.fi> <1218827894.2510.51.camel@localhost> <48A6057C.6010704@isaac.cedarswampstudios.org> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-qBLYmpyphZSammcUgTq9" Date: Sat, 16 Aug 2008 01:06:27 +0200 Message-Id: <1218841587.2510.65.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.22.3.1 X-detected-kernel: by monty-python.gnu.org: Linux 2.6 (newer, 2) Subject: Re: [RFC] Platform information services 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, 15 Aug 2008 23:05:22 -0000 --=-qBLYmpyphZSammcUgTq9 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable El vie, 15-08-2008 a las 18:38 -0400, Isaac Dupree escribi=C3=B3: > my view of the "interface breakage" problem in this project: >=20 > Either the property of the kernel you're relying on is going=20 > to change, or it isn't; it doesn't/shouldn't have stable=20 > APIs, and it will change only if there's a reason for it to=20 > change. So I think the best we can do is to document what=20 > code relies on what properties of the kernel. Wherever's=20 > appropriate and will likely be noticed and kept up-to-date.=20 > for example: >=20 > if you rely on a property of the kernel, you should document=20 > it somewhere in the kernel, and document everyone=20 > (hopefully) who relies on that property; or the users could=20 > have some symbol in the source that you can search for. It=20 > doesn't have to be a function that takes up any actual=20 > kernel disk-space. >=20 > a bit at a distance, > -Isaac >=20 >=20 >=20 > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel The problem is exactly that: for the sake of modularity we are writing module code that requires the manipulation of firmware-provided structures, but we are relying on kernel implementation details that are nowhere specified in the kernel-module interfaces like "the GRUB kernel will not activate any kind of paging and in any event the 0-1M+64K memory region will always be identity-mapped". Even when some parts _might_ be documented in the wiki (like the MemoryMap page), other parts of the wiki are so outdated and wrong that one cannot trust the good pages! Besides, does the info in MemoryMap describe the layout of the physical address space or the linear address space that modules see? etc Thus, either we create interfaces in the kernel to deal with the possible breakage of these assumptions (i.e. the platform info function we've been discussing in this thread would take care of translating addresses across any memory mappings) or we set those assumptions in stone and turn them into part of the kernel-module interface, _documenting them_. Seriously, InteralsIntro et al. need a lot more love... -Habbit --=-qBLYmpyphZSammcUgTq9 Content-Type: application/pgp-signature; name=signature.asc Content-Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iQIVAwUASKYL86Sl+Fbdeo72AQKGfA/+I+PS6rRFAnv4uFU4p2pgcGmuT/5t0Zjy B9e3mQa9rTDiTz0oLcESd8P5vTJyP9QhOqrLw3D2mFm/8qX0UoxC+JuW88npWecN IK3wt79RjkDhrlmMS9Sjthodq2yp3tWana67qKESam1Pcu9Cymz5x4HQgaNbx7sn 3nspb1ClIBdTknAfjoYauvBiPSJmV68DaOP9OgmXhfT4DgD/2DbhNsm0dLxyd+aM qEbwFj7GI9LEc3G6TVp2dO5nxGBR9XwGti4pW75sdOD82msEdXoxuEvXaRZ+iRd3 8rzzmMPKJaze+bQZ27DQSn4AB10LYlQBrdt7c/nXvYwwOOTzztXFF0Q63MC09zvi 2DiN/Eh3RewGqcCiVxqxlAcU79yNx0Pg01DeSGFXsWS+d+0pyROYFbqlo6cHq68H Ltn5PveVDt+HgiYfugOta35Kou2Y/gCbAVHC2iFzXzr/eNXoj8ByTlazYYX7WBTu /nZgaGwtyw1Ixes+G/8oVUK4rolrIXWiqEgQ/etN+DENQhsO/zK3EXu6AWkAOiPk hcPbkHlXl1ScPmzUDnOtNZxsmuzgRkY5qUKeuJskJXYuDYrArC79LGxpJyMIOOZE JvXsKzGnGpMz6xfDwwcNa0OP5sQ6wkFnH7UWaRbJjbZC5yjYpFluLNizAKjmy/vz 4qMcSUt3Zcg= =tJTA -----END PGP SIGNATURE----- --=-qBLYmpyphZSammcUgTq9--