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>
