All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Rapoport <mike@compulab.co.il>
To: Mitch Bradley <wmb@firmworks.com>
Cc: Nicolas Pitre <nico@fluxnic.net>,
	microblaze-uclinux@itee.uq.edu.au,
	devicetree-discuss <devicetree-discuss@lists.ozlabs.org>,
	Jamie Lokier <jamie@shareable.org>,
	linuxppc-dev <linuxppc-dev@ozlabs.org>,
	Mike Rapoport <mike@compulab.co.il>,
	Dan Malek <ppc6dev@digitaldans.com>,
	Jeremy Kerr <jeremy.kerr@canonical.com>,
	linux-arm-kernel@lists.infradead.org,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: Request review of device tree documentation
Date: Wed, 16 Jun 2010 13:39:03 +0300	[thread overview]
Message-ID: <4C18A9C7.5070800@compulab.co.il> (raw)
In-Reply-To: <4C187FF0.5020806@firmworks.com>

Mitch Bradley wrote:
> Mike Rapoport wrote:
>> Mitch Bradley wrote:
>>> Mike Rapoport wrote:
>>>> Mitch Bradley wrote:
>>>>> Mike Rapoport wrote:
>>>>>> Mitch Bradley wrote:
>>>>>>
>>>>>>> The second topic is the hypothetical use of OFW as a HAL. That 
>>>>>>> will not happen for several reasons.  The opposition to the idea 
>>>>>>> is widespread and deeply held, and there are good arguments to 
>>>>>>> support that opposition.   Furthermore, the economic conditions 
>>>>>>> necessary for the creation of such a HAL do not exist in the ARM 
>>>>>>> world, nor indeed in the Linux world in general.  (The necessary 
>>>>>>> condition is the ability for one company to impose a substantial 
>>>>>>> change by fiat - essentially a monopoly position.)
>>>>>>>
>>>>>>> Shall we agree, then, that any further discussion of the HAL 
>>>>>>> issue is "just for fun", and that nobody needs to feel threatened 
>>>>>>> that it would actually happen?
>>>>>>
>>>>>> I've recently worked with vendor versions of U-Boot for advanced 
>>>>>> ARM SoCs. There is already *huge* chunk of HAL code in those 
>>>>>> versions. And if there would be possibility to have callbacks into 
>>>>>> the firmware these chunks would only grow, IMHO.
>>>>>
>>>>> How can there be HAL code in U-Boot unless there is already the 
>>>>> possibility to have callbacks into the firmware?
>>>>
>>>> Currently it aims to abstract hardware from U-Boot and reuse the 
>>>> same HW access code across operating systems and bootloaders. If 
>>>> this code would have callbacks I afraid the things would became worse.
>>>
>>> The only way I can understand what you said is if I assume that by 
>>> "callback", you mean the following sequence:
>>>
>>> a) U-boot loads and executes the OS, providing to the OS the address 
>>> of some HW access routines that it can use
>>> b) The OS calls one of those HW access routines
>>> c) During the execution of that HW access routine, that routine calls 
>>> "back" into the OS, before returning.  So a call into the OS is 
>>> nested inside a call into U-boot resident code.
>>>
>>> If that is what you are worried about, it is not what we were 
>>> discussing.  We were discussing - and many people were against - step 
>>> (b).
>>>
>>> Are you saying that step (b) - the OS calling into routines provided 
>>> by U-Boot - is already the status quo?
>>
>> I'm also objecting the step (b) and, fortunately, it's not yet the 
>> status quo.
>> Current U-Boot/kernel implementations I've encountered still do not 
>> have OS calls to resident HW access routines. But if such calls would 
>> be allowed, my impression is that SoC vendors would make extensive use 
>> of them.
> 
> One could argue that a feature that vendors would use extensively is one 
> that is sorely needed from their point of view.
> 
> One counterargument, of course, is that "there is a better way".  But it 
> is only "better" under a cost function that values things differently 
> than the vendors value them.  Were that not so, the vendors would gladly 
> use the "better" way and not be tempted to use the objectionable 
> feature. (Unless, of course, the vendors are just ignorant or unskilled 
> - but I generally find that different cost functions cause more 
> disconnects than lack of ability.)

