Revision: 1766
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1766
Author:   robertmh
Date:     2008-08-03 17:09:21 +0000 (Sun, 03 Aug 2008)

Log Message:
-----------
2008-08-03  Robert Millan  <[EMAIL PROTECTED]>

        * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
        (grub_console_setcursor): Make it possible to set cursor off.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/term/i386/pc/vga_text.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2008-08-03 16:38:40 UTC (rev 1765)
+++ trunk/grub2/ChangeLog       2008-08-03 17:09:21 UTC (rev 1766)
@@ -1,5 +1,10 @@
 2008-08-03  Robert Millan  <[EMAIL PROTECTED]>
 
+       * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
+       (grub_console_setcursor): Make it possible to set cursor off.
+
+2008-08-03  Robert Millan  <[EMAIL PROTECTED]>
+
        * util/grub.d/00_header.in: Be platform-agnostic.  Probe for existence
        of modules instead of assuming which platform provides what.
        * util/update-grub.in: Likewise.

Modified: trunk/grub2/term/i386/pc/vga_text.c
===================================================================
--- trunk/grub2/term/i386/pc/vga_text.c 2008-08-03 16:38:40 UTC (rev 1765)
+++ trunk/grub2/term/i386/pc/vga_text.c 2008-08-03 17:09:21 UTC (rev 1766)
@@ -34,6 +34,8 @@
 #define CRTC_CURSOR_ADDR_HIGH  0x0e
 #define CRTC_CURSOR_ADDR_LOW   0x0f
 
+#define CRTC_CURSOR_DISABLE    (1 << 5)
+
 static void
 screen_write_char (int x, int y, short c)
 {
@@ -133,5 +135,8 @@
   grub_uint8_t old;
   grub_outb (CRTC_CURSOR, CRTC_ADDR_PORT);
   old = grub_inb (CRTC_DATA_PORT);
-  grub_outb ((old & ~(on << 5)), CRTC_DATA_PORT);
+  if (on)
+    grub_outb (old & ~CRTC_CURSOR_DISABLE, CRTC_DATA_PORT);
+  else
+    grub_outb (old | CRTC_CURSOR_DISABLE, CRTC_DATA_PORT);
 }




Reply via email to