]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Enable serial in simulcast with local terminal on yeeloong
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 22 May 2010 21:36:44 +0000 (23:36 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 22 May 2010 21:36:44 +0000 (23:36 +0200)
conf/mips-qemu-mips.rmk
conf/mips.rmk
kern/mips/yeeloong/init.c
term/serial.c

index 2f80ab2e306516aeeacef6f016807e371de3cf8f..0d81bbe8b0e26553efcdaa2d00af041768653a83 100644 (file)
@@ -20,3 +20,9 @@ kernel_img_CFLAGS = $(COMMON_CFLAGS)
 kernel_img_ASFLAGS = $(COMMON_ASFLAGS)
 kernel_img_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-N,-S,-Ttext,$(LINK_BASE),-Bstatic
 kernel_img_FORMAT = binary
+
+# For serial.mod.
+pkglib_MODULES += serial.mod
+serial_mod_SOURCES = term/serial.c
+serial_mod_CFLAGS = $(COMMON_CFLAGS)
+serial_mod_LDFLAGS = $(COMMON_LDFLAGS)
index 7d30f55f1a167ae9fd8d34ae41194024f04cccd8..26c516fc43da1478f8d153c18b7fe447db7affdd 100644 (file)
@@ -10,12 +10,6 @@ kernel_img_HEADERS += cpu/cache.h
 sbin_SCRIPTS = 
 bin_SCRIPTS = 
 
-# For serial.mod.
-pkglib_MODULES += serial.mod
-serial_mod_SOURCES = term/serial.c
-serial_mod_CFLAGS = $(COMMON_CFLAGS)
-serial_mod_LDFLAGS = $(COMMON_LDFLAGS)
-
 # For relocator.mod.
 pkglib_MODULES += relocator.mod
 relocator_mod_SOURCES = lib/$(target_cpu)/relocator.c lib/$(target_cpu)/relocator_asm.S
index 8266599686c42ce7d7185ed2e7982e058286786a..78586dbd4ce5833740e58c8205da5eed28b182b6 100644 (file)
@@ -37,6 +37,8 @@ extern void grub_bitmap_init (void);
 extern void grub_font_init (void);
 extern void grub_gfxterm_init (void);
 extern void grub_at_keyboard_init (void);
+extern void grub_serial_init (void);
+extern void grub_terminfo_init (void);
 
 /* FIXME: use interrupt to count high.  */
 grub_uint64_t
@@ -183,6 +185,9 @@ grub_machine_init (void)
   grub_gfxterm_init ();
 
   grub_at_keyboard_init ();
+
+  grub_terminfo_init ();
+  grub_serial_init ();
 }
 
 void
index b16b608f18f1bf75639ec9a45ba234e9b2bf4405..ef9efac2ee739ba97ed86d88209906aab335dc2c 100644 (file)
@@ -636,6 +636,21 @@ GRUB_MOD_INIT(serial)
   serial_settings.word_len  = UART_8BITS_WORD;
   serial_settings.parity    = UART_NO_PARITY;
   serial_settings.stop_bits = UART_1_STOP_BIT;
+
+#ifdef GRUB_MACHINE_MIPS_YEELOONG
+  {
+    grub_err_t hwiniterr;
+    hwiniterr = serial_hw_init ();
+
+    if (hwiniterr == GRUB_ERR_NONE)
+      {
+       grub_term_register_input_active ("serial", &grub_serial_term_input);
+       grub_term_register_output_active ("serial", &grub_serial_term_output);
+
+       registered = 1;
+      }
+  }
+#endif
 }
 
 GRUB_MOD_FINI(serial)