From owner-freebsd-arch@FreeBSD.ORG Sun Sep 28 13:02:58 2008 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0DCBF1065690 for ; Sun, 28 Sep 2008 13:02:58 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.9.129]) by mx1.freebsd.org (Postfix) with ESMTP id C4B168FC13 for ; Sun, 28 Sep 2008 13:02:57 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id D793A730A8; Sun, 28 Sep 2008 15:06:29 +0200 (CEST) Date: Sun, 28 Sep 2008 15:06:29 +0200 From: Luigi Rizzo To: Hans Petter Selasky Message-ID: <20080928130629.GA50928@onelab2.iet.unipi.it> References: <20080928100731.GA49323@onelab2.iet.unipi.it> <200809281257.18248.hselasky@c2i.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200809281257.18248.hselasky@c2i.net> User-Agent: Mutt/1.4.2.3i Cc: freebsd-arch@freebsd.org Subject: Re: dynamic update of usb/pci/quirks tables X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Sep 2008 13:02:58 -0000 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