It's hardly arguable that Linux community and decision makers at chip 
vendor companies use different cost functions. But it's not that obvious 
that vendors cost functions based on well established _technical_ analysis.
Many vendors try to use the same code base for several operating 
systems. From the high level perspective it sounds logical: use the same 
core functionality and thin adaptation layers to fit the core 
functionality into several OSes. But in reality, developing the OS 
abstraction layer and "thin" adaptation layers may become more expensive 
than developing each OS support from scratch. Besides, such code becomes 
a real mess after a while, and it's maintainability is very questionable.

> Which of course raises the question:  How does the Linux community view 
> such SoC vendors?  Are they embraced and eagerly supported, or (either 
> openly or secretly) viewed as a nuisance?  How does the widespread 
> objection to something that such vendors "would make extensive use of" 
> mesh with that view?

I cannot tell for the entire Linux community, but from what I know, such 
vendors are not much welcomed in the community.

>>
>>>>
>>>>> It is not HAL if it can't be called.
>>>>>
>>>>>>
>>>>>>
>>>>>>> The potential for "vendors breaking out of the debugging use case 
>>>>>>> and turning it into a HAL" is miniscule, because
>>>>>>>
>>>>>>> a) The callback is disabled by default
>>>>>>> b) The technical challenges of the callback interface limit its 
>>>>>>> applicability to specific "wizard user" scenarios
>>>>>>> c) OFW is unlikely to achieve sufficient market penetration for 
>>>>>>> the HAL thing to be worth doing
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> linux-arm-kernel mailing list
>>>>>>> linux-arm-kernel@lists.infradead.org
>>>>>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>


-- 
Sincerely yours,
Mike.

WARNING: multiple messages have this Message-ID (diff)
From: mike@compulab.co.il (Mike Rapoport)
To: linux-arm-kernel@lists.infradead.org
Subject: Request review of device tree documentation
Date: Wed, 16 Jun 2010 13:39:03 +0300	[thread overview]
Message-ID: <4C18A9C7.5070800@compulab.co.il> (raw)
In-Reply-To: <4C187FF0.5020806@firmworks.com>

