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

Re: [Xen-devel] [PATCH V2] tools/libxc, xen/x86: Added xc_set_mem_access_multi()



>>> On 02.09.16 at 15:03, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
> On 09/02/2016 03:56 PM, Jan Beulich wrote:
>>>>> On 02.09.16 at 14:41, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>>> On 09/02/2016 03:33 PM, Jan Beulich wrote:
>>>>>>> On 02.09.16 at 14:21, <rcojocaru@xxxxxxxxxxxxxxx> wrote:
>>>>> On 09/02/2016 01:02 PM, Jan Beulich wrote:
>>>>>>> +    /*
>>>>>>>> +     * Corresponding list of access settings for pfn_list
>>>>>>>> +     * Used only with XENMEM_access_op_set_access_multi
>>>>>>>> +     */
>>>>>>>> +    XEN_GUEST_HANDLE(uint8) access_list;
>>>>>> And for both of them - I don't think the arrays are meant to be
>>>>>> used for output? In which case they should be handles of const
>>>>>> types.
>>>>>
>>>>> Actually I can't seem to be able to find a magic combination that works.
>>>>>
>>>>> XEN_GUEST_HANDLE(const uint8) access_list; tells me:
>>>>>
>>>>> ./public/arch-x86/xen.h:53:41: error: '__guest_handle_const' does not
>>>>> name a type
>>>>>  #define __XEN_GUEST_HANDLE(name)        __guest_handle_ ## name
>>>>>
>>>>> which is fair. I've tried:
>>>>>
>>>>> XEN_GUEST_HANDLE(const_uint8) access_list;
>>>>>
>>>>> which does go further with the compilation process, but still kills it 
>>>>> with:
>>>>>
>>>>> xen/include/compat/memory.h:154:5: error: unknown type name
>>>>> '__compat_handle_const_uint8'
>>>>>      COMPAT_HANDLE(const_uint8) access_list;
>>>>>
>>>>> What would be the appropriate const type to use here?
>>>>
>>>> This one. Did you check that handle actually gets created? Per
>>>> my brief checking it doesn't look so. And neither the native one.
>>>
>>> Running ./configure again, followed by 'make clean' and a new 'make
>>> dist' didn't help, so if it's supposed to be generated automatically it
>>> doesn't seem to be (or I'm doing something wrong). I'll investigate more.
>> 
>> The compat one is supposed to get auto-generated once the native
>> one is there.
> 
> Changing both handles to XEN_GUEST_HANLDE(const_void) compiles cleanly.
> As soon as I change to either XEN_GUEST_HANLDE(const_uint8) or
> XEN_GUEST_HANLDE(const_uint64) I start getting errors.
> 
> Previously the auto-generation seems to have worked fine, so this is
> likely something more subtle.

Oh, I see where the issue is: Both DEFINE_XEN_GUEST_HANDLE()
and __DEFINE_XEN_GUEST_HANDLE() auto-magically produce const
counterparts, but while DEFINE_COMPAT_HANDLE() does too,
__DEFINE_COMPAT_HANDLE() doesn't. That'll need fixing, I think.

Jan


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

 


Rackspace

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