Re: [RFC 7/8] fpga-region: add sysfs interface
From: Moritz Fischer
Date: Sat Feb 18 2017 - 15:53:51 EST
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.nadathur@xxxxxxxxx> 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.
> > -- 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.
> > * 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.