WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Tim Deegan <Tim.Deegan@xxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH] Use fixed-width types in the memory event interface
From: Patrick Colp <pjcolp@xxxxxxxxx>
Date: Tue, 29 Jun 2010 07:37:08 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 29 Jun 2010 07:37:48 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTimTNhdoVWa7APPGvr2uSY0ikRtmelB2GuhhIiWQ@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <20100629134707.GF31695@xxxxxxxxxxxxxxxxxxxxxxx> <AANLkTimTNhdoVWa7APPGvr2uSY0ikRtmelB2GuhhIiWQ@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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