Am Dienstag, den 03.12.2013, 06:30 -0800 schrieb Greg KH: > On Tue, Dec 03, 2013 at 02:35:17PM +0100, Frank Haverkamp wrote: > > > > +/* common struct for chip image exchange */ > > > > +struct chip_bitstream { > > > > + uint8_t __user *pdata; /* pointer to image data */ > > > > + int size; /* size of image file */ > > > > > > I think this fails the 32/64bit issue, right? > > > > Yes. I replaced those by something like > > __u32 data_addr; > > I hope that is fixing the 32/64bit issue. > > No, not at all, how are you going to put a 64bit userspace pointer in > there? >
Ohh, sorry __u64 of course: /* common struct for chip image exchange */ struct genwqe_bitstream { __u64 data_addr; /* pointer to image data */ __u32 size; /* size of image file */ __u32 crc; /* crc of this image */ __u8 partition; /* '0', '1', or 'v' */ __u64 target_addr; /* starting address in Flash */ __u8 uid; /* 1=host/x=dram */ __u64 slu_id; /* informational/sim: SluID */ __u64 app_id; /* informational/sim: AppID */ __u16 retc; /* returned from processing */ __u16 attn; /* attention code from processing */ __u32 progress; /* progress code from processing */ }; and than I do in my userspace application: load.data_addr = (unsigned long)buf; Is that ok, or must I consider more? Regards Frank -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/