From owner-cvs-src@FreeBSD.ORG Wed Dec 17 19:51:24 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2681816A4CE; Wed, 17 Dec 2003 19:51:24 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C7BD43D2D; Wed, 17 Dec 2003 19:51:23 -0800 (PST) (envelope-from wpaul@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id hBI3pM0B012259; Wed, 17 Dec 2003 19:51:22 -0800 (PST) (envelope-from wpaul@repoman.freebsd.org) Received: (from wpaul@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id hBI3pLA4012258; Wed, 17 Dec 2003 19:51:21 -0800 (PST) (envelope-from wpaul) Message-Id: <200312180351.hBI3pLA4012258@repoman.freebsd.org> From: Bill Paul Date: Wed, 17 Dec 2003 19:51:21 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/usr.sbin/ndiscvt Makefile inf.c src/sys/compat/ndis cfg_var.h kern_ndis.c src/sys/dev/if_ndis if_ndis.c if_ndisvar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Dec 2003 03:51:24 -0000 wpaul 2003/12/17 19:51:21 PST FreeBSD src repository Modified files: usr.sbin/ndiscvt Makefile inf.c sys/compat/ndis cfg_var.h kern_ndis.c sys/dev/if_ndis if_ndis.c if_ndisvar.h Log: Deal with the duplicate sysctl leaf problem. A .inf file may contain definitions for more than one device (usually differentiated by the PCI subvendor/subdevice ID). Each device also has its own tree of registry keys. In some cases, each device has the same keys, but sometimes each device has a unique tree but with overlap. Originally, I just had ndiscvt(8) dump out all the keys it could find, and we would try to apply them to every device we could find. Now, each key has an index number that matches it to a device in the device ID list. This lets us create just the keys that apply to a particular device. I also added an extra field to the device list to hold the subvendor and subdevice ID. Some devices are generic, i.e. there is no subsystem definition. If we have a device that doesn't match a specific subsystem value and we have a generic entry, we use the generic entry. Revision Changes Path 1.2 +1 -0 src/sys/compat/ndis/cfg_var.h 1.6 +4 -0 src/sys/compat/ndis/kern_ndis.c 1.4 +31 -2 src/sys/dev/if_ndis/if_ndis.c 1.3 +2 -1 src/sys/dev/if_ndis/if_ndisvar.h 1.3 +1 -1 src/usr.sbin/ndiscvt/Makefile 1.5 +26 -32 src/usr.sbin/ndiscvt/inf.c