Mitch Bradley wrote:
> Mike Rapoport wrote:
>> Mitch Bradley wrote:
>>> Mike Rapoport wrote:
>>>> Mitch Bradley wrote:
>>>>> Mike Rapoport wrote:
>>>>>> Mitch Bradley wrote:
>>>>>>
>>>>>>> The second topic is the hypothetical use of OFW as a HAL. That 
>>>>>>> will not happen for several reasons.  The opposition to the idea 
>>>>>>> is widespread and deeply held, and there are good arguments to 
>>>>>>> support that opposition.   Furthermore, the economic conditions 
>>>>>>> necessary for the creation of such a HAL do not exist in the ARM 
>>>>>>> world, nor indeed in the Linux world in general.  (The necessary 
>>>>>>> condition is the ability for one company to impose a substantial 
>>>>>>> change by fiat - essentially a monopoly position.)
>>>>>>>
>>>>>>> Shall we agree, then, that any further discussion of the HAL 
>>>>>>> issue is "just for fun", and that nobody needs to feel threatened 
>>>>>>> that it would actually happen?
>>>>>>
>>>>>> I've recently worked with vendor versions of U-Boot for advanced 
>>>>>> ARM SoCs. There is already *huge* chunk of HAL code in those 
>>>>>> versions. And if there would be possibility to have callbacks into 
>>>>>> the firmware these chunks would only grow, IMHO.
>>>>>
>>>>> How can there be HAL code in U-Boot unless there is already the 
>>>>> possibility to have callbacks into the firmware?
>>>>
>>>> Currently it aims to abstract hardware from U-Boot and reuse the 
>>>> same HW access code across operating systems and bootloaders. If 
>>>> this code would have callbacks I afraid the things would became worse.
>>>
>>> The only way I can understand what you said is if I assume that by 
>>> "callback", you mean the following sequence:
>>>
>>> a) U-boot loads and executes the OS, providing to the OS the address 
>>> of some HW access routines that it can use
>>> b) The OS calls one of those HW access routines
>>> c) During the execution of that HW access routine, that routine calls 
>>> "back" into the OS, before returning.  So a call into the OS is 
>>> nested inside a call into U-boot resident code.
>>>
>>> If that is what you are worried about, it is not what we were 
>>> discussing.  We were discussing - and many people were against - step 
>>> (b).
>>>
>>> Are you saying that step (b) - the OS calling into routines provided 
>>> by U-Boot - is already the status quo?
>>
>> I'm also objecting the step (b) and, fortunately, it's not yet the 
>> status quo.
>> Current U-Boot/kernel implementations I've encountered still do not 
>> have OS calls to resident HW access routines. But if such calls would 
>> be allowed, my impression is that SoC vendors would make extensive use 
>> of them.
> 
> One could argue that a feature that vendors would use extensively is one 
> that is sorely needed from their point of view.
> 
> One counterargument, of course, is that "there is a better way".  But it 
> is only "better" under a cost function that values things differently 
> than the vendors value them.  Were that not so, the vendors would gladly 
> use the "better" way and not be tempted to use the objectionable 
> feature. (Unless, of course, the vendors are just ignorant or unskilled 
> - but I generally find that different cost functions cause more 
> disconnects than lack of ability.)

It's hardly arguable that Linux community and decision makers at chip 
vendor companies use different cost functions. But it's not that obvious 
that vendors cost functions based on well established _technical_ analysis.
Many vendors try to use the same code base for several operating 
systems. From the high level perspective it sounds logical: use the same 
core functionality and thin adaptation layers to fit the core 
functionality into several OSes. But in reality, developing the OS 
abstraction layer and "thin" adaptation layers may become more expensive 
than developing each OS support from scratch. Besides, such code becomes 
a real mess after a while, and it's maintainability is very questionable.

> Which of course raises the question:  How does the Linux community view 
> such SoC vendors?  Are they embraced and eagerly supported, or (either 
> openly or secretly) viewed as a nuisance?  How does the widespread 
> objection to something that such vendors "would make extensive use of" 
> mesh with that view?

I cannot tell for the entire Linux community, but from what I know, such 
vendors are not much welcomed in the community.

>>
>>>>
>>>>> It is not HAL if it can't be called.
>>>>>
>>>>>>
>>>>>>
>>>>>>> The potential for "vendors breaking out of the debugging use case 
>>>>>>> and turning it into a HAL" is miniscule, because
>>>>>>>
>>>>>>> a) The callback is disabled by default
>>>>>>> b) The technical challenges of the callback interface limit its 
>>>>>>> applicability to specific "wizard user" scenarios
>>>>>>> c) OFW is unlikely to achieve sufficient market penetration for 
>>>>>>> the HAL thing to be worth doing
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> linux-arm-kernel mailing list
>>>>>>> linux-arm-kernel at lists.infradead.org
>>>>>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>>>>
>>>>>>
>>>>
>>>>
>>
>>


-- 
Sincerely yours,
Mike.

  parent reply	other threads:[~2010-06-16 10:40 UTC|newest]

