From owner-p4-projects@FreeBSD.ORG Fri Aug 22 14:02:23 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 82B7B16A4C1; Fri, 22 Aug 2003 14:02:22 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3321D16A4BF for ; Fri, 22 Aug 2003 14:02:22 -0700 (PDT) Received: from mail.speakeasy.net (mail7.speakeasy.net [216.254.0.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id 84D1D43F85 for ; Fri, 22 Aug 2003 14:02:21 -0700 (PDT) (envelope-from jhb@FreeBSD.org) Received: (qmail 15861 invoked from network); 22 Aug 2003 21:02:20 -0000 Received: from unknown (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender )encrypted SMTP for ; 22 Aug 2003 21:02:20 -0000 Received: from laptop.baldwin.cx (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.9/8.12.9) with ESMTP id h7ML2I9s004694; Fri, 22 Aug 2003 17:02:18 -0400 (EDT) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.5.4 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20030822195532.GA32939@ns1.xcllnt.net> Date: Fri, 22 Aug 2003 17:02:42 -0400 (EDT) From: John Baldwin To: Marcel Moolenaar cc: Perforce Change Reviews Subject: Re: PERFORCE change 36551 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Aug 2003 21:02:23 -0000 On 22-Aug-2003 Marcel Moolenaar wrote: > On Fri, Aug 22, 2003 at 03:13:54PM -0400, John Baldwin wrote: >> >> >> Yes. For i386 definitely it would make sense to have a bus method >> >> that bubbles back up to the nexus(4) and eventually calls the >> >> MD interrupt code. Maybe some kind of interrupt properties kobj >> >> interface: >> > >> > The impact of a seperate KOBJ interface is probably large. I can't >> > think of a use of this object that's unrelated to the bus object. >> > If we do have such an use, then it should probably be a seperate >> > interface, otherwise I think we should just add new methods to the >> > bus interface. >> > >> >> My only concern is that I'm afraid this isn't a very MI interface, >> but bus is probably an ok place for it for now. > > Hmm.. Possibly.. I haven't given it that much thought. We could > encapsulate this in a generic resource property method, which > takes a pointer to an opaque type that's specific for the > resource type. For irqs this is a struct with polarity, mode, > CPU affinity, priority or maskability. Whatever we like. > For memory I/O ranges this could be a struct which includes such > things as coherence properties, cachability, speculatability or > other features of hardware we're not likely going to use. > For I/O port ranges this could be things like latencies or other > chipset specific fodder for when I/O ports are emulated. > The opaque types could be MI, MD or a mix like pcpu. > > Thoughts? If it's super abstract then it may become too obtuse to use. I'd rather avoid a lockmgr() type interface. An MD callout in ACPI may be the best answer really. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/