[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] ps2: set ps/2 output buffer size as the same
From: |
Gonglei (Arei) |
Subject: |
Re: [Qemu-devel] [PATCH v3] ps2: set ps/2 output buffer size as the same as kernel |
Date: |
Sat, 26 Apr 2014 06:21:18 +0000 |
Hi,
> On Thu, Apr 24, 2014 at 08:06:19PM +0800, address@hidden wrote:
> > From: Gonglei <address@hidden>
> >
> > According to the PS/2 Mouse/Keyboard Protocol, the keyboard outupt buffer
> size
> > is 16 bytes. And the PS2_QUEUE_SIZE 256 was introduced in Qemu from the
> very
> > beginning.
> >
> > When I started a redhat5.6 32bit guest, meanwhile tapped the keyboard as
> quickly as
> > possible, the screen would show me "i8042.c: No controller found". As a
> result,
> > I couldn't use the keyboard in the VNC client.
> >
> > Previous discussion about the issue in maillist:
> > http://thread.gmane.org/gmane.comp.emulators.qemu/43294/focus=47180
> >
> > This patch has been tested on redhat5.6 32-bit/suse11sp3 64-bit guests.
> > More easy meathod to reproduce:
> > 1.boot a guest with libvirt.
> > 2.connect to VNC client.
> > 3.as you see the BIOS, bootloader, Linux booting, run the follow simply
> > shell
> script:
> > for((i=0;i<10000000;i++)) do virsh send-key redhat5.6 KEY_A; done
>
> Why we can't break keyboard by flooding input after boot up?
>
Actually, I have pointed the root reason about this issue in other email.
When the linux kernel booting, will init the i8042 controller
(drivers/input/serio/i8042.c), and
check the i8042 controller:
i8042_init()
|-> i8042_controller_check()
If the kernel has booted up, the check will not happen, so the Linux kernel
will not get confused.
Best regards,
-Gonglei