From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1JaS52-0001Zv-Eg for mharc-grub-devel@gnu.org; Sat, 15 Mar 2008 04:49:28 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JaS4x-0001YL-HN for grub-devel@gnu.org; Sat, 15 Mar 2008 04:49:24 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JaS4v-0001Xw-K3 for grub-devel@gnu.org; Sat, 15 Mar 2008 04:49:22 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JaS4v-0001Xm-0e for grub-devel@gnu.org; Sat, 15 Mar 2008 04:49:21 -0400 Received: from pne-smtpout3-sn1.fre.skanova.net ([81.228.11.120]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JaS4q-0001dD-32 for grub-devel@gnu.org; Sat, 15 Mar 2008 04:49:20 -0400 Received: from [127.0.0.1] (88.193.32.97) by pne-smtpout3-sn1.fre.skanova.net (7.3.129) id 47A788570021D05D for grub-devel@gnu.org; Sat, 15 Mar 2008 09:49:15 +0100 Message-ID: <47DB8D94.3090402@nic.fi> Date: Sat, 15 Mar 2008 10:49:24 +0200 From: =?ISO-8859-1?Q?Vesa_J=E4=E4skel=E4inen?= User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: The development of GRUB 2 References: <47D6F556.9040500@t-online.de> <47D9B1CF.30801@t-online.de> <1205515683.2321.18.camel@dv> <47DAE712.6070805@nic.fi> In-Reply-To: X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: Quoted-Printable X-detected-kernel: by monty-python.gnu.org: Solaris 10 (beta) Subject: Re: [PATCH] cdrom access patch 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, 15 Mar 2008 08:49:25 -0000 Bean wrote: > On Sat, Mar 15, 2008 at 4:58 AM, Vesa J=E4=E4skel=E4inen = wrote: >> Bean wrote: >> > Hi, >> > >> > I have an idea, why not have both names, (hdN) and (cd), hopefully >> > this will make everyone happy. >> > >> >> Hi Bean, >> >> I think I suggested it already ;) >> >> Device alias is ok for me :) (and use of cd[nro] is more favorable). >=20 > Ok, the new patch add (cd0) alias for cdrom device, the corresponding > (hdN) is also present. I am just wondering that this implementation is limited to cd0, you=20 cannot have cd1. Consider following scenario: User boots with biosdisk enabled from bootable CD, gets bootdrive from=20 there assigns (cd0) for this device. User loads ata module to get access=20 to more removable disk drives (cd/dvd/bdr) and then system would assign=20 new device aliases like cd1, cd2 depending on how many device there is=20 in system. This could be done by something like this: in biosdisk: if disk.drivetype =3D=3D cd then add_alias(ALIAS_TYPE_CD, disk) in ata: if disk.drivetype =3D=3D cd then add_alias(ALIAS_TYPE_CD, disk) Idea of this is that if there are multiple CD's you get new aliases=20 identifier always incremented by one. With this you could even do followi= ng: biosdisk: disk.bios_device_nro =3D 0x0; add_alias(ALIAS_TYPE_FLOPPY, disk) // disk becomes as alias (fd0) disk.bios_device_nro =3D 0x80; add_alias(ALIAS_TYPE_HDD, disk) // disk becomes as alias (hd0) disk.bios_device_nro =3D 200; add_alias(ALIAS_TYPE_CDROM, disk) // disk becomes as alias (cd0) ata: // second ATA controller on system disk.bios_device_nro =3D NOTSET; // -1 (?) add_alias(ALIAS_TYPE_HDD, disk) // disk becomes as alias (hd1) And then have a disk as a generic disk info block where there is=20 function pointers to in example biosdisk or ata modules to handle reading= =2E In case if user installs emulation layer for in example ATA hdd in this=20 scanario, then this bios_device_nro would be filled. In here also biosdisk will be checked if it supports outputting of=20 physical device information using EDD, and if it does, then it can=20 filter out ata accesses for those device that bios already supports. In this system there could be following standard names based on driver=20 for devices: (pcbios0) // floppy (pcbios128) // hdd (pcbios200) // cd (ata0) (ata2) (atapi1) (atapi3) Or even more deeper with physical chain of devices like: (pciXXXX/ata0) (pcbios/disk128) Just something to think about :) Thanks, Vesa J=E4=E4skel=E4inen