dynamic update of usb/pci/quirks tables

Luigi Rizzo rizzo at iet.unipi.it
Sun Sep 28 13:02:58 UTC 2008


On Sun, Sep 28, 2008 at 12:57:17PM +0200, Hans Petter Selasky wrote:
> On Sunday 28 September 2008, Luigi Rizzo wrote:
> > Of course patching the live kernel is dangerous
> 
> Why can't you put all the quirks in a loadable module like in USB2, that can 
> be unloaded and loaded at any time ?

This would be a valid approach if we were writing the system from scratch,
but we aren't, so this would require changing all source modules
to adapt to the new mechanism.

BTW - in the base system there is a handful of users of kvm_write:

    /usr/src/usr.sbin/dconschat/dconschat.c
    /usr/src/usr.sbin/kgmon/kgmon.c
    /usr/src/gnu/usr.bin/binutils/gdb/kvm-fbsd.c
    /usr/src/gnu/usr.bin/gdb/kgdb/trgt.c

users of kvm_read are many more:

   8 /usr/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c
   8 /usr/src/gnu/usr.bin/gdb/kgdb/kthr.c
   7 /usr/src/usr.sbin/pstat/pstat.c
   7 /usr/src/usr.sbin/kernbb/kernbb.c
   7 /usr/src/usr.bin/ktrdump/ktrdump.c
   6 /usr/src/usr.sbin/kgmon/kgmon.c
   6 /usr/src/sbin/dmesg/dmesg.c
   6 /usr/src/gnu/usr.bin/gdb/kgdb/trgt_arm.c
   5 /usr/src/tools/diag/dumpvfscache/dumpvfscache.c
   4 /usr/src/usr.bin/ipcs/ipcs.c
   4 /usr/src/contrib/ipfilter/lib/kmem.c
   3 /usr/src/usr.sbin/iostat/iostat.c
   3 /usr/src/usr.sbin/dconschat/dconschat.c
   3 /usr/src/usr.sbin/asf/asf_kvm.c
   3 /usr/src/usr.bin/nfsstat/nfsstat.c
   3 /usr/src/usr.bin/fstat/fstat.c
   3 /usr/src/tools/tools/umastat/umastat.c
   3 /usr/src/lib/libmemstat/memstat_uma.c
   3 /usr/src/lib/libmemstat/memstat_malloc.c
   2 /usr/src/usr.sbin/ifmcstat/ifmcstat.c
   2 /usr/src/usr.bin/vmstat/vmstat.c
   2 /usr/src/usr.bin/fstat/fstat.h
   2 /usr/src/usr.bin/bluetooth/btsockstat/btsockstat.c
   2 /usr/src/libexec/rpc.rstatd/rstat_proc.c
   2 /usr/src/lib/libdevstat/devstat.c
   2 /usr/src/gnu/usr.bin/gdb/kgdb/trgt_sparc64.c
   2 /usr/src/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c
   2 /usr/src/gnu/usr.bin/gdb/kgdb/trgt_ia64.c
   2 /usr/src/gnu/usr.bin/gdb/kgdb/trgt_amd64.c
   2 /usr/src/contrib/ipfilter/ipsend/sock.c
   1 /usr/src/usr.bin/systat/main.c
   1 /usr/src/usr.bin/systat/fetch.c
   1 /usr/src/usr.bin/netstat/main.c
   1 /usr/src/gnu/usr.bin/gdb/kgdb/trgt.c
   1 /usr/src/gnu/usr.bin/binutils/gdb/kvm-fbsd.c

cheers
luigi


More information about the freebsd-arch mailing list