From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH v2 5/6] xen/arm: Dissociate logical and hardware CPU ID Date: Tue, 17 Sep 2013 16:18:30 +0100 Message-ID: <523872C6.2020206@linaro.org> References: <1378900784-16949-1-git-send-email-julien.grall@linaro.org> <1378900784-16949-6-git-send-email-julien.grall@linaro.org> <1379428795.11304.113.camel@hastur.hellion.org.uk> <52386F12.80505@linaro.org> <1379430493.11304.133.camel@hastur.hellion.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1379430493.11304.133.camel@hastur.hellion.org.uk> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: stefano.stabellini@eu.citrix.com, patches@linaro.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 09/17/2013 04:08 PM, Ian Campbell wrote: > On Tue, 2013-09-17 at 16:02 +0100, Julien Grall wrote: >> On 09/17/2013 03:39 PM, Ian Campbell wrote: >>> On Wed, 2013-09-11 at 12:59 +0100, Julien Grall wrote: >>> >>>> + dt_for_each_child_node( cpus, cpu ) >>>> + { >>>> + u32 hwid; >>>> + >>>> + if ( !dt_device_type_is_equal(cpu, "cpu") ) >>>> + continue; >>> >>> This could eventually use dt_find_node_by_type which I added in my start >>> of day rework. I would assume your patch will go in first so I'll try >>> and remember to do that when I rebase... >> >> cpu node must be under /cpus. > > Must it? Documentation/devicetree/bindings/arm/cpus.txt doesn't mention > that. In Documentation/devicetree/booting-without-of.txt: b) The /cpus node This node is the parent of all individual CPU nodes. It doesn't have any specific requirements, though it's generally good practice to have at least: #address-cells = <00000001> #size-cells = <00000000> This defines that the "address" for a CPU is a single cell, and has no meaningful size. This is not necessary but the kernel will assume that format when reading the "reg" properties of a CPU node, see below > But if it were required then wouldn't it be invalid to have a node with > type cpu outside that subtree? IOW looking up by type would still be OK. > FYI this is what arm64 Linux does. On arm32 Linux it's only looks in /cpus :). I'm fine to replace this loop with dt_find_node_by_type. Will you take care of this change, or do I need to add your patch on my series and modify the code? >> dt_find_node_by_type will look at all the >> nodes (not only the child) so we can't replace by this call. -- Julien Grall