|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v7 05/28] xen/arm: ITS: Port ITS driver to Xen
On Mon, Sep 21, 2015 at 4:53 PM, Julien Grall <julien.grall@xxxxxxxxxx> wrote:
> Hi Vijay,
>
> The only things I haven't check on this patch was the ITS command structure.
>
> On 18/09/15 14:08, vijay.kilari@xxxxxxxxx wrote:
>> +/* ITS command structure */
>> +typedef union {
>
> Can you please sort this union by command name in alphabetical order.
> It's way easier to find a command in the list.
>
>> + u64 bits[4];
>> + struct __packed {
>> + uint8_t cmd;
>
> NIT: Please stay consistent with usage of the type. You are using u8
> everywhere within this union except here.
>
>> + uint8_t pad[7];
>
> Why a padding of only 56 bits? Shouldn't it be 248 bits (i.e 31 * 8
> bits) to fit all the command?
>
>> + } hdr;
>> + struct __packed {
>> + u8 cmd;
>> + u8 res1[3];
>> + u32 devid;
>> + u64 size:5;
>> + u64 res2:59;
>> + /* XXX: Though itt is 40 bit. Keep it 48 to avoid shift */
>> + u64 res3:8;
>
> It's very confusing for the reviewer to see a mix of usage (u8 res1[n],
> u64 res3:8) within the same structure.
>
> The later (i.e u64 field:n) is the best to use because we can match
> quickly the size with the spec.
>
>> + u64 itt:40;
>> + u64 res4:15;
>> + u64 valid:1;
>> + u64 res5;
>> + } mapd;
>
> [..]
>
>> + struct __packed {
>> + u8 cmd;
>> + u8 res1[3];
>> + u32 devid;
>> + u32 event;
>> + u32 res2;
>> + u64 res3;
>> + u64 res4;
>> + } int_cmd;
>
> Maybe you want to add the suffix _cmd to everyone to avoid having only
> one because of C spec issue.
suffixing _cmd will look ugly ( as below ex) where "cmd" is repeated twice.
cmd.mapd_cmd.cmd = GITS_CMD_MAPD;
cmd.mapd_cmd.devid = dev->device_id;
cmd.mapd_cmd.size = size - 1;
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |