From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1ESNV7-0005qw-Li for mharc-grub-devel@gnu.org; Wed, 19 Oct 2005 19:37:41 -0400 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ESNV5-0005qn-Lk for grub-devel@gnu.org; Wed, 19 Oct 2005 19:37:40 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ESNV4-0005qV-Mj for grub-devel@gnu.org; Wed, 19 Oct 2005 19:37:39 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ESNV4-0005qS-FQ for grub-devel@gnu.org; Wed, 19 Oct 2005 19:37:38 -0400 Received: from [212.85.152.101] (helo=kotoba.storever.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1ESNV4-0005fb-IC for grub-devel@gnu.org; Wed, 19 Oct 2005 19:37:38 -0400 Received: from ASSP-nospam (localhost [127.0.0.1]) by kotoba.storever.com (Postfix) with ESMTP id D86B73C72B3D1 for ; Thu, 20 Oct 2005 04:08:51 +0200 (CEST) Received: from 127.0.0.1 ([127.0.0.1] helo=ip6-localhost) by ASSP-nospam ; 20 Oct 05 02:08:51 -0000 From: "Yoshinori K. Okuji" Organization: enbug.org To: The development of GRUB 2 Date: Thu, 20 Oct 2005 01:37:35 +0200 User-Agent: KMail/1.7.2 References: <20051019060709.43E289000A@www.strato-webmail.de> In-Reply-To: <20051019060709.43E289000A@www.strato-webmail.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200510200137.35670.okuji@enbug.org> Subject: Re: AW: USB kernel driver 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: Wed, 19 Oct 2005 23:37:40 -0000 On Wednesday 19 October 2005 08:07 am, jochen@mades.net wrote: > So it seems to me the only way is to write it our own. Or are there any > more ideas where to "borrow" code from? You can refer to other code for a reference purpose, but it is important to keep it in mind that the operating environment of GRUB is fundamentally different from OS. Since OS wants complete control of hardware, it usually reconfigures many parameters and makes use of hardware interrupts for a performance reason, while GRUB tries to keep an underlying system as intact as possible for safety. So, in GRUB, interrupt-driven code is inappropriate, and a polling-based approach is often nicer. > Writing a own GRUB USB driver seems to be a complicated task, starting > with the three standards UHCI, EHCI and OHCI. It is complicated if you attempt to obtain a perfect thing from the beginning. To start a project, the best way is, IMO, to start from what you really need yourself. For example, you should have a system which has one of the USB systems, but not all of them. So I'd recommend you implementing "just work for me" code as a first step. > Furthermore I have no experience with GRUB drivers! Is there any > documentation besides the source code? No, but you don't need it, since the environment is quite simple. GRUB is just a single task, and there is little concern about security or performance. Okuji