sc114: get it building
authorAlan Cox <alan@linux.intel.com>
Sat, 5 Jan 2019 21:19:15 +0000 (21:19 +0000)
committerAlan Cox <alan@linux.intel.com>
Sat, 5 Jan 2019 21:19:15 +0000 (21:19 +0000)
Kernel/platform-sc114/Makefile
Kernel/platform-sc114/devtty.c
Kernel/platform-sc114/devtty.h
Kernel/platform-sc114/discard.c
Kernel/platform-sc114/fuzix.lnk

index eb58531..5c8d67c 100644 (file)
@@ -1,4 +1,4 @@
-ASRCS = crt0.s tricks.s commonmem.s sc114.s usermem.s
+ASRCS = crt0.s tricks.s commonmem.s sc114.s usermem.s scm_monitor.s
 CSRCS = devices.c main.c devtty.c ide.c
 DISCARD_CSRCS = discard.c
 DISCARD_DSRCS = ../dev/devide_discard.c ../dev/ds1302_discard.c
index 759ed27..69b299c 100644 (file)
@@ -25,17 +25,10 @@ static tcflag_t uart0_mask[4] = {
        _LSYS
 };
 
-static tcflag_t uart1_mask[4] = {
-       _ISYS,
-       _OSYS,
-       CBAUD|CSYS,
-       _LSYS,
-};
-
 tcflag_t *termios_mask[NUM_DEV_TTY + 1] = {
        NULL,
        uart0_mask,
-       uart1_mask
+       uart0_mask
 };
 
 struct s_queue ttyinq[NUM_DEV_TTY + 1] = {     /* ttyinq[0] is never used */
@@ -62,17 +55,24 @@ static uint8_t baudmap[] = {
 void tty_setup(uint8_t minor, uint8_t flags)
 {
        tcflag_t *tptr = &ttydata[minor].termios.c_cflag;
-       uint8_t baud = *tptr & CBAUD;
+       /* Safe as we are little endian */
+       uint8_t old = *tptr;
+       uint8_t baud = old & CBAUD;
+
+       used(flags);
+
        if (baud < B300) {
                baud = B300;
-               *tptr &= ~CBAUD;
-               *tptr |= B300;
+               old &= ~CBAUD;
+               *tptr = old | B300;
        }
-       scm_setbaud(((uint16_t)minor) << 8) |baudmap[baud]);
+       if (!scm_setbaud((((uint16_t)minor) << 8) |baudmap[baud]))
+               *tptr = old;
 }
 
 int tty_carrier(uint8_t minor)
 {
+       used(minor);
        return 1;
 }
 
@@ -116,10 +116,12 @@ ttyready_t tty_writeready(uint8_t minor)
 
 void tty_sleeping(uint8_t minor)
 {
+       used(minor);
 }
 
 void tty_data_consumed(uint8_t minor)
 {
+       used(minor);
 }
 
 /* kernel writes to system console -- never sleep! */
index 669c287..e40f6d3 100644 (file)
@@ -2,7 +2,7 @@
 #define __DEVTTY_DOT_H__
 
 void tty_putc(uint8_t minor, unsigned char c);
-void tty_pollirq_sio(void);
+void tty_pollirq(void);
 
 extern uint8_t numtty;
 
index 209544a..829ba8e 100644 (file)
@@ -5,6 +5,7 @@
 #include <ds1302.h>
 #include <devide.h>
 #include <blkdev.h>
+#include <scm_monitor.h>
 #include "config.h"
 
 void map_init(void)
index a168196..19f48fb 100644 (file)
@@ -41,4 +41,5 @@ platform-sc114/usermem.rel
 platform-sc114/ds1302.rel
 platform-sc114/ds1302_discard.rel
 platform-sc114/ds1302_rc2014.rel
+platform-sc114/scm_monitor.rel
 -e