|
|
1.1 ! root 1: #include "ds_oskit.h" ! 2: ! 3: #include <oskit/dev/dev.h> ! 4: #include <oskit/dev/linux.h> ! 5: #include <oskit/dev/osenv_irq.h> ! 6: #include <oskit/dev/osenv_intr.h> ! 7: #include <oskit/dev/osenv_sleep.h> ! 8: #include <oskit/c/stdlib.h> ! 9: ! 10: #include <oskit/c/termios.h> ! 11: #include <oskit/tty.h> ! 12: ! 13: oskit_osenv_t *mach_osenv; ! 14: ! 15: extern int serial_console; /* base_console_init.c */ ! 16: ! 17: oskit_stream_t *ds_console_stream; ! 18: ! 19: extern int console_irq; /* kludge in osenv_irq.c */ ! 20: ! 21: ! 22: void ! 23: ds_osenv_init (void) ! 24: { ! 25: oskit_error_t rc; ! 26: ! 27: mach_osenv = oskit_osenv_create_default (); ! 28: ! 29: kmsg_init (); ! 30: ! 31: oskit_dev_init (mach_osenv); ! 32: ! 33: if (getenv ("BOGUS_CONSOLE")) ! 34: { ! 35: extern oskit_stream_t *console; ! 36: ds_console_stream = console; ! 37: printf("using bogus console!\n"); ! 38: rc = 0; ! 39: } ! 40: else if (serial_console) ! 41: { ! 42: oskit_osenv_intr_t *intr = oskit_create_osenv_intr (); ! 43: char *p = getenv ("COM_CONS"); ! 44: int port = p ? atoi(p) : 1; ! 45: struct termios param = base_cooked_termios; ! 46: param.c_lflag &= ~ECHO; ! 47: param.c_iflag &= ~ICRNL; ! 48: param.c_oflag &= ~OPOST; ! 49: console_irq = -1; ! 50: rc = cq_com_console_init (port, ¶m, ! 51: oskit_create_osenv_irq (), ! 52: intr, ! 53: oskit_create_osenv_sleep (intr), ! 54: &ds_console_stream); ! 55: } ! 56: else ! 57: { ! 58: oskit_osenv_intr_t *intr = oskit_create_osenv_intr (); ! 59: console_irq = -1; ! 60: rc = cq_direct_console_init (oskit_create_osenv_irq (), ! 61: intr, ! 62: oskit_create_osenv_sleep (intr), ! 63: &ds_console_stream); ! 64: } ! 65: if (rc) ! 66: panic ("cannot create interrupt-driven console stream: %x\n", rc); ! 67: ! 68: oskit_linux_init_osenv (mach_osenv); ! 69: oskit_linux_init_devs (); ! 70: ! 71: #ifdef HAVE_I8042 ! 72: oskit_dev_init_i8042 (); ! 73: #endif ! 74: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.