[RFC 1/8] drivers: add generic remoteproc framework
Grant Likely
grant.likely at secretlab.ca
Mon Jun 27 19:35:49 EDT 2011
On Mon, Jun 27, 2011 at 5:29 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Mon, Jun 27, 2011 at 02:49:58PM -0600, Grant Likely wrote:
>> > +struct {
>> > + char magic[4] = { 'R', 'P', 'R', 'C' };
>> > + u32 version;
>> > + u32 header_len;
>> > + char header[...] = { header_len bytes of unformatted, textual header };
>> > + struct section {
>> > + u32 type;
>> > + u64 da;
>> > + u32 len;
>> > + u8 content[...] = { len bytes of binary data };
>> > + } [ no limit on number of sections ];
>> > +} __packed;
>>
>> Other have commented on the image format, so I'll skip this bit other
>> than saying that I agree it would be great to have a common format.
>
> (Don't have the original message to reply to...)
>
> Do we really want to end up with header being 5 bytes, header_len set
> as 5, and having to load/store all this data using byte loads/stores ?
>
> If we don't want that, then I suggest we get rid of the packed attribute,
> and require stuff to be naturally aligned.
>
> First issue is that struct section could be much better layed out:
>
> struct section {
> u32 type;
> u32 len;
> u64 da;
> u8 content[];
> };
>
> and require sizeof(struct section) % sizeof(u64) == 0 - iow, to find
> the next section, round len up to sizeof(u64). Ditto for the header.
Hopefully this will all be moot since it has been proposed to use elf
images directly.
g.
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the linux-arm-kernel
mailing list