I would like to propose changing the prototype for the kernel memory 
    zeroing and copying routines.

    Basically, the problem is that a whole hellofalot of drivers run
    bzero and bcopy on volatile memory.  The only way to remove the
    warnings is to volatilize bzero and bcopy.

    The compiler will, I believe, upgrade a pointer to a non-volatile 
    (aka char *) to a pointer to a volatile (aka volatile char *) without
    issuing any warnings.  

    This change should be fully backwards compatible.

    So I propose changing 

    FROM

        void bzero __P((void *buf, size_t len));
        void bcopy __P((const void *from, void *to, size_t len));

    TO

        void bzero __P((volatile void *buf, size_t len));
        void bcopy __P((volatile const void *from, volatile void *to, size_t 
len));

    Comments?

                                        -Matt
                                        Matthew Dillon 
                                        <dil...@backplane.com>

To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to