From: Alan Cox Date: Sat, 14 Jul 2018 15:42:04 +0000 (+0100) Subject: tty: add the new tty_data_consumed method X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=6887fcdc376f170334938342af8ad56273d240e1;p=FUZIX.git tty: add the new tty_data_consumed method This is needed for flow control but does mean we need to add a null helper everywhere. --- diff --git a/Kernel/dev/z80pack/devtty.c b/Kernel/dev/z80pack/devtty.c index 38a76eef..380271a7 100644 --- a/Kernel/dev/z80pack/devtty.c +++ b/Kernel/dev/z80pack/devtty.c @@ -126,3 +126,7 @@ int tty_carrier(uint8_t minor) used(minor); return 1; } + +void tty_data_consumed(uint8_t minor) +{ +} diff --git a/Kernel/devio.c b/Kernel/devio.c index 3ed6b31e..e8a26975 100644 --- a/Kernel/devio.c +++ b/Kernel/devio.c @@ -549,16 +549,14 @@ bool uninsq(struct s_queue *q, unsigned char *cp) return r; } -// WRS: this isn't used -// /* Returns true if the queue has more characters than its wakeup number -// */ -// bool fullq(struct s_queue *q) -// { -// if (q->q_count > q->q_wakeup) // WRS: shouldn't this be >= ? -// return true; -// else -// return false; -// } +/* Returns true if the queue has more characters than its wakeup number */ +bool fullq(struct s_queue *q) +{ + if (q->q_count > q->q_wakeup) // WRS: shouldn't this be >= ? + return true; + else + return false; +} /********************************************************************* Miscellaneous helpers diff --git a/Kernel/platform-amstradnc/devtty.c b/Kernel/platform-amstradnc/devtty.c index 30827573..beb90732 100644 --- a/Kernel/platform-amstradnc/devtty.c +++ b/Kernel/platform-amstradnc/devtty.c @@ -117,6 +117,10 @@ void tty_putc(uint8_t minor, unsigned char c) uarta = c; } +void tty_data_consumed(uint8_t minor) +{ +} + /* Called to set baud rate etc */ void tty_setup(uint8_t minor) { diff --git a/Kernel/platform-appleiie/devtty.c b/Kernel/platform-appleiie/devtty.c index e885c794..f31ced18 100644 --- a/Kernel/platform-appleiie/devtty.c +++ b/Kernel/platform-appleiie/devtty.c @@ -62,6 +62,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + /* Beware - this kbd access also disables 80store */ void tty_poll(void) { diff --git a/Kernel/platform-atarist/devtty.c b/Kernel/platform-atarist/devtty.c index 659a28ed..91222944 100644 --- a/Kernel/platform-atarist/devtty.c +++ b/Kernel/platform-atarist/devtty.c @@ -72,6 +72,10 @@ void tty_sleeping(uint8_t minor) /* For now.. probably worth using tx ints */ } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_interrupt(void) { uint8_t r = *uart_status; diff --git a/Kernel/platform-coco2/devtty.c b/Kernel/platform-coco2/devtty.c index 1c7fc8bf..41788dfa 100644 --- a/Kernel/platform-coco2/devtty.c +++ b/Kernel/platform-coco2/devtty.c @@ -87,6 +87,10 @@ void tty_interrupt(void) } } +void tty_data_consumed(uint8_t minor) +{ +} + uint8_t keymap[8]; static uint8_t keyin[8]; static uint8_t keybyte, keybit; diff --git a/Kernel/platform-coco2cart/devtty.c b/Kernel/platform-coco2cart/devtty.c index a8344eae..f9e4804c 100644 --- a/Kernel/platform-coco2cart/devtty.c +++ b/Kernel/platform-coco2cart/devtty.c @@ -67,6 +67,10 @@ void tty_sleeping(uint8_t minor) used(minor); } +void tty_data_consumed(uint8_t minor) +{ +} + /* 6551 mode handling */ static uint8_t baudbits[] = { diff --git a/Kernel/platform-coco3/devtty.c b/Kernel/platform-coco3/devtty.c index 98ae7fd6..29189786 100644 --- a/Kernel/platform-coco3/devtty.c +++ b/Kernel/platform-coco3/devtty.c @@ -274,6 +274,10 @@ void tty_interrupt(void) } +void tty_data_consumed(uint8_t minor) +{ +} + uint8_t keymap[8]; static uint8_t keyin[8]; static uint8_t keybyte, keybit; diff --git a/Kernel/platform-cromemco/devtty.c b/Kernel/platform-cromemco/devtty.c index d62c5860..99d534d9 100644 --- a/Kernel/platform-cromemco/devtty.c +++ b/Kernel/platform-cromemco/devtty.c @@ -51,6 +51,10 @@ void tty_sleeping(uint8_t minor) ttypoll |= 1 << minor; } +void tty_data_consumed(uint8_t minor) +{ +} + __sfr __at 0x08 timer4; void tty_irq(uint8_t minor) diff --git a/Kernel/platform-dragon-nx32/devtty.c b/Kernel/platform-dragon-nx32/devtty.c index 131bb7d2..c99b7662 100644 --- a/Kernel/platform-dragon-nx32/devtty.c +++ b/Kernel/platform-dragon-nx32/devtty.c @@ -145,6 +145,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_interrupt(void) { uint8_t r = *uart_status; diff --git a/Kernel/platform-ibmpc/devtty.c b/Kernel/platform-ibmpc/devtty.c index 8b72096d..b140c021 100644 --- a/Kernel/platform-ibmpc/devtty.c +++ b/Kernel/platform-ibmpc/devtty.c @@ -50,3 +50,7 @@ int tty_carrier(uint8_t minor) void tty_sleeping(uint8_t minor) { } + +void tty_data_consumed(uint8_t minor) +{ +} diff --git a/Kernel/platform-micropack/devtty.c b/Kernel/platform-micropack/devtty.c index cf62e54c..9c50cf47 100644 --- a/Kernel/platform-micropack/devtty.c +++ b/Kernel/platform-micropack/devtty.c @@ -41,6 +41,10 @@ void tty_sleeping(uint8_t minor) used(minor); } +void tty_data_consumed(uint8_t minor) +{ +} + /* Called every timer tick */ void tty_pollirq(void) { diff --git a/Kernel/platform-msp430fr5969/devtty.c b/Kernel/platform-msp430fr5969/devtty.c index 74b77e19..b79c106b 100644 --- a/Kernel/platform-msp430fr5969/devtty.c +++ b/Kernel/platform-msp430fr5969/devtty.c @@ -51,6 +51,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_interrupt(void) { tty_inproc(minor(BOOT_TTY), UCA0RXBUF); diff --git a/Kernel/platform-msx1/devtty.c b/Kernel/platform-msx1/devtty.c index b33593e5..84cfcffa 100644 --- a/Kernel/platform-msx1/devtty.c +++ b/Kernel/platform-msx1/devtty.c @@ -66,6 +66,9 @@ void tty_sleeping(uint8_t minor) minor; } +void tty_data_consumed(uint8_t minor) +{ +} #if 0 static uint8_t keymap[10]; diff --git a/Kernel/platform-msx2/devtty.c b/Kernel/platform-msx2/devtty.c index 31f0ffa2..a41b719c 100644 --- a/Kernel/platform-msx2/devtty.c +++ b/Kernel/platform-msx2/devtty.c @@ -96,6 +96,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_setup(uint8_t minor) { minor; diff --git a/Kernel/platform-mtx/devtty.c b/Kernel/platform-mtx/devtty.c index a28ee124..0edf18ba 100644 --- a/Kernel/platform-mtx/devtty.c +++ b/Kernel/platform-mtx/devtty.c @@ -100,6 +100,11 @@ void tty_sleeping(uint8_t minor) used(minor); } +void tty_data_consumed(uint8_t minor) +{ + /* FIXME:we can now implement flow control stuff */ +} + static uint8_t dart_setup[] = { 1, 0x19, 2, 0x04, /* Vector */ diff --git a/Kernel/platform-multicomp09/devtty.c b/Kernel/platform-multicomp09/devtty.c index 2ce83712..41a77848 100644 --- a/Kernel/platform-multicomp09/devtty.c +++ b/Kernel/platform-multicomp09/devtty.c @@ -153,6 +153,9 @@ void tty_interrupt(void) } +void tty_data_consumed(uint8_t minor) +{ +} void platform_interrupt(void) diff --git a/Kernel/platform-n8vem-mark4/devtty.c b/Kernel/platform-n8vem-mark4/devtty.c index 950bdf74..7d723c87 100644 --- a/Kernel/platform-n8vem-mark4/devtty.c +++ b/Kernel/platform-n8vem-mark4/devtty.c @@ -80,6 +80,10 @@ void tty_sleeping(uint8_t minor) minor; } +void tty_data_consumed(uint8_t minor) +{ +} + ttyready_t tty_writeready(uint8_t minor) { minor; diff --git a/Kernel/platform-p112/devtty.c b/Kernel/platform-p112/devtty.c index c11c3031..94e2b7c1 100644 --- a/Kernel/platform-p112/devtty.c +++ b/Kernel/platform-p112/devtty.c @@ -305,3 +305,7 @@ void kputchar(char c) if(c == '\n') tty_putc(TTYDEV & 0xFF, '\r'); } + +void tty_data_consumed(uint8_t minor) +{ +} diff --git a/Kernel/platform-pcw8256/devtty.c b/Kernel/platform-pcw8256/devtty.c index ed6f5a0d..116c6957 100644 --- a/Kernel/platform-pcw8256/devtty.c +++ b/Kernel/platform-pcw8256/devtty.c @@ -131,6 +131,10 @@ void tty_sleeping(uint8_t minor) minor; } +void tty_data_consumed(uint8_t minor) +{ +} + /* Pending better ioctl bits set up for 9600 8N1 */ void tty_init_port(void) diff --git a/Kernel/platform-pdp11/devtty.c b/Kernel/platform-pdp11/devtty.c index eb00d3aa..c6f25e25 100644 --- a/Kernel/platform-pdp11/devtty.c +++ b/Kernel/platform-pdp11/devtty.c @@ -51,6 +51,10 @@ void tty_sleeping(uint8_t minor) { } +void tty_data_consumed(uint8_t minor) +{ +} + /* Currently run off the timer */ void tty_interrupt(void) { diff --git a/Kernel/platform-plus3/devtty.c b/Kernel/platform-plus3/devtty.c index 7f160266..bb9e887c 100644 --- a/Kernel/platform-plus3/devtty.c +++ b/Kernel/platform-plus3/devtty.c @@ -92,6 +92,10 @@ void tty_sleeping(uint8_t minor) minor; } +void tty_data_consumed(uint8_t minor) +{ +} + void update_keyboard(void) { /* We need this assembler code because SDCC __sfr cannot handle 16-bit addresses. And because it is much faster, of course */ diff --git a/Kernel/platform-px4plus/devtty.c b/Kernel/platform-px4plus/devtty.c index c3a2fe0e..03c6c3cc 100644 --- a/Kernel/platform-px4plus/devtty.c +++ b/Kernel/platform-px4plus/devtty.c @@ -58,6 +58,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + /* * Keyboard interface. This is not a make break interface except for * the shift keys. We don't support item keyboards just the standard diff --git a/Kernel/platform-rc2014/devtty.c b/Kernel/platform-rc2014/devtty.c index 2b47b7de..e7bf9b4d 100644 --- a/Kernel/platform-rc2014/devtty.c +++ b/Kernel/platform-rc2014/devtty.c @@ -146,6 +146,10 @@ ttyready_t tty_writeready(uint8_t minor) return TTY_READY_NOW; } +void tty_data_consumed(uint8_t minor) +{ +} + /* kernel writes to system console -- never sleep! */ void kputchar(char c) { diff --git a/Kernel/platform-socz80/devtty.c b/Kernel/platform-socz80/devtty.c index 6065ee2e..bba94fc6 100644 --- a/Kernel/platform-socz80/devtty.c +++ b/Kernel/platform-socz80/devtty.c @@ -40,4 +40,8 @@ int tty_carrier(uint8_t minor) void tty_sleeping(uint8_t minor) { minor; -} \ No newline at end of file +} + +void tty_data_consumed(uint8_t minor) +{ +} diff --git a/Kernel/platform-tgl6502/devtty.c b/Kernel/platform-tgl6502/devtty.c index c53d65bf..de7c3e2b 100644 --- a/Kernel/platform-tgl6502/devtty.c +++ b/Kernel/platform-tgl6502/devtty.c @@ -58,6 +58,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_poll(void) { uint8_t x; diff --git a/Kernel/platform-trs80/devtty.c b/Kernel/platform-trs80/devtty.c index d5e94f2f..fecaa8f5 100644 --- a/Kernel/platform-trs80/devtty.c +++ b/Kernel/platform-trs80/devtty.c @@ -183,6 +183,11 @@ void tty_sleeping(uint8_t minor) used(minor); } +void tty_data_consumed(uint8_t minor) +{ + /* FIXME: flow control as implemented now for Model I and III */ +} + uint8_t keymap[8]; static uint8_t keyin[8]; static uint8_t keybyte, keybit; diff --git a/Kernel/platform-ubee/devtty.c b/Kernel/platform-ubee/devtty.c index 5c8d94cb..4b890252 100644 --- a/Kernel/platform-ubee/devtty.c +++ b/Kernel/platform-ubee/devtty.c @@ -75,6 +75,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + static uint8_t keymap[15]; static uint8_t keyin[15]; static uint8_t keybyte, keybit; diff --git a/Kernel/platform-v65/devtty.c b/Kernel/platform-v65/devtty.c index 9895ea32..04f0fd6f 100644 --- a/Kernel/platform-v65/devtty.c +++ b/Kernel/platform-v65/devtty.c @@ -57,6 +57,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_poll(void) { uint8_t x; diff --git a/Kernel/platform-v65c816-big/devtty.c b/Kernel/platform-v65c816-big/devtty.c index 6117fdf5..944adf7c 100644 --- a/Kernel/platform-v65c816-big/devtty.c +++ b/Kernel/platform-v65c816-big/devtty.c @@ -53,6 +53,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_poll(void) { uint8_t x; diff --git a/Kernel/platform-v65c816/devtty.c b/Kernel/platform-v65c816/devtty.c index ee6df797..49b63d4d 100644 --- a/Kernel/platform-v65c816/devtty.c +++ b/Kernel/platform-v65c816/devtty.c @@ -102,6 +102,10 @@ int tty_carrier(uint8_t minor) return 1; } +void tty_data_consumed(uint8_t minor) +{ +} + void tty_poll(void) { uint8_t x; diff --git a/Kernel/platform-v68-banked/devtty.c b/Kernel/platform-v68-banked/devtty.c index 3954fa8c..014f31c3 100644 --- a/Kernel/platform-v68-banked/devtty.c +++ b/Kernel/platform-v68-banked/devtty.c @@ -48,6 +48,10 @@ void tty_sleeping(uint8_t minor) { } +void tty_data_consumed(uint8_t minor) +{ +} + /* Currently run off the timer */ void tty_interrupt(void) { diff --git a/Kernel/platform-v68-softmmu/devtty.c b/Kernel/platform-v68-softmmu/devtty.c index 3954fa8c..014f31c3 100644 --- a/Kernel/platform-v68-softmmu/devtty.c +++ b/Kernel/platform-v68-softmmu/devtty.c @@ -48,6 +48,10 @@ void tty_sleeping(uint8_t minor) { } +void tty_data_consumed(uint8_t minor) +{ +} + /* Currently run off the timer */ void tty_interrupt(void) { diff --git a/Kernel/platform-v68/devtty.c b/Kernel/platform-v68/devtty.c index 3954fa8c..014f31c3 100644 --- a/Kernel/platform-v68/devtty.c +++ b/Kernel/platform-v68/devtty.c @@ -48,6 +48,10 @@ void tty_sleeping(uint8_t minor) { } +void tty_data_consumed(uint8_t minor) +{ +} + /* Currently run off the timer */ void tty_interrupt(void) { diff --git a/Kernel/platform-zeta-v2/devtty.c b/Kernel/platform-zeta-v2/devtty.c index b69c4d8a..2eb7bf23 100644 --- a/Kernel/platform-zeta-v2/devtty.c +++ b/Kernel/platform-zeta-v2/devtty.c @@ -134,6 +134,10 @@ void tty_sleeping(uint8_t minor) } } +void tty_data_consumed(uint8_t minor) +{ +} + ttyready_t tty_writeready(uint8_t minor) { uint8_t c; diff --git a/Kernel/platform-zx128/devtty.c b/Kernel/platform-zx128/devtty.c index 7f160266..bb9e887c 100644 --- a/Kernel/platform-zx128/devtty.c +++ b/Kernel/platform-zx128/devtty.c @@ -92,6 +92,10 @@ void tty_sleeping(uint8_t minor) minor; } +void tty_data_consumed(uint8_t minor) +{ +} + void update_keyboard(void) { /* We need this assembler code because SDCC __sfr cannot handle 16-bit addresses. And because it is much faster, of course */