On Sat, Feb 18, 2017 at 2:45 PM, Moritz Fischer
<moritz.fisc...@ettus.com> wrote:
> On Sat, Feb 18, 2017 at 02:10:43PM -0600, Alan Tull wrote:
>> On Sat, Feb 18, 2017 at 6:45 AM, Nadathur, Sundar
>> <sundar.nadat...@intel.com> wrote:
>>
>> > Hi all,
>> >    Interesting discussion. The discussion so far has brought out many 
>> > concerns such as OS independence. There is an existing format, well-known 
>> > to developers, with widespread support, and which is quite extensible: 
>> > Type-Length-Value triples.
>> >
>> > To elaborate, a TLV-based format has many advantages:
>> > * It is highly extensible in many ways
>> >    -- You can express structures and arrays using TLVs. Our needs right 
>> > now may seem limited but requirements grow over time.

Device tree can express arrays.

>> >    -- The space of Type values can be decomposed into standard pre-defined 
>> > values that are in upstreamed code, and possibly experimental or 
>> > feature-specific values.
>> >    -- Forward compatibility: We can write parsers that can skip unexpected 
>> > type values, thus allowing old parsers to work with new additions. With 
>> > some tweaks, old parsers can also reject unexpected values in some ranges 
>> > while accepting them in other ranges.
>> > * It is OS-independent.
>> > * It can be easily parsed, in kernel or user space.
>
> Are there other users of the format? I have to admit I didn't look very
> long, but couldn't find any libs / existing code at a first glance.

Is there a standard you are looking at?  Have you seen any use of TLV's
in the Linux kernel you could point to?

>
>> > * It can be validated, in terms of Type values, acceptable lengths, etc.
>> >
>> > It  is not directly human-readable but that can be easily addressed with a 
>> > tool that parses TLVs.
>> >
>> > Compared to some other proposals:
>> > * Compared to DTs, TLVs are OS-independent.
>
> That's just alternative facts here. Just because Linux uses fdt for
> devicetree blobs it is *not* OS dependent. There are several (see
> last email) non-Linux users of fdt / libfdt.
>
> Thanks,
>
> Moritz

It is worth repeating that libdtc is GPL/BSD with the intent of
allowing proprietary code to use libdtc.  So license shouldn't be a barrier.

Using device tree in the header would give us a way of doing enumeration at
least for Linux, not sure if that kind of info can be used in Windows
in some way.

Alan

Reply via email to