linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Moritz Fischer <moritz.fischer@ettus.com>
To: Alan Tull <delicious.quinoa@gmail.com>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>,
	"Nadathur, Sundar" <sundar.nadathur@intel.com>,
	Yves Vandervennet <yves.vandervennet@linux.intel.com>,
	"matthew.gerlach@linux.intel.com"
	<matthew.gerlach@linux.intel.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	"linux-fpga@vger.kernel.org" <linux-fpga@vger.kernel.org>,
	"Marek Va??ut" <marex@denx.de>
Subject: Re: [RFC 7/8] fpga-region: add sysfs interface
Date: Wed, 22 Feb 2017 08:44:12 -0800	[thread overview]
Message-ID: <CAAtXAHfnYd0iWVK6HaAzgvwV5PN5jYYSXnxEAqDoYMiPKeR8nQ@mail.gmail.com> (raw)
In-Reply-To: <CANk1AXT2hpjHRWaqunnWzqu48m212zE11zFGhiu68G9zRcXAOw@mail.gmail.com>

On Wed, Feb 22, 2017 at 8:33 AM, Alan Tull <delicious.quinoa@gmail.com> wrote:
> On Tue, Feb 21, 2017 at 11:38 PM, Moritz Fischer
> <moritz.fischer@ettus.com> wrote:
>
> Hi Moritz,
>
>> Hi all,
>>
>> On Tue, Feb 21, 2017 at 9:12 PM, Jason Gunthorpe
>> <jgunthorpe@obsidianresearch.com> wrote:
>>> On Tue, Feb 21, 2017 at 07:49:19PM -0800, Moritz Fischer wrote:
>>>
>>>> fdt does this out of the box, too. So far I've seen nothing fdt
>>>> couldn't do (or doesn't do let's rather say).
>>>
>>> tlv/fdt/http headers are all essentially exactly the same
>>> thing. Key/value pairs with various encoding schemes.
>>>
>>> I don't think we don't need a tree of data, so fdt is overkill.
>>>
>>> tlv is not substantially easier to parse correctly than the
>>> structured plain text headers.. It is just in binary so it can
>>> represent binary-ish things better.
>>
>> TLV Seems easy enough. To give an update, I played with fdt a bit to see
>> how far I get in half an hour. I got bool / int / strings to work
>> quite fast (~30mins).
>
> Thanks for doing this fast piece of exploratory coding.  It does
> confirm that for Linux, using fdt is pretty straightforward here.
> However...
>
>> Please disregard the horrible hackyness of this ...
>>
>> For simplicity I stuck the header on top of my bitfile with:
>>
>> <snip>
>> /dts-v1/;
>>
>> /{
>>         description = "Test";
>>         compressed = <0>;
>>         encrypted = <1>;
>> };
>
> I understand that this is a simplified example, but it looks a lot
> like KVP which then gets compiled by dtc.
>
> If we do KVP or TLV we get skip using dtc, which would be nice for non-dt
> OS's using the same images.

I used dtc for pure lazyness. Writing a blob to a file using libfdt is
about as much
code as parsing it. Even with KVP or TLV you have some code that needs
to encode / pack your header into a file.

libfdt has an example that creates an empty tree. Write that to a file, done.

1: Create empty tree
https://github.com/dgibson/dtc/blob/master/libfdt/fdt_empty_tree.c

2: fopen / fwrite, done

> Also, the license of libfdt allows the use by proprietary
> os's, but that's not true for dtc.

Why would that be an issue, you don't need to link anything to run
dtc. That being
said as I pointed out above you don not have to actually use dtc if the values
are known ahead of time (like in our case). What you'd get from using dtc is to
encode arbitrary values (for the types supported).

Cheers,

