Devicetree
 help / color / mirror / Atom feed
From: Nicolas Pitre <nico-vtqb6HGKxmzR7s880joybQ@public.gmane.org>
To: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Cc: nicolas.pitre-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org,
	Jeremy Kerr <jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: Boot interface for device trees on ARM
Date: Tue, 18 May 2010 08:24:06 -0400 (EDT)	[thread overview]
Message-ID: <alpine.LFD.2.00.1005180802010.12758@xanadu.home> (raw)
In-Reply-To: <20100518084954.GC25892@yookeroo>

On Tue, 18 May 2010, David Gibson wrote:

> On Tue, May 18, 2010 at 01:24:43PM +0800, Jeremy Kerr wrote:
> 
> > Nicolas Pitre wrote:
> > 
> > > Why one DT machine ID per subarchitecture?  Simply because a significant
> > > part of the DT handling code will have to be subarchitecture specific
> > > anyway.  The timer hardware, the GPIO configuration and muxing, SOC
> > > specific platform data handling, power management config, and many other
> > > things are simply too different from one SOC family to another and
> > > trying to have a single global DT support code to rule them all is
> > > insane.
> > 
> > The code for DT boot will be still subarch-specific, but I don't
> > think we need IDs for that. There is enough information in the
> > device tree to select the subarch-specific code to use for early
> > init, without needing to parameterise every element of the
> > machine. The machine-level "compatible" property allows us to do
> > this.
> 
> That's right.  On PowerPC currently we don't have any real concept of
> sub-architecture, but we do have platform level code to cover exactly
> the sorts of messy things you mention, and it is selected on the basis
> of the device tree's top-level compatible property.

Agreed.  However this is not PPC we're discussing here.  This is about 
ARM which has been structuring its wildly different subarchitectures 
around another model for over 15 years.

> The only reason you'd need a subarchitecture number or equivalent is
> if you need to do things differently in the very, very early asm boot
> code.  We may need a minimal form of this on PowerPC if we ever
> support multiple MMU families in the same kernel binary.

Exact.  For example, on ARM the machine ID is also used to figure out 
the MMU mapping needed to be able to simply be able to debug the very 
early assembly boot stage when there isn't even a stack available. While 
this info is stored in the machine record, it is actually 
subarchitecture specific and already half-digested for easy usage by 
that initial MMU setup.  I just don't want to imagine what the 
equivalent functionality with DT would look like.

> > Therefore, I don't think we need the machine ID at all: once the DT is 
> > available, we can use that for any machine-specific stuff. Even though we're 
> > not *configuring* it from the device tree, we can *select* it from there 
> > instead.
> 
> Yes, absolutely.

Please see above why I disagree.


Nicolas

  reply	other threads:[~2010-05-18 12:24 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-18  2:54 Boot interface for device trees on ARM Jeremy Kerr
2010-05-18  4:34 ` Nicolas Pitre
     [not found]   ` <alpine.LFD.2.00.1005172341200.12758-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-05-18  5:24     ` Jeremy Kerr
     [not found]       ` <201005181324.45701.jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2010-05-18  8:49         ` David Gibson
2010-05-18 12:24           ` Nicolas Pitre [this message]
2010-05-18 14:06             ` Jason McMullan
     [not found]               ` <AANLkTikg4rQdnbFxBOUkGc_0DrKqRkp9raZ8Ck5xkLG4-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-05-19  0:21                 ` David Gibson
     [not found]             ` <alpine.LFD.2.00.1005180802010.12758-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-05-19  0:28               ` David Gibson
2010-05-19  1:28                 ` Nicolas Pitre
     [not found]                   ` <alpine.LFD.2.00.1005182109180.12758-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-05-19  6:50                     ` David Gibson
2010-05-19 14:45                       ` Grant Likely
2010-05-19  1:41                 ` Jamie Lokier
     [not found]                   ` <20100519014118.GD2318-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2010-05-19  7:12                     ` David Gibson
2010-05-19 14:21                     ` Grant Likely
2010-05-19  8:50               ` Jeremy Kerr
2010-05-19  7:25             ` Mitch Bradley
2010-05-18 11:57         ` Nicolas Pitre
     [not found]           ` <alpine.LFD.2.00.1005180742500.12758-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-05-19 12:13             ` Grant Likely
     [not found]               ` <AANLkTinsOSI_TIc7Jyy4QFuFaS2d-fi0y3LMuITLyG3N-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-05-19 16:45                 ` Jamie Lokier
     [not found]                   ` <20100519164534.GE1693-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2010-05-19 17:10                     ` Grant Likely
2010-05-19 17:32                       ` M. Warner Losh
2010-05-19 11:57     ` Grant Likely
2010-05-19 12:08       ` Russell King - ARM Linux
     [not found]       ` <AANLkTilJl9_NHiT1LITG7UbA9S7OYsnGMcDAsFEEx5Ob-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-05-19 17:52         ` Nicolas Pitre
     [not found]           ` <alpine.LFD.2.00.1005191055180.12758-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-05-19 20:08             ` Jamie Lokier
     [not found]               ` <20100519200819.GF1693-yetKDKU6eevNLxjTenLetw@public.gmane.org>
2010-05-19 20:22                 ` Nicolas Pitre
     [not found]                   ` <alpine.LFD.2.00.1005191614580.12758-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-05-21 16:24                     ` John Rigby
2010-05-21 16:27                       ` Jamie Bennett
     [not found]                       ` <AANLkTil3vDAN4QIJJImk8MnQklisqFJq_RBc7c9VEZxl-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-05-21 19:59                         ` Russell King - ARM Linux
2010-06-03 21:12                         ` Grant Likely
2010-06-04 20:01             ` Grant Likely
     [not found]               ` <AANLkTilhqg270l-_m9raalqAPPRhvLJD9omHe8ysgLjg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-04 20:33                 ` John Rigby
2010-06-04 20:37                   ` Jon Loeliger
     [not found]                     ` <E1OKdeH-00053a-U2-CYoMK+44s/E@public.gmane.org>
2010-06-04 21:07                       ` Grant Likely
2010-06-05  1:33                 ` Jeremy Kerr
     [not found]                   ` <201006050933.06714.jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2010-06-05  2:29                     ` Nicolas Pitre
     [not found]                       ` <alpine.LFD.2.00.1006042212400.30664-QuJgVwGFrdf/9pzu0YdTqQ@public.gmane.org>
2010-06-05  5:59                         ` Grant Likely
2010-06-09  4:26                         ` Jeremy Kerr
     [not found]                           ` <201006091226.15438.jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2010-06-09 13:09                             ` Nicolas Pitre
     [not found] ` <201005181054.32325.jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
2010-05-19 11:45   ` Grant Likely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.2.00.1005180802010.12758@xanadu.home \
    --to=nico-vtqb6hgkxmzr7s880joybq@public.gmane.org \
    --cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=jeremy.kerr-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=nicolas.pitre-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox