promcon.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * Wrap-around code for a console using the
  3.  * SGI PROM io-routines.
  4.  *
  5.  * Copyright (c) 1999 Ulf Carlsson
  6.  *
  7.  * Derived from DECstation promcon.c
  8.  * Copyright (c) 1998 Harald Koerfgen
  9.  */
  10. #include <linux/tty.h>
  11. #include <linux/major.h>
  12. #include <linux/ptrace.h>
  13. #include <linux/init.h>
  14. #include <linux/console.h>
  15. #include <linux/fs.h>
  16. static void prom_console_write(struct console *co, const char *s,
  17.        unsigned count)
  18. {
  19. extern int CONSOLE_CHANNEL; // The default serial port
  20. unsigned i;
  21. for (i = 0; i < count; i++) {
  22. if (*s == 10)
  23. serial_putc(CONSOLE_CHANNEL, 13);
  24. serial_putc(CONSOLE_CHANNEL, *s++);
  25. }
  26. }
  27. int prom_getchar(void)
  28. {
  29. return 0;
  30. }
  31. static kdev_t prom_console_device(struct console *c)
  32. {
  33. return MKDEV(TTY_MAJOR, 64 + c->index);
  34. }
  35. static struct console sercons = {
  36.     name: "ttyS",
  37.     write: prom_console_write,
  38.     device: prom_console_device,
  39.     flags: CON_PRINTBUFFER,
  40.     index: -1,
  41. };
  42. /*
  43.  *    Register console.
  44.  */
  45. void gal_serial_console_init(void)
  46. {
  47. //  serial_init();
  48. //serial_set(115200);
  49. register_console(&sercons);
  50. }