From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MDgmA-0000uw-8g for qemu-devel@nongnu.org; Mon, 08 Jun 2009 11:28:42 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MDgm5-0000p6-Ag for qemu-devel@nongnu.org; Mon, 08 Jun 2009 11:28:41 -0400 Received: from [199.232.76.173] (port=47467 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MDgm4-0000ok-Q9 for qemu-devel@nongnu.org; Mon, 08 Jun 2009 11:28:36 -0400 Received: from mx20.gnu.org ([199.232.41.8]:58635) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MDgm4-0001xC-E0 for qemu-devel@nongnu.org; Mon, 08 Jun 2009 11:28:36 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MDgm3-0005CO-6w for qemu-devel@nongnu.org; Mon, 08 Jun 2009 11:28:35 -0400 From: Paul Brook Subject: Re: [Qemu-devel] [SOLUTION] "i8042.c: No controller found" -> OS sees no keyboard if I type "in BIOS" Date: Mon, 8 Jun 2009 16:28:30 +0100 References: <4A0C232D.1020201@wpkg.org> <4A2D1C75.2040006@wpkg.org> <4A2D2743.4050501@redhat.com> In-Reply-To: <4A2D2743.4050501@redhat.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906081628.32080.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Anthony Liguori , Tomasz Chmielewski , Avi Kivity , Marcelo Tosatti > > BTW, with "PS2_QUEUE_SIZE 16" I'm still able to trigger: > > > > i8042.c: No controller found. > > > > > > Only with "PS2_QUEUE_SIZE 15" keyboard is detected every time I boot > > the guest (unless that's what you meant by setting it to 16). > > I think this points to a bug in the bios. The keyboard-internal queue > size shouldn't cause any problems. Either way, you're just papering over bugs in the bios/kernel. My guess is that the bios is assuming it can drain the queue faster than external events can fill it back up. On real hardware this is often true (CPU and system bus speeds are many orders of magnitude greater than the keyboard serial line). However in a non cycle accurate simulator (like qemu) the keyboard events can happen infinitely fast. i.e. even with an internal queue size of 1 the bug will still trigger if sufficiently many PS2 events occur while the guest is draining the queue. Paul