[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[1909] 2008-11-12 Robert Millan <address@hidden>
From: |
Robert Millan |
Subject: |
[1909] 2008-11-12 Robert Millan <address@hidden> |
Date: |
Tue, 11 Nov 2008 23:16:55 +0000 |
Revision: 1909
http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1909
Author: robertmh
Date: 2008-11-11 23:16:54 +0000 (Tue, 11 Nov 2008)
Log Message:
-----------
2008-11-12 Robert Millan <address@hidden>
Fix a regression introduced by the at_keyboard.mod split. Because
some terminals are default on some platforms and non-default on
others, the first terminal being registered determines which is
going to be default.
* kern/term.c (grub_term_register_input): If this is the first
terminal being registered, set it as the current one.
(grub_term_register_output): Likewise.
* term/efi/console.c (grub_console_init): Do not call
grub_term_set_current_output() or grub_term_set_current_input().
* term/ieee1275/ofconsole.c (grub_console_init): Likewise.
* term/i386/pc/console.c (grub_console_init): Likewise.
(grub_console_fini): Do not call grub_term_set_current_input()
(but leave grub_term_set_current_output() to restore text mode).
Modified Paths:
--------------
trunk/grub2/ChangeLog
trunk/grub2/kern/term.c
trunk/grub2/term/efi/console.c
trunk/grub2/term/i386/pc/console.c
trunk/grub2/term/ieee1275/ofconsole.c
Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog 2008-11-10 15:04:00 UTC (rev 1908)
+++ trunk/grub2/ChangeLog 2008-11-11 23:16:54 UTC (rev 1909)
@@ -1,3 +1,21 @@
+2008-11-12 Robert Millan <address@hidden>
+
+ Fix a regression introduced by the at_keyboard.mod split. Because
+ some terminals are default on some platforms and non-default on
+ others, the first terminal being registered determines which is
+ going to be default.
+
+ * kern/term.c (grub_term_register_input): If this is the first
+ terminal being registered, set it as the current one.
+ (grub_term_register_output): Likewise.
+
+ * term/efi/console.c (grub_console_init): Do not call
+ grub_term_set_current_output() or grub_term_set_current_input().
+ * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
+ * term/i386/pc/console.c (grub_console_init): Likewise.
+ (grub_console_fini): Do not call grub_term_set_current_input()
+ (but leave grub_term_set_current_output() to restore text mode).
+
2008-11-10 Robert Millan <address@hidden>
* util/grub.d/00_header.in: Add backward compatibility check for
Modified: trunk/grub2/kern/term.c
===================================================================
--- trunk/grub2/kern/term.c 2008-11-10 15:04:00 UTC (rev 1908)
+++ trunk/grub2/kern/term.c 2008-11-11 23:16:54 UTC (rev 1909)
@@ -44,6 +44,8 @@
{
term->next = grub_term_list_input;
grub_term_list_input = term;
+ if (! grub_cur_term_input)
+ grub_term_set_current_input (term);
}
void
@@ -51,6 +53,8 @@
{
term->next = grub_term_list_output;
grub_term_list_output = term;
+ if (! grub_cur_term_output)
+ grub_term_set_current_output (term);
}
void
Modified: trunk/grub2/term/efi/console.c
===================================================================
--- trunk/grub2/term/efi/console.c 2008-11-10 15:04:00 UTC (rev 1908)
+++ trunk/grub2/term/efi/console.c 2008-11-11 23:16:54 UTC (rev 1909)
@@ -368,8 +368,6 @@
grub_term_register_input (&grub_console_term_input);
grub_term_register_output (&grub_console_term_output);
- grub_term_set_current_output (&grub_console_term_output);
- grub_term_set_current_input (&grub_console_term_input);
}
void
Modified: trunk/grub2/term/i386/pc/console.c
===================================================================
--- trunk/grub2/term/i386/pc/console.c 2008-11-10 15:04:00 UTC (rev 1908)
+++ trunk/grub2/term/i386/pc/console.c 2008-11-11 23:16:54 UTC (rev 1909)
@@ -156,19 +156,19 @@
grub_console_init (void)
{
grub_term_register_output (&grub_console_term_output);
- grub_term_set_current_output (&grub_console_term_output);
#ifdef GRUB_MACHINE_PCBIOS
grub_term_register_input (&grub_console_term_input);
- grub_term_set_current_input (&grub_console_term_input);
#endif
}
void
grub_console_fini (void)
{
+ /* This is to make sure the console is restored to text mode before
+ we boot. */
grub_term_set_current_output (&grub_console_term_output);
+
#ifdef GRUB_MACHINE_PCBIOS
- grub_term_set_current_input (&grub_console_term_input);
grub_term_unregister_input (&grub_console_term_input);
#endif
grub_term_unregister_output (&grub_console_term_output);
Modified: trunk/grub2/term/ieee1275/ofconsole.c
===================================================================
--- trunk/grub2/term/ieee1275/ofconsole.c 2008-11-10 15:04:00 UTC (rev
1908)
+++ trunk/grub2/term/ieee1275/ofconsole.c 2008-11-11 23:16:54 UTC (rev
1909)
@@ -422,8 +422,6 @@
{
grub_term_register_input (&grub_ofconsole_term_input);
grub_term_register_output (&grub_ofconsole_term_output);
- grub_term_set_current_output (&grub_ofconsole_term_output);
- grub_term_set_current_input (&grub_ofconsole_term_input);
}
void
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [1909] 2008-11-12 Robert Millan <address@hidden>,
Robert Millan <=