From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1L6A6x-0001fj-Hv for mharc-grub-devel@gnu.org; Fri, 28 Nov 2008 15:38:47 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L6A6w-0001dv-6i for grub-devel@gnu.org; Fri, 28 Nov 2008 15:38:46 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L6A6t-0001by-BS for grub-devel@gnu.org; Fri, 28 Nov 2008 15:38:45 -0500 Received: from [199.232.76.173] (port=60644 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L6A6t-0001bu-5Y for grub-devel@gnu.org; Fri, 28 Nov 2008 15:38:43 -0500 Received: from aybabtu.com ([69.60.117.155]:46453) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1L6A6s-0007mN-Rs for grub-devel@gnu.org; Fri, 28 Nov 2008 15:38:42 -0500 Received: from [192.168.10.10] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1L6A3s-0008JV-Rt for grub-devel@gnu.org; Fri, 28 Nov 2008 21:35:37 +0100 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1L6A6C-0003SC-OK for grub-devel@gnu.org; Fri, 28 Nov 2008 21:38:00 +0100 Date: Fri, 28 Nov 2008 21:38:00 +0100 From: Robert Millan To: The development of GRUB 2 Message-ID: <20081128203800.GA13026@thorin> References: <20081102181132.GA24737@thorin> <200811221842.54928.okuji@enbug.org> <20081122195457.GA7779@thorin> <200811252223.53090.okuji@enbug.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200811252223.53090.okuji@enbug.org> Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. Subject: Re: [RFC] Multi-terminal support (Re: [PATCH] terminal split) 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, 28 Nov 2008 20:38:46 -0000 On Tue, Nov 25, 2008 at 10:23:52PM +0100, Yoshinori K. Okuji wrote: > > > > I've been thinking... what if we make this generic? I.e. with an event > > loop, then terminals can register their poll functions to it, and write > > their stuff to a shared resource the rest of GRUB can read from. > > For inputs, this is trivial for me. But, for outputs, not simple. For example, > although we don't support yet in GRUB 2, if we have a dumb terminal, the menu > interface must be very different from others. Aside from the problem with output ones, what to you think of the event loop idea? It can be useful exploit the parellelism in hardware initialisations. Currently GRUB can do silly things like: - wait for keyboard controller in grub_keyboard_controller_read() and in grub_keyboard_controller_write() - move on - wait for ATA disk in grub_atapi_read() - move on - wait for _user_ to stare at the menu and pick an option - move on which could be avoided this way (instead of waiting, each function would register a hook that will be repeatedly run untill it returns non-zero). -- Robert Millan The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and how) you may access your data; but nobody's threatening your freedom: we still allow you to remove your data and not access it at all."