Request review of device tree documentation

Mike Rapoport mike at compulab.co.il
Wed Jun 16 20:39:03 EST 2010


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.


More information about the devicetree-discuss mailing list