Thread (8 messages) flat view 8 messages, 4 authors, 2011-06-28

[RFC 1/8] drivers: add generic remoteproc framework

From: Grant Likely <hidden>
Date: 2011-06-27 23:37:42
Also in: linux-omap, lkml

On Mon, Jun 27, 2011 at 5:29 PM, Russell King - ARM Linux
[off-list ref] wrote:
On Mon, Jun 27, 2011 at 02:49:58PM -0600, Grant Likely wrote:
quoted
quoted
+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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help