kernel: core changes to get uint_fast8_t into the drivr layer
authorAlan Cox <alan@linux.intel.com>
Wed, 13 Mar 2019 20:50:34 +0000 (20:50 +0000)
committerAlan Cox <alan@linux.intel.com>
Wed, 13 Mar 2019 20:50:34 +0000 (20:50 +0000)
This whole set of work saves us a mindboggling 2.2K on 8080/8085 !

Kernel/devinput.c
Kernel/devio.c
Kernel/devsys.c
Kernel/include/devsys.h
Kernel/include/input.h
Kernel/include/kdata.h
Kernel/include/kernel.h
Kernel/include/printf.h
Kernel/include/tty.h
Kernel/tty.c

index e7f6ceb..c9b86ad 100644 (file)
@@ -7,7 +7,7 @@
 uint8_t keyboard_grab;
 static uint8_t metamap[INPUT_MAX_META];        /* forces it 0 terminated */
 
-uint8_t input_match_meta(uint8_t c)
+uint_fast8_t input_match_meta(uint_fast8_t c)
 {
     uint8_t *cp = metamap;
     if (!c)
@@ -19,7 +19,7 @@ uint8_t input_match_meta(uint8_t c)
     return 0;
 }
 
-int inputdev_read(uint8_t flag)
+int inputdev_read(uint_fast8_t flag)
 {
     uint8_t m[8];
     int s;
@@ -47,14 +47,14 @@ int inputdev_read(uint8_t flag)
     }
 }
 
