On Mon, Sep 21, 2015 at 4:53 PM, Julien Grall <julien.gr...@citrix.com> wrote:
> Hi Vijay,
>
> The only things I haven't check on this patch was the ITS command structure.
[...]
> 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.
>

Do you mean to convert all field type as 64 as below?

    struct __packed {
        u64 cmd:8;
        u64 res:24;
        u64 devid:32;
        u64 size:5;
        u64 res2:59;
        /* XXX: Though itt is 40 bit. Keep it 48 to avoid shift */
        u64 res3:8;
        u64 itt:40;
        u64 res4:15;
        u64 valid:1;
        u64 res5;
    } mapd_cmd;

>> +        u64 itt:40;
>> +        u64 res4:15;
>> +        u64 valid:1;
>> +        u64 res5;
>> +    } mapd;
>
> [..]
l

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to