Moritz

  reply	other threads:[~2017-02-22 16:44 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 16:14 FPGA Region enhancements and fixes Alan Tull
2017-02-15 16:14 ` [RFC 1/8] fpga-mgr: add a single function for fpga loading methods Alan Tull
2017-02-16  0:36   ` matthew.gerlach
2017-02-15 16:14 ` [RFC 2/8] fpga-region: support more than one overlay per FPGA region Alan Tull
2017-02-16 16:50   ` matthew.gerlach
2017-02-16 17:35     ` Alan Tull
2017-02-15 16:14 ` [RFC 3/8] fpga-bridge: add non-dt support Alan Tull
2017-02-15 16:14 ` [RFC 4/8] doc: fpga-mgr: separate getting/locking FPGA manager Alan Tull
2017-02-17 17:14   ` Li, Yi
2017-02-17 21:55     ` Alan Tull
2017-02-17 17:52   ` Moritz Fischer
2017-02-17 22:02     ` Alan Tull
2017-02-15 16:14 ` [RFC 5/8] " Alan Tull
2017-02-15 16:14 ` [RFC 6/8] fpga-region: separate out common code to allow non-dt support Alan Tull
2017-02-15 16:14 ` [RFC 7/8] fpga-region: add sysfs interface Alan Tull
2017-02-15 17:21   ` Jason Gunthorpe
2017-02-15 17:46     ` Alan Tull
2017-02-15 17:55       ` Moritz Fischer
2017-02-15 18:06       ` Jason Gunthorpe
2017-02-15 18:23         ` Alan Tull
2017-02-15 18:31           ` Moritz Fischer
2017-02-15 19:49           ` Jason Gunthorpe
2017-02-15 22:49             ` Alan Tull
2017-02-15 23:07               ` Jason Gunthorpe
2017-02-15 20:07           ` matthew.gerlach
2017-02-15 20:37             ` Jason Gunthorpe
2017-02-15 20:54               ` Moritz Fischer
2017-02-15 21:15                 ` Jason Gunthorpe
2017-02-15 21:36                   ` Moritz Fischer
2017-02-15 22:42                     ` Alan Tull
2017-02-16  0:16                       ` Moritz Fischer
2017-02-16 17:47                         ` Alan Tull
2017-02-16 17:56                           ` Jason Gunthorpe
2017-02-16 18:11                             ` Moritz Fischer
2017-02-17 22:28                 ` Yves Vandervennet
2017-02-18  2:30                   ` Moritz Fischer
2017-02-18 12:45                     ` Nadathur, Sundar
2017-02-18 20:10                       ` Alan Tull
2017-02-18 20:45                         ` Moritz Fischer
2017-02-19 15:00                           ` Alan Tull
2017-02-19 23:16                             ` Alan Tull
2017-02-20 23:49                               ` Moritz Fischer
2017-02-21 18:33                                 ` Alan Tull
2017-02-22  3:13                                   ` Nadathur, Sundar
2017-02-22  3:49                                     ` Moritz Fischer
2017-02-22  5:12                                       ` Jason Gunthorpe
2017-02-22  5:38                                         ` Moritz Fischer
2017-02-22  5:46                                           ` Nadathur, Sundar
2017-02-22  6:05                                             ` Moritz Fischer
2017-02-22 16:44                                               ` Jason Gunthorpe
2017-02-22 17:50                                                 ` Moritz Fischer
2017-02-22 17:54                                                   ` Jason Gunthorpe
2017-02-22 17:57                                                     ` Moritz Fischer
2017-02-22 16:33                                           ` Alan Tull
2017-02-22 16:44                                             ` Moritz Fischer [this message]
2017-02-22 16:52                                               ` Alan Tull
2017-02-27 20:09                                   ` Alan Tull
2017-02-27 22:49                                     ` Moritz Fischer
2017-02-28  0:04                                       ` matthew.gerlach
2017-02-15 21:20         ` Anatolij Gustschin
2017-02-15 16:14 ` [RFC 8/8] doc: fpga: add sysfs document for fpga region Alan Tull
2017-02-28 17:35 ` FPGA Region enhancements and fixes Alan Tull
2017-02-28 22:03   ` Alan Tull

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=CAAtXAHfnYd0iWVK6HaAzgvwV5PN5jYYSXnxEAqDoYMiPKeR8nQ@mail.gmail.com \
    --to=moritz.fischer@ettus.com \
    --cc=delicious.quinoa@gmail.com \
    --cc=jgunthorpe@obsidianresearch.com \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=matthew.gerlach@linux.intel.com \
    --cc=sundar.nadathur@intel.com \
    --cc=yves.vandervennet@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).