From owner-freebsd-current Tue May 6 08:20:11 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id IAA16130 for current-outgoing; Tue, 6 May 1997 08:20:11 -0700 (PDT) Received: from nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id IAA16123; Tue, 6 May 1997 08:20:04 -0700 (PDT) Received: from herring.nlsystems.com (herring.nlsystems.com [10.0.0.2]) by nlsystems.com (8.8.5/8.8.5) with SMTP id QAA28989; Tue, 6 May 1997 16:20:22 +0100 (BST) Date: Tue, 6 May 1997 16:20:22 +0100 (BST) From: Doug Rabson To: bde@freebsd.org cc: current@freebsd.org Subject: Adding ISA devices dynamically Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I have been writing some code to do this and I had problems with the intrcnt array. This array is used to count both device and stray interrupts and is either indexed by the device id or by NR_DEVICES+irq for strays. Since I am adding devices dynamically, I generate new struct isa_devices with new device ids. Unfortunately, my new device ids are greater than NR_DEVICES and register_intr() fails for the new devices. Basically, we have a static limit for interrupting devices. I can (and have) hacked the code to have a larger static limit. The question is, what should the static limit be and should there be a limit at all? It seems fairly easy to extend the intrcnt array dynamically dynamically if I separate out the counts for strays. That would mean changing vmstat but it shouldn't be too hard. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 951 1891