Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Sep 2008 15:06:29 +0200
From:      Luigi Rizzo <rizzo@iet.unipi.it>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: dynamic update of usb/pci/quirks tables
Message-ID:  <20080928130629.GA50928@onelab2.iet.unipi.it>
In-Reply-To: <200809281257.18248.hselasky@c2i.net>
References:  <20080928100731.GA49323@onelab2.iet.unipi.it> <200809281257.18248.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080928130629.GA50928>