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

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



On 29/06/2010 15:37, "Patrick Colp" <pjcolp@xxxxxxxxx> wrote:

> 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.

No.

 K.

> 
> 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



_______________________________________________
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®.