[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH] Use fixed-width types in the memory event interface



A mostly unrelated question: I notice that vcpu_id is set to int32_t
rather than uint32_t. This matches with the vcpu_id field in struct
vcpu, but I'm just curious as to why this isn't an unsigned int in
struct vcpu. Is there ever a time when vcpu_id is negative? I realise
it's unlikely that we'll need to consider 4 billion vcpus (at least
not anytime soon), but just wondering if there's any particular reason
why this is a signed integer instead of an unsigned one.


Patrick


On 29 June 2010 07:28, Patrick Colp <pjcolp@xxxxxxxxx> wrote:
> On 29 June 2010 06:47, Tim Deegan <Tim.Deegan@xxxxxxxxxx> wrote:
>> Set the types in the public memory_event header file to use fixed-sized
>> and self-aligned fields rather than "unsigned long". ÂAIUI this feature
>> only works with 64-bit hypervisors but I think this change will be
>> necessary to use 32-on-64 dom0 tools.
>>
>> This breaks compatibility with older builds of the tools, but I can't
>> see any way to avoid it short of __attribute__((__packed__)).
>>
>> I'd like an ack/nack from Patrick on this, please.
>>
>> Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
>
> Acked-by: Patrick Colp <pjcolp@xxxxxxxxx>
>
>
>
>> diff -r 7b00193bd033 xen/include/public/mem_event.h
>> --- a/xen/include/public/mem_event.h  ÂMon Jun 28 17:40:16 2010 +0100
>> +++ b/xen/include/public/mem_event.h  ÂTue Jun 29 14:38:06 2010 +0100
>> @@ -40,14 +40,14 @@
>>
>>
>> Âtypedef struct mem_event_shared_page {
>> - Â Âint port;
>> + Â Âuint32_t port;
>> Â} mem_event_shared_page_t;
>>
>> Âtypedef struct mem_event_st {
>> - Â Âunsigned long gfn;
>> - Â Âunsigned long offset;
>> - Â Âunsigned long p2mt;
>> - Â Âint vcpu_id;
>> + Â Âuint64_t gfn;
>> + Â Âuint64_t offset;
>> + Â Âuint32_t p2mt;
>> + Â Âint32_t vcpu_id;
>> Â Â uint64_t flags;
>> Â} mem_event_request_t, mem_event_response_t;
>>
>>
>>
>

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.