-int inputdev_write(uint8_t flag)
+int inputdev_write(uint_fast8_t flag)
 {
     return platform_input_write(flag);
 }
 
 int inputdev_ioctl(uarg_t request, char *data)
 {
-    uint8_t r;
+    uint_fast8_t r;
     if (request == INPUT_GRABKB) {
         r = ((uint8_t)data) & 0x03;
         if (r > CONFIG_INPUT_GRABMAX) {
index f3f3473..b418fb2 100644 (file)
@@ -434,7 +434,7 @@ int d_blkoff(uint_fast8_t shift)
  *     No such device handler
  */
 
-int nxio_open(uint8_t minor, uint16_t flag)
+int nxio_open(uint_fast8_t minor, uint16_t flag)
 {
        used(minor);
        used(flag);
@@ -445,20 +445,20 @@ int nxio_open(uint8_t minor, uint16_t flag)
 /*
  *     Default handlers.
  */
-int no_open(uint8_t minor, uint16_t flag)
+int no_open(uint_fast8_t minor, uint16_t flag)
 {
        used(minor);
        used(flag);
        return 0;
 }
 
-int no_close(uint8_t minor)
+int no_close(uint_fast8_t minor)
 {
        used(minor);
        return 0;
 }
 
-int no_rdwr(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int no_rdwr(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        used(minor);
        used(rawflag);
@@ -467,7 +467,7 @@ int no_rdwr(uint8_t minor, uint8_t rawflag, uint8_t flag)
        return -1;
 }
 
-int no_ioctl(uint8_t minor, uarg_t a, char *b)
+int no_ioctl(uint_fast8_t minor, uarg_t a, char *b)
 {
        used(minor);
        used(a);
index cb38401..8714726 100644 (file)
@@ -23,7 +23,7 @@
  *     Use Minor 128+ for platform specific devices
  */
 
-int sys_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int sys_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        unsigned char *addr = (unsigned char *) ptab;
 
@@ -74,7 +74,7 @@ int sys_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
        }
 }
 
-int sys_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int sys_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        used(rawflag);
        used(flag);
@@ -116,7 +116,7 @@ int sys_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
 #define PIO_TABSIZE    1
 #define PIO_ENTRYSIZE  2
 
-int sys_ioctl(uint8_t minor, uarg_t request, char *data)
+int sys_ioctl(uint_fast8_t minor, uarg_t request, char *data)
 {
 #ifdef CONFIG_AUDIO
        if (minor == 64)
@@ -151,7 +151,7 @@ int sys_ioctl(uint8_t minor, uarg_t request, char *data)
        return 0;
 }
 
-int sys_close(uint8_t minor)
+int sys_close(uint_fast8_t minor)
 {
        used(minor);
 #ifdef CONFIG_NET_NATIVE
index b08da15..12b5498 100644 (file)
@@ -1,4 +1,4 @@
-extern int sys_read(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int sys_write(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int sys_ioctl(uint8_t minor, uarg_t request, char *data);
-extern int sys_close(uint8_t minor);
+extern int sys_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int sys_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int sys_ioctl(uint_fast8_t minor, uarg_t request, char *data);
+extern int sys_close(uint_fast8_t minor);
index 3411525..e65ec94 100644 (file)
@@ -41,8 +41,8 @@
 /*
  *     Input device methods
  */
-extern int inputdev_read(uint8_t flag);
-extern int inputdev_write(uint8_t flag);
+extern int inputdev_read(uint_fast8_t flag);
+extern int inputdev_write(uint_fast8_t flag);
 extern int inputdev_ioctl(uarg_t request, char *data);
 extern int inputdev_close(void);
 
@@ -50,13 +50,13 @@ extern int inputdev_close(void);
  *     Exposed for keyboard drivers
  */
 extern uint8_t keyboard_grab;
-extern uint8_t input_match_meta(uint8_t);
+extern uint_fast8_t input_match_meta(uint_fast8_t);
 /*
  *     Platform methods for input device if present
  */
 extern int platform_input_read(uint8_t *);
 extern void platform_input_wait(void);
-extern int platform_input_write(uint8_t);
-extern uint8_t platform_input_init(void);
+extern int platform_input_write(uint_fast8_t);
+extern uint_fast8_t platform_input_init(void);
 
 #endif
index 0a3bc88..7d5a4cb 100644 (file)
@@ -57,12 +57,12 @@ extern int16_t acct_fh;       /* acct() filehandle */
 extern struct sysinfoblk sysinfo;
 
 // The device driver switch table
-typedef int (*dev_read_t)(uint8_t minor, uint8_t rawflag, uint8_t flag);
-typedef int (*dev_write_t)(uint8_t minor, uint8_t rawflag, uint8_t flag);
+typedef int (*dev_read_t)(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+typedef int (*dev_write_t)(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
 typedef int (*dev_init_t)(void);
-typedef int (*dev_open_t)(uint8_t minor, uint16_t flag);
-typedef int (*dev_close_t)(uint8_t minor);
-typedef int (*dev_ioctl_t)(uint8_t minor, uarg_t request, char *data); // note: data is in userspace
+typedef int (*dev_open_t)(uint_fast8_t minor, uint16_t flag);
+typedef int (*dev_close_t)(uint_fast8_t minor);
+typedef int (*dev_ioctl_t)(uint_fast8_t minor, uarg_t request, char *data); // note: data is in userspace
 
 typedef struct devsw {
     dev_open_t dev_open;  /* The routines for reading, etc */
index 02620dc..6f65af3 100644 (file)
@@ -888,11 +888,11 @@ extern bool uninsq(struct s_queue *q, uint_fast8_t *cp);
 extern bool fullq(struct s_queue *q);
 extern int psleep_flags_io(void *event, uint_fast8_t flags);
 extern int psleep_flags(void *event, uint_fast8_t flags);
-extern int nxio_open(uint8_t minor, uint16_t flag);
-extern int no_open(uint8_t minor, uint16_t flag);
-extern int no_close(uint8_t minor);
-extern int no_rdwr(uint8_t minir, uint8_t rawflag, uint8_t flag);
-extern int no_ioctl(uint8_t minor, uarg_t a, char *b);
+extern int nxio_open(uint_fast8_t minor, uint16_t flag);
+extern int no_open(uint_fast8_t minor, uint16_t flag);
+extern int no_close(uint_fast8_t minor);
+extern int no_rdwr(uint_fast8_t minir, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int no_ioctl(uint_fast8_t minor, uarg_t a, char *b);
 
 /* filesys.c */
 /* open file, "name" in user address space */
index 3c4233a..fb0fd94 100644 (file)
@@ -5,4 +5,4 @@ extern void kuputunum(unsigned int v);
 extern void kputhex(unsigned int v);
 
 /* The platform must provide this method */
-extern void kputchar(char c);
+extern void kputchar(uint_fast8_t c);
index a484dd3..ccf319f 100644 (file)
@@ -224,11 +224,11 @@ extern tcflag_t *termios_mask[NUM_DEV_TTY + 1];
 
 extern void tty_init(void);
 
-extern int tty_read(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int tty_write(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int tty_open(uint8_t minor, uint16_t flag);
-extern int tty_close(uint8_t minor);
-extern int tty_ioctl(uint8_t minor, uarg_t request, char *data);
+extern int tty_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int tty_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int tty_open(uint_fast8_t minor, uint16_t flag);
+extern int tty_close(uint_fast8_t minor);
+extern int tty_ioctl(uint_fast8_t minor, uarg_t request, char *data);
 
 extern void tty_exit(void);
 extern void tty_post(inoptr ino, uint_fast8_t minor, uint16_t flag);
@@ -237,17 +237,17 @@ extern void tty_hangup(uint_fast8_t minor);
 extern void tty_carrier_drop(uint_fast8_t minor);
 extern void tty_carrier_raise(uint_fast8_t minor);
 
-extern int ptty_read(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int ptty_write(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int ptty_open(uint8_t minor, uint16_t flag);
-extern int ptty_close(uint8_t minor);
-extern int ptty_ioctl(uint8_t minor, uint16_t request, char *data);
-
-extern int pty_read(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int pty_write(uint8_t minor, uint8_t rawflag, uint8_t flag);
-extern int pty_open(uint8_t minor, uint16_t flag);
-extern int pty_close(uint8_t minor);
-extern int pty_ioctl(uint8_t minor, uint16_t request, char *data);
+extern int ptty_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int ptty_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int ptty_open(uint_fast8_t minor, uint16_t flag);
+extern int ptty_close(uint_fast8_t minor);
+extern int ptty_ioctl(uint_fast8_t minor, uint16_t request, char *data);
+
+extern int pty_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int pty_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag);
+extern int pty_open(uint_fast8_t minor, uint16_t flag);
+extern int pty_close(uint_fast8_t minor);
+extern int pty_ioctl(uint_fast8_t minor, uint16_t request, char *data);
 
 extern uint_fast8_t tty_inproc(uint_fast8_t minor, uint_fast8_t c);
 extern void tty_outproc(uint_fast8_t minor);
index 517fd1e..a50340e 100644 (file)
@@ -32,7 +32,7 @@ static void tty_selwake(uint_fast8_t minor, uint16_t event)
 #define tty_selwake(a,b)       do {} while(0)
 #endif
 
-int tty_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int tty_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        uint_fast8_t c;
        struct s_queue *q;
@@ -99,7 +99,7 @@ dead:
        return -1;
 }
 
-int tty_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int tty_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        struct tty *t;
        uint_fast8_t c;
@@ -158,7 +158,7 @@ int tty_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
 }
 
 
-int tty_open(uint8_t minor, uint16_t flag)
+int tty_open(uint_fast8_t minor, uint16_t flag)
 {
        struct tty *t;
        irqflags_t irq;
@@ -223,7 +223,7 @@ void tty_post(inoptr ino, uint_fast8_t minor, uint16_t flag)
        irqrestore(irq);
 }
 
-int tty_close(uint8_t minor)
+int tty_close(uint_fast8_t minor)
 {
         struct tty *t = &ttydata[minor];
         if (--t->users)
@@ -254,7 +254,7 @@ void tty_exit(void)
                 *pgrp = 0;
 }
 
-int tty_ioctl(uint8_t minor, uarg_t request, char *data)
+int tty_ioctl(uint_fast8_t minor, uarg_t request, char *data)
 {                              /* Data in User Space */
         struct tty *t;
         uint_fast8_t waito = 0;
@@ -604,32 +604,32 @@ void tty_carrier_raise(uint_fast8_t minor)
 
 static uint8_t ptyusers[PTY_PAIR];
 
-int ptty_open(uint8_t minor, uint16_t flag)
+int ptty_open(uint_fast8_t minor, uint16_t flag)
 {
        return tty_open(minor + PTY_OFFSET, flag);
 }
 
-int ptty_close(uint8_t minor)
+int ptty_close(uint_fast8_t minor)
 {
        return tty_close(minor + PTY_OFFSET);
 }
 
-int ptty_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int ptty_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        return tty_write(minor + PTY_OFFSET, rawflag, flag);
 }
 
-int ptty_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int ptty_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        return tty_read(minor + PTY_OFFSET, rawflag, flag);
 }
 
-int ptty_ioctl(uint8_t minor, uint16_t request, char *data)
+int ptty_ioctl(uint_fast8_t minor, uint16_t request, char *data)
 {
        return tty_ioctl(minor + PTY_OFFSET, rawflag, flag);
 }
 
-int pty_open(uint8_t minor, uint16_t flag)
+int pty_open(uint_fast8_t minor, uint16_t flag)
 {
        int r = tty_open(minor + PTY_OFFSET, flag | O_NOCTTY | O_NDELAY);
        if (r == 0) {
@@ -640,7 +640,7 @@ int pty_open(uint8_t minor, uint16_t flag)
        return r;
 }
 
-int pty_close(uint8_t minor)
+int pty_close(uint_fast8_t minor)
 {
        ptyusers[minor]--;
        if (ptyusers[minor] == 0)
@@ -648,7 +648,7 @@ int pty_close(uint8_t minor)
        return tty_close(minor + PTY_OFFSET);
 }
 
-int pty_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int pty_write(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        uint16_t nwritten;
        minor += PTY_OFFSET;
@@ -671,7 +671,7 @@ int pty_write(uint8_t minor, uint8_t rawflag, uint8_t flag)
        return nwritten;
 }
 
-int pty_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
+int pty_read(uint_fast8_t minor, uint_fast8_t rawflag, uint_fast8_t flag)
 {
        struct s_queue q = &ttyinq[minor + PTY_OFFSET + PTY_PAIR];
        char c;
@@ -692,12 +692,12 @@ int pty_read(uint8_t minor, uint8_t rawflag, uint8_t flag)
        return nread;
 }
 
-int pty_ioctl(uint8_t minor, uint16_t request, char *data)
+int pty_ioctl(uint_fast8_t minor, uint16_t request, char *data)
 {
        return tty_ioctl(minor + PTY_OFFSET, rawflag, flag);
 }
 
-void pty_putc_wait(uint8_t minor, char c)
+void pty_putc_wait(uint_fast8_t minor, char c)
 {
        struct s_queue q = &ptyq[minor + PTY_OFFSET + PTY_PAIR];
        /* tty output queue to pty */