Thread overview: 187+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-11 22:59 Request review of device tree documentation Grant Likely
2010-06-11 22:59 ` Grant Likely
2010-06-11 23:47 ` Dan Malek
2010-06-11 23:47   ` Dan Malek
2010-06-12  2:58   ` Benjamin Herrenschmidt
2010-06-12  2:58     ` Benjamin Herrenschmidt
2010-06-12  4:48     ` Mitch Bradley
2010-06-12  4:48       ` Mitch Bradley
2010-06-12  6:53   ` Grant Likely
2010-06-12  6:53     ` Grant Likely
2010-06-12  8:19     ` Mitch Bradley
2010-06-12  8:19       ` Mitch Bradley
2010-06-12 10:45       ` Benjamin Herrenschmidt
2010-06-12 10:45         ` Benjamin Herrenschmidt
2010-06-12 10:48         ` Benjamin Herrenschmidt
2010-06-12 10:48           ` Benjamin Herrenschmidt
2010-06-12 16:30           ` Mitch Bradley
2010-06-12 16:30             ` Mitch Bradley
2010-06-12 22:52             ` Benjamin Herrenschmidt
2010-06-12 22:52               ` Benjamin Herrenschmidt
2010-06-13  5:07               ` Grant Likely
2010-06-13  5:07                 ` Grant Likely
2010-06-13  5:39                 ` Mitch Bradley
2010-06-13  5:39                   ` Mitch Bradley
2010-06-13  5:59                   ` Benjamin Herrenschmidt
2010-06-13  5:59                     ` Benjamin Herrenschmidt
2010-06-13  6:45                     ` Mitch Bradley
2010-06-13  6:45                       ` Mitch Bradley
2010-06-13  8:29                       ` Benjamin Herrenschmidt
2010-06-13  8:29                         ` Benjamin Herrenschmidt
2010-06-14  5:36                         ` Grant Likely
2010-06-14  5:36                           ` Grant Likely
2010-06-14  5:36                           ` Grant Likely
2010-06-14 20:00                           ` Ben Dooks
2010-06-14 20:00                             ` Ben Dooks
2010-06-14 20:00                             ` Ben Dooks
2010-06-13  8:57                       ` Benjamin Herrenschmidt
2010-06-13  8:57                         ` Benjamin Herrenschmidt
2010-06-14  5:23                     ` Grant Likely
2010-06-14  5:23                       ` Grant Likely
2010-06-14  5:23                       ` Grant Likely
2010-06-14  7:38                       ` Russell King - ARM Linux
2010-06-14  7:38                         ` Russell King - ARM Linux
2010-06-14  7:38                         ` Russell King - ARM Linux
2010-06-14  7:45                         ` Mitch Bradley
2010-06-14  7:45                           ` Mitch Bradley
2010-06-14  7:45                           ` Mitch Bradley
2010-06-14  9:25                           ` Russell King - ARM Linux
2010-06-14  9:25                             ` Russell King - ARM Linux
2010-06-14  9:36                             ` Benjamin Herrenschmidt
2010-06-14  9:36                               ` Benjamin Herrenschmidt
2010-06-14  9:36                               ` Benjamin Herrenschmidt
2010-06-14  9:47                               ` Russell King - ARM Linux
2010-06-14  9:47                                 ` Russell King - ARM Linux
2010-06-14 14:29                                 ` Jamie Lokier
2010-06-14 14:29                                   ` Jamie Lokier
2010-06-14 14:29                                   ` Jamie Lokier
2010-06-14 13:51                       ` Nicolas Pitre
2010-06-14 13:51                         ` Nicolas Pitre
2010-06-14 13:51                         ` Nicolas Pitre
2010-06-14 15:35                         ` Grant Likely
2010-06-14 15:35                           ` Grant Likely
2010-06-14 15:35                           ` Grant Likely
2010-06-14 15:58                           ` Nicolas Pitre
2010-06-14 15:58                             ` Nicolas Pitre
2010-06-14 15:58                             ` Nicolas Pitre
2010-06-14 16:16                             ` Grant Likely
2010-06-14 16:16                               ` Grant Likely
2010-06-14 16:16                               ` Grant Likely
2010-06-14  5:02                   ` Grant Likely
2010-06-14  5:02                     ` Grant Likely
2010-06-14  5:02                     ` Grant Likely
2010-06-14 12:44                     ` David Gibson
2010-06-14 12:44                       ` David Gibson
2010-06-14 12:44                       ` David Gibson
2010-06-14 14:59                       ` Nicolas Pitre
2010-06-14 14:59                         ` Nicolas Pitre
2010-06-14 14:59                         ` Nicolas Pitre
2010-06-14 15:08                         ` Grant Likely
2010-06-14 15:08                           ` Grant Likely
2010-06-14 15:08                           ` Grant Likely
2010-06-14 16:02                         ` Jamie Lokier
2010-06-14 16:02                           ` Jamie Lokier
2010-06-14 16:02                           ` Jamie Lokier
2010-06-14 16:23                           ` Nicolas Pitre
2010-06-14 16:23                             ` Nicolas Pitre
2010-06-14 16:23                             ` Nicolas Pitre
2010-06-14 16:29                             ` Grant Likely
2010-06-14 16:29                               ` Grant Likely
2010-06-14 16:29                               ` Grant Likely
2010-06-14 16:28                           ` Grant Likely
2010-06-14 16:28                             ` Grant Likely
2010-06-14 16:28                             ` Grant Likely
2010-06-14 16:33                             ` Jamie Lokier
2010-06-14 16:33                               ` Jamie Lokier
2010-06-14 16:33                               ` Jamie Lokier
2010-06-14 16:58                           ` Mitch Bradley
2010-06-14 16:58                             ` Mitch Bradley
2010-06-14 16:58                             ` Mitch Bradley
2010-06-14 17:26                             ` Nicolas Pitre
2010-06-14 17:26                               ` Nicolas Pitre
2010-06-14 18:20                               ` Mitch Bradley
2010-06-14 18:20                                 ` Mitch Bradley
2010-06-14 18:20                                 ` Mitch Bradley
2010-06-14 19:40                                 ` Nicolas Pitre
2010-06-14 19:40                                   ` Nicolas Pitre
2010-06-14 20:08                                   ` Mark Brown
2010-06-14 20:08                                     ` Mark Brown
2010-06-14 20:08                                     ` Mark Brown
2010-06-16  6:09                             ` Mike Rapoport
2010-06-16  6:09                               ` Mike Rapoport
2010-06-16  6:09                               ` Mike Rapoport
2010-06-16  6:13                               ` Mitch Bradley
2010-06-16  6:13                                 ` Mitch Bradley
2010-06-16  6:13                                 ` Mitch Bradley
2010-06-16  6:17                                 ` Mike Rapoport
2010-06-16  6:17                                   ` Mike Rapoport
2010-06-16  6:32                                   ` Mitch Bradley
2010-06-16  6:32                                     ` Mitch Bradley
2010-06-16  6:32                                     ` Mitch Bradley
2010-06-16  6:47                                     ` Mike Rapoport
2010-06-16  6:47                                       ` Mike Rapoport
2010-06-16  7:40                                       ` Mitch Bradley
2010-06-16  7:40                                         ` Mitch Bradley
2010-06-16  7:40                                         ` Mitch Bradley
2010-06-16  9:45                                         ` Vladimir Pantelic
2010-06-16  9:45                                           ` Vladimir Pantelic
2010-06-16  9:45                                           ` Vladimir Pantelic
2010-06-16 10:39                                         ` Mike Rapoport [this message]
2010-06-16 10:39                                           ` Mike Rapoport
2010-06-16 11:41                                           ` Jamie Lokier
2010-06-16 11:41                                             ` Jamie Lokier
2010-06-16 11:41                                             ` Jamie Lokier
2010-06-16 13:48                                             ` Jamie Bennett
2010-06-16 13:48                                               ` Jamie Bennett
2010-06-16 14:39                                           ` Nicolas Pitre
2010-06-16 14:39                                             ` Nicolas Pitre
2010-06-16 17:43                                             ` Tim Bird
2010-06-16 17:43                                               ` Tim Bird
2010-06-16 17:43                                               ` Tim Bird
2010-06-17  6:45                                               ` Benjamin Zores
2010-06-16  6:52                                     ` M. Warner Losh
2010-06-16  6:52                                       ` M. Warner Losh
2010-06-16  6:52                                       ` M. Warner Losh
2010-06-18 22:12                                       ` Frank Rowand
2010-06-18 22:12                                         ` Frank Rowand
2010-06-15  2:02                         ` David Gibson
2010-06-15  2:02                           ` David Gibson
2010-06-15  2:02                           ` David Gibson
2010-06-14 15:51                       ` M. Warner Losh
2010-06-14 15:51                         ` M. Warner Losh
2010-06-14 15:51                         ` M. Warner Losh
2010-06-13  5:48                 ` Benjamin Herrenschmidt
2010-06-13  5:48                   ` Benjamin Herrenschmidt
2010-06-14  5:13                   ` Grant Likely
2010-06-14  5:13                     ` Grant Likely
2010-06-14  5:13                     ` Grant Likely
2010-06-14  6:09                     ` Benjamin Herrenschmidt
2010-06-14  6:09                       ` Benjamin Herrenschmidt
2010-06-14  6:09                       ` Benjamin Herrenschmidt
2010-06-14  6:17                       ` Mitch Bradley
2010-06-14  6:17                         ` Mitch Bradley
2010-06-14  6:17                         ` Mitch Bradley
2010-06-12 22:15     ` Olof Johansson
2010-06-12 23:09       ` Grant Likely
2010-06-12 23:09         ` Grant Likely
2010-06-13  6:47         ` [microblaze-uclinux] " Edgar E. Iglesias
2010-06-12  3:00 ` Benjamin Herrenschmidt
2010-06-12  3:00   ` Benjamin Herrenschmidt
2010-06-12  3:07   ` Benjamin Herrenschmidt
2010-06-12  3:07     ` Benjamin Herrenschmidt
2010-06-13 13:12     ` Jeremy Kerr
2010-06-13 13:12       ` Jeremy Kerr
2010-06-14  5:40       ` Grant Likely
2010-06-12 17:33 ` Stephan Gatzka
2010-06-12 18:19   ` Grant Likely
     [not found]     ` <4C149DE1.1050800@gatzka.org>
     [not found]       ` <4C149DE1.1050800-tNItQxeJkt8dnm+yROfE0A@public.gmane.org>
2010-06-13 20:03         ` Grant Likely
     [not found]           ` <AANLkTim-FzAihEd0FE72dy3Ubb2yiIQh4rtI6TIMovFW-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14 23:44             ` Grant Likely
     [not found]               ` <AANLkTikV9XqufTO9LVAql3nbySpPz_p_4kv7YY2b4UPW-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-15 19:25                 ` Stephan Gatzka
2010-06-14  5:54   ` Grant Likely
2010-06-14  5:54     ` Grant Likely
2010-08-05  4:43 ` David Gibson
2010-08-05  4:43   ` David Gibson
2010-09-01 16:19   ` Grant Likely
2010-09-01 16:19     ` Grant Likely
  -- strict thread matches above, loose matches on Subject: below --
2010-08-05 15:15 Terren Chow
     [not found] ` <AANLkTikFNFvM7x6TzN8DPM9E4vC0KVRb0sz4r2wu_nZ+-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-08-05 16:41   ` 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=4C18A9C7.5070800@compulab.co.il \
    --to=mike@compulab.co.il \
    --cc=david@gibson.dropbear.id.au \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=jamie@shareable.org \
    --cc=jeremy.kerr@canonical.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=microblaze-uclinux@itee.uq.edu.au \
    --cc=nico@fluxnic.net \
    --cc=ppc6dev@digitaldans.com \
    --cc=wmb@firmworks.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.