bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Use -Wstrict-prototypes and fix warnings


From: Flavio Cruz
Subject: [PATCH] Use -Wstrict-prototypes and fix warnings
Date: Tue, 20 Dec 2022 20:01:02 -0500

Most of the changes include defining and using proper function type
declarations (with argument types declared) and avoiding using the
K&R style of function declarations.
---
 Makefile.am               |  2 +-
 chips/busses.h            |  6 ++---
 device/blkio.c            | 44 -----------------------------------
 device/buf.h              |  6 -----
 device/conf.h             | 12 ++++++----
 device/dev_hdr.h          |  4 +++-
 device/dev_lookup.c       | 12 ++++------
 device/dev_name.c         |  9 ++++++--
 device/net_io.c           |  2 +-
 device/net_io.h           |  4 +++-
 gensym.awk                |  2 +-
 i386/i386/ipl.h           |  4 +++-
 i386/i386/pcb.c           |  2 +-
 i386/i386/pcb.h           |  2 +-
 i386/i386at/com.c         |  2 +-
 i386/i386at/conf.c        | 48 +++++++++++++++++++--------------------
 i386/i386at/ioapic.c      |  6 ++---
 i386/i386at/kd.c          | 41 ++++++++++++++-------------------
 i386/i386at/kd_mouse.c    |  2 +-
 i386/i386at/kdsoft.h      | 13 +++++------
 include/mach/error.h      |  2 --
 include/mach/mig_errors.h |  2 +-
 ipc/ipc_mqueue.c          |  4 ++--
 ipc/ipc_mqueue.h          |  2 +-
 ipc/mach_msg.c            | 10 ++++----
 kern/exception.c          |  5 ++--
 kern/ipc_mig.c            |  5 +---
 kern/syscall_sw.h         |  8 ++++---
 vm/memory_object.c        |  6 ++---
 vm/vm_debug.c             |  6 ++---
 vm/vm_fault.c             | 18 +++++++--------
 vm/vm_fault.h             |  7 ++++--
 vm/vm_kern.c              |  2 +-
 vm/vm_map.c               | 14 +++++-------
 vm/vm_map.h               | 14 ++++++++----
 vm/vm_user.c              | 11 ++++-----
 36 files changed, 144 insertions(+), 195 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 8870c7ac..7abe37b5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -61,7 +61,7 @@ AM_CCASFLAGS += \
 # Yes, this makes the eyes hurt.  But perhaps someone will finally take care of
 # all that scruffy Mach code...  Also see <http://savannah.gnu.org/task/?5726>.
 AM_CFLAGS += \
-       -Wall
+       -Wall -Wstrict-prototypes
 
 # We need the GNU-style inline
 AM_CFLAGS += \
