From owner-freebsd-arm@freebsd.org Sat Jul 30 19:26:12 2016 Return-Path: Delivered-To: freebsd-arm@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 156C9BA9D49; Sat, 30 Jul 2016 19:26:12 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from d.mail.sonic.net (d.mail.sonic.net [64.142.111.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D05931F2C; Sat, 30 Jul 2016 19:26:11 +0000 (UTC) (envelope-from nwhitehorn@freebsd.org) Received: from zeppelin.tachypleus.net (75-101-50-44.static.sonic.net [75.101.50.44]) (authenticated bits=0) by d.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id u6UJQ2dD027948 (version=TLSv1.2 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Sat, 30 Jul 2016 12:26:03 -0700 Subject: Re: INTRNG (Was: svn commit: r301453....) To: Warner Losh References: <201606051620.u55GKD5S066398@repo.freebsd.org> <8bfd8668-bc49-e109-e610-b5cd470be3ec@freebsd.org> <57950005.6070403@FreeBSD.org> <57961549.4020105@FreeBSD.org> <57976867.6080705@FreeBSD.org> <5798E104.5020104@FreeBSD.org> <579A25BB.8070206@FreeBSD.org> <30790e40-58b4-3371-c0f0-b7545571f389@freebsd.org> <579AFFC5.1040005@FreeBSD.org> <579CD355.1050203@FreeBSD.org> <460fa0b3-ddb7-6247-2412-3d75a589d5e7@freebsd.org> Cc: Michal Meloun , "freebsd-arm@freebsd.org" , Svatopluk Kraus , "freebsd-arch@freebsd.org" From: Nathan Whitehorn Message-ID: <3d17565e-8831-295a-46be-6341e17a8e6b@freebsd.org> Date: Sat, 30 Jul 2016 12:26:02 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Sonic-CAuth: UmFuZG9tSVYLmf2grmlq2PiNmyOV9dAUyln7hd83lNxrQFynRaMakcpYmtQWfOwdzhKNaSQU5jywvaBcpbGFBrUqEoRrRvx8qtoqPTc3IGA= X-Sonic-ID: C;5DEQdItW5hG6eq/hcgQksw== M;mthndItW5hG6eq/hcgQksw== X-Spam-Flag: No X-Sonic-Spam-Details: 0.0/5.0 by cerberusd X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Jul 2016 19:26:12 -0000 On 07/30/16 11:06, Warner Losh wrote: > On Sat, Jul 30, 2016 at 10:59 AM, Nathan Whitehorn > wrote: >> It's not just a few lines change. Newbus provides no mechanism for a bus to >> attach at two different bus passes. > Sure it does. That's used in the Atmel code (which might not be in the tree) for > some things. Newbus lets you know for each new pass that something is happening. > > Perhaps you could be clearer as to what exactly it doesn't provide. > > Warner > interesting. I hadn't realized that. We'd need to find all the bus drivers in the tree and make them attach this way, I guess. There are still some ordering dilemmas here coming from the static nature of the ordering. For example, if you have two PICs supported by the same driver, one of which is attached to the other, how do you order their attachments? I have a whole list of these at https://wiki.freebsd.org/Complicated_Interrupts. The list is basically the full set of weird cases we support with the current code. It would be great to get some responses to how you would implement those specific things with this new API. As usual, there are two things I would like to see: 1. A case of something that wasn't supported by the old API, but is supported by the new API. 2. How I would support all of the complicated cases the existing code supports, listed on the wiki, with the new API. -Nathan