[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen master] pvgrub: ignore NUL



commit e6fa63d6cf8e79de2cfb2d428269b6d6f698c3d2
Author:     Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
AuthorDate: Thu Nov 6 10:41:28 2014 +0000
Commit:     Ian Campbell <ian.campbell@xxxxxxxxxx>
CommitDate: Mon Nov 10 12:03:36 2014 +0000

    pvgrub: ignore NUL
    
    When using pvgrub in graphical mode with vnc, the grub timeout doesn't
    work: the countdown doesn't even start. With a serial terminal the
    problem doesn't occur and the countdown works as expected.
    
    It turns out that the problem is that when using a graphical terminal,
    checkkey () returns 0 instead of -1 when there is no activity on the
    mouse or keyboard. As a consequence grub thinks that the user typed
    something and interrupts the count down.
    
    To fix the issue simply ignore keystrokes returning 0, that is the NUL
    character anyway. Add a patch to grub.patches to do that.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
    Tested-by: Steven Haigh <netwiz@xxxxxxxxx>
    Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
---
 stubdom/grub.patches/11graphics-keyboard.diff |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/stubdom/grub.patches/11graphics-keyboard.diff 
b/stubdom/grub.patches/11graphics-keyboard.diff
new file mode 100644
index 0000000..fe17b20
--- /dev/null
+++ b/stubdom/grub.patches/11graphics-keyboard.diff
@@ -0,0 +1,13 @@
+diff --git a/stage2/stage2.c b/stage2/stage2.c
+index 9d9fcc3..8353a3b 100644
+--- a/stage2/stage2.c
++++ b/stage2/stage2.c
+@@ -395,7 +395,7 @@ restart:
+        pressed.  
+        This avoids polling (relevant in the grub-shell and later on
+        in grub if interrupt driven I/O is done).  */
+-      if (checkkey () >= 0 || grub_timeout < 0)
++      if (checkkey () > 0 || grub_timeout < 0)
+       {
+         /* Key was pressed, show which entry is selected before GETKEY,
+            since we're comming in here also on GRUB_TIMEOUT == -1 and
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.