diff --git a/chips/busses.h b/chips/busses.h
index f728add0..90eebc67 100644
--- a/chips/busses.h
+++ b/chips/busses.h
@@ -73,7 +73,7 @@ struct bus_ctlr {
        struct bus_driver  *driver;     /* myself, as a device */
        char               *name;       /* readability */
        int                 unit;       /* index in driver */
-       void              (*intr)();    /* interrupt handler(s) */
+       void              (*intr)(int); /* interrupt handler(s) */
        vm_offset_t         address;    /* device virtual address */
        int                 am;         /* address modifier */
        vm_offset_t         phys_address;/* device phys address */
@@ -93,7 +93,7 @@ struct bus_device {
        struct bus_driver  *driver;     /* autoconf info */
        char               *name;       /* my name */
        int                 unit;
-       void              (*intr)();
+       void              (*intr)(int);
        vm_offset_t         address;    /* device address */
        int                 am;         /* address modifier */
        vm_offset_t         phys_address;/* device phys address */
@@ -131,7 +131,7 @@ struct bus_driver {
                        vm_offset_t);
        void    (*attach)(              /* setup driver after probe */
                        struct bus_device *);
-       int     (*dgo)();               /* start transfer */
+       int     (*dgo)(struct bus_device *);            /* start transfer */
        vm_offset_t *addr;              /* device csr addresses */
        char    *dname;                 /* name of a device */
        struct  bus_device **dinfo;     /* backpointers to init structs */
diff --git a/device/blkio.c b/device/blkio.c
index 7ec1f2cf..62fc6295 100644
--- a/device/blkio.c
+++ b/device/blkio.c
@@ -37,50 +37,6 @@
 #include <device/ds_routines.h>
 
 
-
-io_return_t block_io(
-       void                    (*strat)(),
-       void                    (*max_count)(),
-       io_req_t                ior)
-{
-       kern_return_t           rc;
-       boolean_t               wait = FALSE;
-
-       /*
-        * Make sure the size is not too large by letting max_count
-        * change io_count.  If we are doing a write, then io_alloc_size
-        * preserves the original io_count.
-        */
-       (*max_count)(ior);
-
-       /*
-        * If reading, allocate memory.  If writing, wire
-        * down the incoming memory.
-        */
-       if (ior->io_op & IO_READ)
-           rc = device_read_alloc(ior, (vm_size_t)ior->io_count);
-       else
-           rc = device_write_get(ior, &wait);
-
-       if (rc != KERN_SUCCESS)
-           return (rc);
-
-       /*
-        * Queue the operation for the device.
-        */
-       (*strat)(ior);
-
-       /*
-        * The io is now queued.  Wait for it if needed.
-        */
-       if (wait) {
-               iowait(ior);
-               return(D_SUCCESS);
-       }
-
-       return (D_IO_QUEUED);
-}
-
 /*
  * 'standard' max_count routine.  VM continuations mean that this
  * code can cope with arbitrarily-sized write operations (they won't be
diff --git a/device/buf.h b/device/buf.h
index a79ed8e4..7c8a4362 100644
--- a/device/buf.h
+++ b/device/buf.h
@@ -82,12 +82,6 @@
 
 #define        B_MD1           IO_SPARE_START
 
-/*
- * Redefine physio routine
- */
-#define        physio(strat, xbuf, dev, ops, minphys, ior) \
-               block_io(strat, minphys, ior)
-
 /*
  * Export standard minphys routine.
  */
diff --git a/device/conf.h b/device/conf.h
index 1af00285..8177966b 100644
--- a/device/conf.h
+++ b/device/conf.h
@@ -36,6 +36,7 @@
 #include <mach/port.h>
 #include <mach/vm_prot.h>
 #include <device/device_types.h>
+#include <device/net_status.h>
 
 struct io_req;
 typedef struct io_req *io_req_t;
@@ -54,20 +55,20 @@ struct dev_ops {
        int             (*d_getstat)(dev_t, dev_flavor_t, dev_status_t, 
mach_msg_type_number_t *);      /* get status/control */
        int             (*d_setstat)(dev_t, dev_flavor_t, dev_status_t, 
mach_msg_type_number_t);        /* set status/control */
        vm_offset_t     (*d_mmap)(dev_t, vm_offset_t, vm_prot_t);       /* map 
memory */
-       int             (*d_async_in)();                /* asynchronous input 
setup */
-       int             (*d_reset)();                   /* reset device */
+       int             (*d_async_in)(dev_t, const ipc_port_t, int, filter_t*, 
unsigned int);           /* asynchronous input setup */
+       int             (*d_reset)(dev_t);              /* reset device */
        int             (*d_port_death)(dev_t, mach_port_t);
                                        /* clean up reply ports */
        int             d_subdev;       /* number of sub-devices per
                                           unit */
-       int             (*d_dev_info)(); /* driver info for kernel */
+       int             (*d_dev_info)(dev_t, int, int*); /* driver info for 
kernel */
 };
 typedef struct dev_ops *dev_ops_t;
 
 /*
  * Routines for null entries.
  */
-extern int     nulldev(void);          /* no operation - OK */
+extern int     nulldev_reset(dev_t dev);
 extern int     nulldev_open(dev_t dev, int flag, io_req_t ior);
 extern void    nulldev_close(dev_t dev, int flags);
 extern int     nulldev_read(dev_t dev, io_req_t ior);
@@ -75,7 +76,8 @@ extern int    nulldev_write(dev_t dev, io_req_t ior);
 extern io_return_t     nulldev_getstat(dev_t dev, dev_flavor_t flavor, 
dev_status_t data, mach_msg_type_number_t *count);
 extern io_return_t     nulldev_setstat(dev_t dev, dev_flavor_t flavor, 
dev_status_t data, mach_msg_type_number_t count);
 extern io_return_t     nulldev_portdeath(dev_t dev, mach_port_t port);
-extern int     nodev(void);            /* no operation - error */
+extern int nodev_async_in(dev_t, const ipc_port_t, int, filter_t*, unsigned 
int); /* no operation - error */
+extern int nodev_info(dev_t, int, int*); /* no operation - error */
 extern vm_offset_t     nomap(dev_t dev, vm_offset_t off, int prot);            
/* no operation - error */
 
 /*
diff --git a/device/dev_hdr.h b/device/dev_hdr.h
index 4bd12c1c..56e0d825 100644
--- a/device/dev_hdr.h
+++ b/device/dev_hdr.h
@@ -119,10 +119,12 @@ device_t  dev_port_lookup(ipc_port_t);
 void           dev_port_enter(mach_device_t);
 void           dev_port_remove(mach_device_t);
 
+typedef boolean_t (*dev_map_fn)(mach_device_t, mach_port_t);
+
 /*
  * To call a routine on each device
  */
-boolean_t      dev_map(boolean_t (*)(), mach_port_t);
+boolean_t      dev_map(dev_map_fn, mach_port_t);
 
 /*
  * To lock and unlock state and open-count
diff --git a/device/dev_lookup.c b/device/dev_lookup.c
index 9af7508c..e9d38925 100644
--- a/device/dev_lookup.c
+++ b/device/dev_lookup.c
@@ -70,8 +70,7 @@ struct kmem_cache     dev_hdr_cache;
  * The number table lock must be held.
  */
 void
-dev_number_enter(device)
-       const mach_device_t     device;
+dev_number_enter(const mach_device_t device)
 {
        queue_t q;
 
@@ -84,8 +83,7 @@ dev_number_enter(device)
  * The device-number table lock must be held.
  */
 void
-dev_number_remove(device)
-       const mach_device_t     device;
+dev_number_remove(const mach_device_t device)
 {
        queue_t q;
 
@@ -98,9 +96,7 @@ dev_number_remove(device)
  * The number table lock must be held.
  */
 mach_device_t
-dev_number_lookup(ops, devnum)
-       const dev_ops_t ops;
-       int             devnum;
+dev_number_lookup(const dev_ops_t ops, int devnum)
 {
        queue_t q;
        mach_device_t   device;
@@ -316,7 +312,7 @@ convert_device_to_port(device)
  */
 boolean_t
 dev_map(
-       boolean_t       (*routine)(),
+       dev_map_fn      routine,
        mach_port_t     port)
 {
        int             i;
diff --git a/device/dev_name.c b/device/dev_name.c
index 59ea961b..13ff6dc9 100644
--- a/device/dev_name.c
+++ b/device/dev_name.c
@@ -39,7 +39,7 @@
 /*
  * Routines placed in empty entries in the device tables
  */
-int nulldev(void)
+int nulldev_reset(dev_t)
 {
        return (D_SUCCESS);
 }
@@ -78,7 +78,12 @@ int nulldev_portdeath(dev_t dev, mach_port_t port)
        return (D_SUCCESS);
 }
 
-int nodev(void)
+int nodev_async_in(dev_t, const ipc_port_t, int, filter_t*, unsigned int)
+{
+       return (D_INVALID_OPERATION);
+}
+
+int nodev_info(dev_t, int, int*)
 {
        return (D_INVALID_OPERATION);
 }
diff --git a/device/net_io.c b/device/net_io.c
index 72b040a0..338b433c 100644
--- a/device/net_io.c
+++ b/device/net_io.c
@@ -1437,7 +1437,7 @@ printf ("net_getstat: count: %d, addr_int_count: %d\n",
 io_return_t
 net_write(
        struct          ifnet *ifp,
-       int             (*start)(),
+       net_write_start_device_fn       start,
        io_req_t        ior)
 {
        spl_t   s;
diff --git a/device/net_io.h b/device/net_io.h
index 9468e34b..c9af85ee 100644
--- a/device/net_io.h
+++ b/device/net_io.h
@@ -79,7 +79,9 @@ extern void net_packet(struct ifnet *, ipc_kmsg_t, unsigned 
int, boolean_t);
 extern void net_filter(ipc_kmsg_t, ipc_kmsg_queue_t);
 extern io_return_t net_getstat(struct ifnet *, dev_flavor_t, dev_status_t,
                               mach_msg_type_number_t *);
-extern io_return_t net_write(struct ifnet *, int (*)(), io_req_t);
+
+typedef int (*net_write_start_device_fn)(short);
+extern io_return_t net_write(struct ifnet *, net_write_start_device_fn, 
io_req_t);
 
 /*
  * Non-interrupt code may allocate and free net_kmsgs with these functions.
diff --git a/gensym.awk b/gensym.awk
index f5eabae5..63c2f440 100644
--- a/gensym.awk
+++ b/gensym.awk
@@ -27,7 +27,7 @@ BEGIN {
 /^[a-z]/ {
        if (bogus_printed == "no")
        {
-               print "void bogus() {";
+               print "void bogus(void) {";
                bogus_printed = "yes";
        }
 }
diff --git a/i386/i386/ipl.h b/i386/i386/ipl.h
index fb939789..20e7428b 100644
--- a/i386/i386/ipl.h
+++ b/i386/i386/ipl.h
@@ -72,7 +72,9 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #ifdef KERNEL
 #ifndef        __ASSEMBLER__
 #include <machine/machspl.h>
-extern void    (*ivect[])();
+/* Note that interrupts have varying signatures */
+typedef void (*interrupt_handler_fn)(int);
+extern interrupt_handler_fn ivect[];
 extern int     iunit[];
 extern spl_t   curr_ipl;
 #endif /* __ASSEMBLER__ */
diff --git a/i386/i386/pcb.c b/i386/i386/pcb.c
index 5ac487b7..ef300537 100644
--- a/i386/i386/pcb.c
+++ b/i386/i386/pcb.c
@@ -332,7 +332,7 @@ void load_context(thread_t new)
  */
 thread_t switch_context(
        thread_t        old,
-       void            (*continuation)(),
+       continuation_t  continuation,
        thread_t        new)
 {
        /*
diff --git a/i386/i386/pcb.h b/i386/i386/pcb.h
index 5bc78066..4d48b9f7 100644
--- a/i386/i386/pcb.h
+++ b/i386/i386/pcb.h
@@ -77,7 +77,7 @@ extern void update_ktss_iopb (unsigned char *new_iopb, 
io_port_t size);
 
 extern thread_t Load_context (thread_t new);
 
-extern thread_t Switch_context (thread_t old, void (*continuation)(), thread_t 
new);
+extern thread_t Switch_context (thread_t old, continuation_t continuation, 
thread_t new);
 
 extern void switch_to_shutdown_context(thread_t thread,
                                   void (*routine)(processor_t),
diff --git a/i386/i386at/com.c b/i386/i386at/com.c
index 8bd80206..c63c30a4 100644
--- a/i386/i386at/com.c
+++ b/i386/i386at/com.c
@@ -49,7 +49,7 @@
 
 #include <device/cons.h>
 
-static void comparam();
+static void comparam(int);
 
 static vm_offset_t com_std[NCOM] = { 0 };
 struct bus_device *cominfo[NCOM];
diff --git a/i386/i386at/conf.c b/i386/i386at/conf.c
index ca5d0dfb..ecbf1e45 100644
--- a/i386/i386at/conf.c
+++ b/i386/i386at/conf.c
@@ -86,76 +86,76 @@ struct dev_ops      dev_name_list[] =
           indirect list */
        { "cn",         nulldev_open,   nulldev_close,  nulldev_read,
          nulldev_write,        nulldev_getstat,        nulldev_setstat,        
nomap,
-         nodev,        nulldev,        nulldev_portdeath,      0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  nulldev_portdeath,      0,
+         nodev_info},
 
 #ifndef        MACH_HYP
 #if    ENABLE_IMMEDIATE_CONSOLE
        { "immc",       nulldev_open,   nulldev_close,  nulldev_read,
          nulldev_write,        nulldev_getstat,        nulldev_setstat,
-         nomap,        nodev,  nulldev,        nulldev_portdeath,      0,
-         nodev },
+         nomap,        nodev_async_in, nulldev_reset,  nulldev_portdeath,      
0,
+         nodev_info },
 #endif /* ENABLE_IMMEDIATE_CONSOLE */
        { kdname,       kdopen,         kdclose,        kdread,
          kdwrite,      kdgetstat,      kdsetstat,      kdmmap,
-         nodev,        nulldev,        kdportdeath,    0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  kdportdeath,    0,
+         nodev_info },
 #endif /* MACH_HYP */
 
        { timename,     timeopen,       timeclose,      nulldev_read,
          nulldev_write,        nulldev_getstat,        nulldev_setstat,        
timemmap,
-         nodev,        nulldev,        nulldev_portdeath,      0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  nulldev_portdeath,      0,
+         nodev_info },
 
 #ifndef        MACH_HYP
 #if    NCOM > 0
        { comname,      comopen,        comclose,       comread,
          comwrite,     comgetstat,     comsetstat,     nomap,
-         nodev,        nulldev,        comportdeath,   0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  comportdeath,   0,
+         nodev_info },
 #endif
 
 #ifdef MACH_LPR
        { lprname,      lpropen,        lprclose,       lprread,
          lprwrite,     lprgetstat,     lprsetstat,     nomap,
-         nodev,        nulldev,        lprportdeath,   0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  lprportdeath,   0,
+         nodev_info },
 #endif
 
        { mousename,    mouseopen,      mouseclose,     mouseread,
          nulldev_write,        mousegetstat,   nulldev_setstat,        nomap,
-         nodev,        nulldev,        nulldev_portdeath,      0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  nulldev_portdeath,      0,
+         nodev_info },
 
        { kbdname,      kbdopen,        kbdclose,       kbdread,
          nulldev_write,        kbdgetstat,     kbdsetstat,     nomap,
-         nodev,        nulldev,        nulldev_portdeath,      0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  nulldev_portdeath,      0,
+         nodev_info },
 
        { memname,      nulldev_open,   nulldev_close,  nulldev_read,
          nulldev_write,        nulldev_getstat,        nulldev_setstat,        
        memmmap,
-         nodev,        nulldev,        nulldev_portdeath,      0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  nulldev_portdeath,      0,
+         nodev_info },
 #endif /* MACH_HYP */
 
 #ifdef MACH_KMSG
         { kmsgname,     kmsgopen,       kmsgclose,       kmsgread,
           nulldev_write,        kmsggetstat,    nulldev_setstat,           
nomap,
-          nodev,        nulldev,        nulldev_portdeath,         0,
-          nodev },
+          nodev_async_in,        nulldev_reset,        nulldev_portdeath,      
   0,
+          nodev_info },
 #endif
 
 #ifdef MACH_HYP
        { hypcnname,    hypcnopen,      hypcnclose,     hypcnread,
          hypcnwrite,   hypcngetstat,   hypcnsetstat,   nomap,
-         nodev,        nulldev,        hypcnportdeath, 0,
-         nodev },
+         nodev_async_in,       nulldev_reset,  hypcnportdeath, 0,
+         nodev_info },
 #endif /* MACH_HYP */
 
         { irqname,      nulldev_open,   nulldev_close,    nulldev_read,
           nulldev_write,nulldev_getstat,nulldev_setstat,  nomap,
-          nodev,        nulldev,        nulldev_portdeath,0,
-          nodev },
+          nodev_async_in,        nulldev_reset,        nulldev_portdeath,0,
+          nodev_info },
 
 };
 int    dev_name_count = sizeof(dev_name_list)/sizeof(dev_name_list[0]);
diff --git a/i386/i386at/ioapic.c b/i386/i386at/ioapic.c
index e5523488..3373aa71 100644
--- a/i386/i386at/ioapic.c
+++ b/i386/i386at/ioapic.c
@@ -43,7 +43,7 @@ spl_t curr_ipl;
 int iunit[NINTR] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
                     16, 17, 18, 19, 20, 21, 22, 23};
 
-void (*ivect[NINTR])() = {
+interrupt_handler_fn ivect[NINTR] = {
     /* 00 */   intnull,        /* install timer later */
     /* 01 */   kdintr,         /* kdintr, ... */
     /* 02 */   intnull,
@@ -402,8 +402,8 @@ ioapic_configure(void)
 
     /* Install clock interrupt handler on both remapped timer pin and pin 0
      * since nobody knows how all x86 timers are wired up */
-    ivect[0] = hardclock;
-    ivect[timer_pin] = hardclock;
+    ivect[0] = (interrupt_handler_fn)hardclock;
+    ivect[timer_pin] = (interrupt_handler_fn)hardclock;
 
     printf("IOAPIC 0 configured\n");
 }
diff --git a/i386/i386at/kd.c b/i386/i386at/kd.c
index b5501873..5b932889 100644
--- a/i386/i386at/kd.c
+++ b/i386/i386at/kd.c
@@ -107,20 +107,24 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 struct tty       kd_tty;
 extern boolean_t rebootflag;
 
-static void charput(), charmvup(), charmvdown(), charclear(), charsetcursor();
+static void charput(csrpos_t pos, char ch, char chattr);
+static void charmvup(csrpos_t from, csrpos_t to, int count);
+static void charmvdown(csrpos_t from, csrpos_t to, int count);
+static void charclear(csrpos_t to, int count, char chattr);
+static void charsetcursor(csrpos_t newpos);
 static void kd_noopreset(void);
 
 /*
  * These routines define the interface to the device-specific layer.
  * See kdsoft.h for a more complete description of what each routine does.
  */
-void   (*kd_dput)()    = charput;      /* put attributed char */
-void   (*kd_dmvup)()   = charmvup;     /* block move up */
-void   (*kd_dmvdown)() = charmvdown;   /* block move down */
-void   (*kd_dclear)()  = charclear;    /* block clear */
-void   (*kd_dsetcursor)() = charsetcursor;
+void   (*kd_dput)(csrpos_t, char, char) = charput;     /* put attributed char 
*/
+void   (*kd_dmvup)(csrpos_t, csrpos_t, int)    = charmvup;     /* block move 
up */
+void   (*kd_dmvdown)(csrpos_t, csrpos_t, int)  = charmvdown;   /* block move 
down */
+void   (*kd_dclear)(csrpos_t, int, char)       = charclear;    /* block clear 
*/
+void   (*kd_dsetcursor)(csrpos_t) = charsetcursor;
                                /* set cursor position on displayed page */
-void   (*kd_dreset)() = kd_noopreset;  /* prepare for reboot */
+void   (*kd_dreset)(void) = kd_noopreset;      /* prepare for reboot */
 
 /*
  * Globals used for both character-based controllers and bitmap-based
@@ -2488,7 +2492,7 @@ int new_button = 0;
 void
 kd_xga_init(void)
 {
-       csrpos_t        xga_getpos();
+       csrpos_t        xga_getpos(void);
        unsigned char   start, stop;
 
 #if 0
@@ -2610,10 +2614,7 @@ xga_getpos(void)
  *     Put attributed character for EGA/CGA/etc.
  */
 static void
-charput(pos, ch, chattr)
-csrpos_t pos;                          /* where to put it */
-char   ch;                             /* the character */
-char   chattr;                         /* its attribute */
+charput(csrpos_t pos, char ch, char chattr)
 {
        *(vid_start + pos) = ch;
        *(vid_start + pos + 1) = chattr;
@@ -2626,8 +2627,7 @@ char      chattr;                         /* its 
attribute */
  *     Set hardware cursor position for EGA/CGA/etc.
  */
 static void
-charsetcursor(newpos)
-csrpos_t newpos;
+charsetcursor(csrpos_t newpos)
 {
        short curpos;           /* position, not scaled for attribute byte */
 
@@ -2647,9 +2647,7 @@ csrpos_t newpos;
  *     Block move up for EGA/CGA/etc.
  */
 static void
-charmvup(from, to, count)
-csrpos_t from, to;
-int count;
+charmvup(csrpos_t from, csrpos_t to, int count)
 {
        kd_slmscu(vid_start+from, vid_start+to, count);
 }
@@ -2661,9 +2659,7 @@ int count;
  *     Block move down for EGA/CGA/etc.
  */
 static void
-charmvdown(from, to, count)
-csrpos_t from, to;
-int count;
+charmvdown(csrpos_t from, csrpos_t to, int count)
 {
        kd_slmscd(vid_start+from, vid_start+to, count);
 }
@@ -2675,10 +2671,7 @@ int count;
  *     Fast clear for CGA/EGA/etc.
  */
 static void
-charclear(to, count, chattr)
-csrpos_t to;
-int    count;
-char   chattr;
+charclear(csrpos_t to, int count, char chattr)
 {
        kd_slmwd(vid_start+to, count, ((unsigned short)chattr<<8)+K_SPACE);
 }
diff --git a/i386/i386at/kd_mouse.c b/i386/i386at/kd_mouse.c
index 7dd1c272..3af21273 100644
--- a/i386/i386at/kd_mouse.c
+++ b/i386/i386at/kd_mouse.c
@@ -82,7 +82,7 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 #include "kd_mouse.h"
 
-static void (*oldvect)();              /* old interrupt vector */
+static interrupt_handler_fn oldvect;   /* old interrupt vector */
 static int oldunit;
 extern struct  bus_device *cominfo[];
 
diff --git a/i386/i386at/kdsoft.h b/i386/i386at/kdsoft.h
index 1dfd2b2c..79bfdb06 100644
--- a/i386/i386at/kdsoft.h
+++ b/i386/i386at/kdsoft.h
@@ -145,13 +145,12 @@ extern void bmpmvdown(csrpos_t, csrpos_t, int);
 extern void bmpclear(csrpos_t, int, char);
 extern void bmpsetcursor(csrpos_t);
 
-extern void    (*kd_dput)();           /* put attributed char */
-extern void    (*kd_dmvup)();          /* block move up */
-extern void    (*kd_dmvdown)();        /* block move down */
-extern void    (*kd_dclear)();         /* block clear */
-extern void    (*kd_dsetcursor)();
-                               /* set cursor position on displayed page */
-extern void    (*kd_dreset)();         /* prepare for reboot */
+extern void    (*kd_dput)(csrpos_t, char, char);       /* put attributed char 
*/
+extern void    (*kd_dmvup)(csrpos_t, csrpos_t, int);   /* block move up */
+extern void    (*kd_dmvdown)(csrpos_t, csrpos_t, int); /* block move down */
+extern void    (*kd_dclear)(csrpos_t, int, char);      /* block clear */
+extern void    (*kd_dsetcursor)(csrpos_t);             /* set cursor position 
on displayed page */
+extern void    (*kd_dreset)(void);             /* prepare for reboot */
 
 
 /*
diff --git a/include/mach/error.h b/include/mach/error.h
index 72a2d79c..035dcf83 100644
--- a/include/mach/error.h
+++ b/include/mach/error.h
@@ -44,7 +44,6 @@
 
 #define        err_none                (mach_error_t)0
 #define ERR_SUCCESS            (mach_error_t)0
-#define        ERR_ROUTINE_NIL         (mach_error_fn_t)0
 
 
 #define        err_system(x)           (((x)&0x3f)<<26)
@@ -89,7 +88,6 @@
 
 #ifndef __ASSEMBLER__
 typedef        kern_return_t   mach_error_t;
-typedef mach_error_t   (* mach_error_fn_t)();
 #endif /* __ASSEMBLER__ */
 
 #endif /* _MACH_ERROR_H_ */
diff --git a/include/mach/mig_errors.h b/include/mach/mig_errors.h
index 5758ccf3..389ce778 100644
--- a/include/mach/mig_errors.h
+++ b/include/mach/mig_errors.h
@@ -68,7 +68,7 @@ typedef struct mig_symtab {
 #else
        int
 #endif
-               (*ms_routine)();
+               (*ms_routine)(void);
 } mig_symtab_t;
 
 /*
diff --git a/ipc/ipc_mqueue.c b/ipc/ipc_mqueue.c
index a371a625..ac6bed51 100644
--- a/ipc/ipc_mqueue.c
+++ b/ipc/ipc_mqueue.c
@@ -259,7 +259,7 @@ ipc_mqueue_send(
 
                ip_unlock(port);
                counter(c_ipc_mqueue_send_block++);
-               thread_block((void (*)(void)) 0);
+               thread_block(thread_no_continuation);
                ip_lock(port);
 
                /* why did we wake up? */
@@ -520,7 +520,7 @@ ipc_mqueue_receive(
        mach_msg_size_t         max_size,
        mach_msg_timeout_t      time_out,
        boolean_t               resume,
-       void                    (*continuation)(void),
+       continuation_t          continuation,
        ipc_kmsg_t              *kmsgp,
        mach_port_seqno_t       *seqnop)
 {
diff --git a/ipc/ipc_mqueue.h b/ipc/ipc_mqueue.h
index efca6817..dfac7456 100644
--- a/ipc/ipc_mqueue.h
+++ b/ipc/ipc_mqueue.h
@@ -75,7 +75,7 @@ ipc_mqueue_copyin(ipc_space_t, mach_port_name_t, ipc_mqueue_t 
*, ipc_object_t *)
 extern mach_msg_return_t
 ipc_mqueue_receive(ipc_mqueue_t, mach_msg_option_t,
                   mach_msg_size_t, mach_msg_timeout_t,
-                  boolean_t, void (*)(),
+                  boolean_t, continuation_t,
                   ipc_kmsg_t *, mach_port_seqno_t *);
 
 /*
diff --git a/ipc/mach_msg.c b/ipc/mach_msg.c
index aa8cdb5b..420e2a26 100644
--- a/ipc/mach_msg.c
+++ b/ipc/mach_msg.c
@@ -789,7 +789,7 @@ mach_msg_trap(
                self->ith_object = rcv_object;
                self->ith_mqueue = rcv_mqueue;
 
-               if ((receiver->swap_func == (void (*)()) mach_msg_continue) &&
+               if ((receiver->swap_func == mach_msg_continue) &&
                    thread_handoff(self, mach_msg_continue, receiver)) {
                        assert(current_thread() == receiver);
 
@@ -798,7 +798,7 @@ mach_msg_trap(
                         *      because the receiver is using no options.
                         */
                } else if ((receiver->swap_func ==
-                               (void (*)()) exception_raise_continue) &&
+                               exception_raise_continue) &&
                           thread_handoff(self, mach_msg_continue, receiver)) {
                        counter(c_mach_msg_trap_block_exc++);
                        assert(current_thread() == receiver);
@@ -830,7 +830,7 @@ mach_msg_trap(
                        assert(current_thread() == receiver);
 
                        if ((receiver->swap_func ==
-                               (void (*)()) mach_msg_receive_continue) &&
+                               mach_msg_receive_continue) &&
                            ((receiver->ith_option & MACH_RCV_NOTIFY) == 0)) {
                                /*
                                 *      We can still use the optimized code.
@@ -1669,8 +1669,8 @@ mach_msg_interrupt(thread_t thread)
 {
        ipc_mqueue_t mqueue;
 
-       assert((thread->swap_func == (void (*)()) mach_msg_continue) ||
-              (thread->swap_func == (void (*)()) mach_msg_receive_continue));
+       assert((thread->swap_func == mach_msg_continue) ||
+              (thread->swap_func == mach_msg_receive_continue));
 
        mqueue = thread->ith_mqueue;
        imq_lock(mqueue);
diff --git a/kern/exception.c b/kern/exception.c
index 2ff122f2..0d8191a7 100644
--- a/kern/exception.c
+++ b/kern/exception.c
@@ -449,9 +449,8 @@ exception_raise(
 
        receiver = ipc_thread_queue_first(&dest_mqueue->imq_threads);
        if ((receiver == ITH_NULL) ||
-           !((receiver->swap_func == (void (*)()) mach_msg_continue) ||
-             ((receiver->swap_func ==
-                               (void (*)()) mach_msg_receive_continue) &&
+           !((receiver->swap_func == mach_msg_continue) ||
+             ((receiver->swap_func == mach_msg_receive_continue) &&
               (sizeof(struct mach_exception) <= receiver->ith_msize) &&
               ((receiver->ith_option & MACH_RCV_NOTIFY) == 0))) ||
            !thread_handoff(self, exception_raise_continue, receiver)) {
diff --git a/kern/ipc_mig.c b/kern/ipc_mig.c
index 7ed12faa..f353009e 100644
--- a/kern/ipc_mig.c
+++ b/kern/ipc_mig.c
@@ -285,10 +285,7 @@ mig_put_reply_port(
  *     len - Length of destination buffer.
  */
 vm_size_t
-mig_strncpy(dest, src, len)
-       char *dest;
-       const char *src;
-       int len;
+mig_strncpy(char *dest, const char *src, int len)
 {
        char *dest_ = dest;
        int i;
diff --git a/kern/syscall_sw.h b/kern/syscall_sw.h
index 80b1810b..34eaf90b 100644
--- a/kern/syscall_sw.h
+++ b/kern/syscall_sw.h
@@ -35,9 +35,11 @@
  *     Note: this is indexed manually by locore.S!
  */
 
+typedef void (*generic_trap_function)(void);
+
 typedef struct {
        int             mach_trap_arg_count;
-       int             (*mach_trap_function)();
+       generic_trap_function mach_trap_function;
        boolean_t       mach_trap_stack;
        const char      *mach_trap_name;
 } mach_trap_t;
@@ -46,8 +48,8 @@ extern mach_trap_t    mach_trap_table[];
 extern int             mach_trap_count;
 
 #define        MACH_TRAP(name, arg_count)              \
-               { (arg_count), (int (*)()) (name), FALSE, #name }
+               { (arg_count), (generic_trap_function) (name), FALSE, #name }
 #define        MACH_TRAP_STACK(name, arg_count)        \
-               { (arg_count), (int (*)()) (name), TRUE, #name }
+               { (arg_count), (generic_trap_function) (name), TRUE, #name }
 
 #endif /* _KERN_SYSCALL_SW_H_ */
diff --git a/vm/memory_object.c b/vm/memory_object.c
index ad93f87c..464a036e 100644
--- a/vm/memory_object.c
+++ b/vm/memory_object.c
@@ -976,9 +976,9 @@ kern_return_t       memory_object_get_attributes(
 /*
  *     If successful, consumes the supplied naked send right.
  */
-kern_return_t  vm_set_default_memory_manager(host, default_manager)
-       const host_t    host;
-       ipc_port_t      *default_manager;
+kern_return_t  vm_set_default_memory_manager(
+               const host_t host,
+               ipc_port_t *default_manager)
 {
        ipc_port_t current_manager;
        ipc_port_t new_manager;
diff --git a/vm/vm_debug.c b/vm/vm_debug.c
index 4b5c1521..3339d0c8 100644
--- a/vm/vm_debug.c
+++ b/vm/vm_debug.c
@@ -433,10 +433,8 @@ mach_vm_object_pages(
  */
 
 kern_return_t
-host_virtual_physical_table_info(host, infop, countp)
-       const host_t host;
-       hash_info_bucket_array_t *infop;
-       natural_t *countp;
+host_virtual_physical_table_info(const host_t host,
+               hash_info_bucket_array_t *infop, natural_t *countp)
 {
        vm_offset_t addr;
        vm_size_t size = 0;/* '=0' to quiet gcc warnings */
diff --git a/vm/vm_fault.c b/vm/vm_fault.c
index e1dfb06e..44801911 100644
--- a/vm/vm_fault.c
+++ b/vm/vm_fault.c
@@ -70,7 +70,7 @@ typedef struct vm_fault_state {
        vm_offset_t vmf_vaddr;
        vm_prot_t vmf_fault_type;
        boolean_t vmf_change_wiring;
-       void (*vmf_continuation)();
+       vm_fault_continuation_t vmf_continuation;
        vm_map_version_t vmf_version;
        boolean_t vmf_wired;
        struct vm_object *vmf_object;
@@ -218,7 +218,7 @@ vm_fault_return_t vm_fault_page(
                                         */
  /* More arguments: */
        boolean_t       resume,         /* We are restarting. */
-       void            (*continuation)()) /* Continuation for blocking. */
+       continuation_t  continuation)   /* Continuation for blocking. */
 {
        vm_page_t       m;
        vm_object_t     object;
@@ -347,7 +347,7 @@ vm_fault_return_t vm_fault_page(
 
                                PAGE_ASSERT_WAIT(m, interruptible);
                                vm_object_unlock(object);
-                               if (continuation != (void (*)()) 0) {
+                               if (continuation != thread_no_continuation) {
                                        vm_fault_state_t *state =
                                                (vm_fault_state_t *) 
current_thread()->ith_other;
 
@@ -1082,7 +1082,7 @@ vm_fault_return_t vm_fault_page(
     block_and_backoff:
        vm_fault_cleanup(object, first_m);
 
-       if (continuation != (void (*)()) 0) {
+       if (continuation != thread_no_continuation) {
                vm_fault_state_t *state =
                        (vm_fault_state_t *) current_thread()->ith_other;
 
@@ -1149,7 +1149,7 @@ kern_return_t vm_fault(
        vm_prot_t       fault_type,
        boolean_t       change_wiring,
        boolean_t       resume,
-       void            (*continuation)())
+       vm_fault_continuation_t continuation)
 {
        vm_map_version_t        version;        /* Map version for 
verificiation */
        boolean_t               wired;          /* Should mapping be wired 
down? */
@@ -1187,7 +1187,7 @@ kern_return_t vm_fault(
                goto after_vm_fault_page;
        }
 
-       if (continuation != (void (*)()) 0) {
+       if (continuation != vm_fault_no_continuation) {
                /*
                 *      We will probably need to save state.
                 */
@@ -1239,7 +1239,7 @@ kern_return_t vm_fault(
        object->ref_count++;
        vm_object_paging_begin(object);
 
-       if (continuation != (void (*)()) 0) {
+       if (continuation != vm_fault_no_continuation) {
                vm_fault_state_t *state =
                        (vm_fault_state_t *) current_thread()->ith_other;
 
@@ -1293,7 +1293,7 @@ kern_return_t vm_fault(
                        kr = KERN_SUCCESS;
                        goto done;
                case VM_FAULT_MEMORY_SHORTAGE:
-                       if (continuation != (void (*)()) 0) {
+                       if (continuation != vm_fault_no_continuation) {
                                vm_fault_state_t *state =
                                        (vm_fault_state_t *) 
current_thread()->ith_other;
 
@@ -1476,7 +1476,7 @@ kern_return_t vm_fault(
 #undef RELEASE_PAGE
 
     done:
-       if (continuation != (void (*)()) 0) {
+       if (continuation != vm_fault_no_continuation) {
                vm_fault_state_t *state =
                        (vm_fault_state_t *) current_thread()->ith_other;
 
diff --git a/vm/vm_fault.h b/vm/vm_fault.h
index 7fdbc417..ae692b11 100644
--- a/vm/vm_fault.h
+++ b/vm/vm_fault.h
@@ -49,11 +49,14 @@ typedef     kern_return_t   vm_fault_return_t;
 #define VM_FAULT_FICTITIOUS_SHORTAGE   4
 #define VM_FAULT_MEMORY_ERROR          5
 
+typedef void (*vm_fault_continuation_t)(kern_return_t);
+#define vm_fault_no_continuation ((vm_fault_continuation_t)0)
+
 extern void vm_fault_init(void);
 extern vm_fault_return_t vm_fault_page(vm_object_t, vm_offset_t, vm_prot_t,
                                       boolean_t, boolean_t, vm_prot_t *,
                                       vm_page_t *, vm_page_t *, boolean_t,
-                                      void (*)());
+                                      continuation_t);
 
 extern void            vm_fault_cleanup(vm_object_t, vm_page_t);
 /*
@@ -61,7 +64,7 @@ extern void           vm_fault_cleanup(vm_object_t, 
vm_page_t);
  */
 
 extern kern_return_t   vm_fault(vm_map_t, vm_offset_t, vm_prot_t, boolean_t,
-                                boolean_t, void (*)());
+                                boolean_t, vm_fault_continuation_t);
 extern void            vm_fault_wire(vm_map_t, vm_map_entry_t);
 extern void            vm_fault_unwire(vm_map_t, vm_map_entry_t);
 
diff --git a/vm/vm_kern.c b/vm/vm_kern.c
index c624a875..51223d98 100644
--- a/vm/vm_kern.c
+++ b/vm/vm_kern.c
@@ -1014,7 +1014,7 @@ kmem_io_map_copyout(
                        return(ret);
                }
                copy->cpy_cont = vm_map_copy_discard_cont;
-               copy->cpy_cont_args = (char *) new_copy;
+               copy->cpy_cont_args = (vm_map_copyin_args_t)new_copy;
                copy = new_copy;
                page_list = &copy->cpy_page_list[0];
        }
diff --git a/vm/vm_map.c b/vm/vm_map.c
index 4200a239..963aa507 100644
--- a/vm/vm_map.c
+++ b/vm/vm_map.c
@@ -280,8 +280,7 @@ void vm_map_unlock(struct vm_map *map)
 #define        vm_map_copy_entry_create(copy) \
            _vm_map_entry_create(&(copy)->cpy_hdr)
 
-vm_map_entry_t _vm_map_entry_create(map_header)
-       const struct vm_map_header *map_header;
+vm_map_entry_t _vm_map_entry_create(const struct vm_map_header *map_header)
 {
        vm_map_entry_t  entry;
 
@@ -303,9 +302,8 @@ vm_map_entry_t _vm_map_entry_create(map_header)
 #define        vm_map_copy_entry_dispose(map, entry) \
        _vm_map_entry_dispose(&(copy)->cpy_hdr, (entry))
 
-void _vm_map_entry_dispose(map_header, entry)
-       const struct vm_map_header *map_header;
-       vm_map_entry_t  entry;
+void _vm_map_entry_dispose(const struct vm_map_header *map_header,
+               vm_map_entry_t entry)
 {
        (void)map_header;
 
@@ -3810,7 +3808,7 @@ kern_return_t vm_map_copyin_page_list(
        copy->offset = src_addr;
        copy->size = len;
        copy->cpy_cont = ((kern_return_t (*)()) 0);
-       copy->cpy_cont_args = (char *) VM_MAP_COPYIN_ARGS_NULL;
+       copy->cpy_cont_args = VM_MAP_COPYIN_ARGS_NULL;
 
        /*
         *      Find the beginning of the region.
@@ -3900,7 +3898,7 @@ make_continuation:
                            }
                            cont_args->steal_pages = steal_pages;
 
-                           copy->cpy_cont_args = (char *) cont_args;
+                           copy->cpy_cont_args = cont_args;
                            copy->cpy_cont = vm_map_copyin_page_list_cont;
 
                            src_end = src_start;
@@ -4239,7 +4237,7 @@ retry:
                        cont_args->destroy_len = src_end - src_start;
                        cont_args->steal_pages = FALSE;
 
-                       copy->cpy_cont_args = (char *) cont_args;
+                       copy->cpy_cont_args = cont_args;
                        copy->cpy_cont = vm_map_copyin_page_list_cont;
                }
 
diff --git a/vm/vm_map.h b/vm/vm_map.h
index 57bdf651..3d1c9428 100644
--- a/vm/vm_map.h
+++ b/vm/vm_map.h
@@ -255,6 +255,10 @@ typedef struct vm_map_version {
 
 #define VM_MAP_COPY_PAGE_LIST_MAX      64
 
+struct vm_map_copy;
+struct vm_map_copyin_args_data;
+typedef kern_return_t (*vm_map_copy_cont_fn)(struct vm_map_copyin_args_data*, 
struct vm_map_copy**);
+
 typedef struct vm_map_copy {
        int                     type;
 #define VM_MAP_COPY_ENTRY_LIST 1
@@ -270,8 +274,8 @@ typedef struct vm_map_copy {
            struct {                            /* PAGE_LIST */
                vm_page_t               page_list[VM_MAP_COPY_PAGE_LIST_MAX];
                int                     npages;
-               kern_return_t           (*cont)();
-               char                    *cont_args;
+               vm_map_copy_cont_fn cont;
+               struct vm_map_copyin_args_data* cont_args;
            } c_p;
        } c_u;
 } *vm_map_copy_t;
@@ -323,7 +327,7 @@ MACRO_BEGIN                                                 
        \
        (*((old_copy)->cpy_cont))((old_copy)->cpy_cont_args,            \
                                  (vm_map_copy_t *) 0);                 \
        (old_copy)->cpy_cont = (kern_return_t (*)()) 0;                 \
-       (old_copy)->cpy_cont_args = (char *) 0;                         \
+       (old_copy)->cpy_cont_args = VM_MAP_COPYIN_ARGS_NULL;            \
 MACRO_END
 
 #define vm_map_copy_has_cont(copy)                                     \
@@ -333,14 +337,14 @@ MACRO_END
  *     Continuation structures for vm_map_copyin_page_list.
  */
 
-typedef        struct {
+typedef        struct vm_map_copyin_args_data {
        vm_map_t        map;
        vm_offset_t     src_addr;
        vm_size_t       src_len;
        vm_offset_t     destroy_addr;
        vm_size_t       destroy_len;
        boolean_t       steal_pages;
-}  vm_map_copyin_args_data_t, *vm_map_copyin_args_t;
+} vm_map_copyin_args_data_t, *vm_map_copyin_args_t;
 
 #define        VM_MAP_COPYIN_ARGS_NULL ((vm_map_copyin_args_t) 0)
 
diff --git a/vm/vm_user.c b/vm/vm_user.c
index 9e789eba..b3887ad1 100644
--- a/vm/vm_user.c
+++ b/vm/vm_user.c
@@ -430,12 +430,11 @@ kern_return_t vm_map(
  *
  *     [ To unwire the pages, specify VM_PROT_NONE. ]
  */
-kern_return_t vm_wire(port, map, start, size, access)
-       const ipc_port_t        port;
-       vm_map_t                map;
-       vm_offset_t             start;
-       vm_size_t               size;
-       vm_prot_t               access;
+kern_return_t vm_wire(const ipc_port_t port,
+               vm_map_t map,
+               vm_offset_t start,
+               vm_size_t size,
+               vm_prot_t access)
 {
        boolean_t priv;
 
-- 
2.37.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]