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

Re: [Xen-devel] [PATCH 5/9] x86/hypercall: Move the hypercall tables into C



On 02/08/16 14:40, Jan Beulich wrote:
>>>> On 02.08.16 at 15:30, <andrew.cooper3@xxxxxxxxxx> wrote:
>> On 02/08/16 14:23, Jan Beulich wrote:
>>>>>> On 18.07.16 at 11:51, <andrew.cooper3@xxxxxxxxxx> wrote:
>>>> +hypercall_fn_t *const hypercall_table[NR_hypercalls] = {
>>>> +    HYPERCALL(set_trap_table),
>>>> +    HYPERCALL(mmu_update),
>>>> +    HYPERCALL(set_gdt),
>>>> +    HYPERCALL(stack_switch),
>>>> +    HYPERCALL(set_callbacks),
>>>> +    HYPERCALL(fpu_taskswitch),
>>>> +    HYPERCALL(sched_op_compat),
>>>> +    HYPERCALL(platform_op),
>>>> +    HYPERCALL(set_debugreg),
>>>> +    HYPERCALL(get_debugreg),
>>>> +    HYPERCALL(update_descriptor),
>>>> +    HYPERCALL(memory_op),
>>>> +    HYPERCALL(multicall),
>>>> +    HYPERCALL(update_va_mapping),
>>>> +    HYPERCALL(set_timer_op),
>>>> +    HYPERCALL(event_channel_op_compat),
>>>> +    HYPERCALL(xen_version),
>>>> +    HYPERCALL(console_io),
>>>> +    HYPERCALL(physdev_op_compat),
>>>> +    HYPERCALL(grant_table_op),
>>>> +    HYPERCALL(vm_assist),
>>>> +    HYPERCALL(update_va_mapping_otherdomain),
>>>> +    HYPERCALL(iret),
>>>> +    HYPERCALL(vcpu_op),
>>>> +    HYPERCALL(set_segment_base),
>>>> +    HYPERCALL(mmuext_op),
>>>> +    HYPERCALL(xsm_op),
>>>> +    HYPERCALL(nmi_op),
>>>> +    HYPERCALL(sched_op),
>>>> +    HYPERCALL(callback_op),
>>>> +#ifdef CONFIG_XENOPROF
>>>> +    HYPERCALL(xenoprof_op),
>>>> +#endif
>>>> +    HYPERCALL(event_channel_op),
>>>> +    HYPERCALL(physdev_op),
>>>> +    HYPERCALL(hvm_op),
>>>> +    HYPERCALL(sysctl),
>>>> +    HYPERCALL(domctl),
>>>> +#ifdef CONFIG_KEXEC
>>>> +    HYPERCALL(kexec_op),
>>>> +#endif
>>>> +#ifdef CONFIG_TMEM
>>>> +    HYPERCALL(tmem_op),
>>>> +#endif
>>> To be honest I'd prefer the necessary #ifdef-ery to live in hypercall.h,
>>> the more that then ARM could (if they want) benefit from that too.
>> Which #ifdefary?
>>
>> HYPERCALL() can't be used by ARM.
> I mean just the #ifdef-s above, not the HYPERCALL() lines. Clearly
> you can do
>
> #ifndef CONFIG_TMEM
> # define do_tmem_op NULL
> #endif
>
> and alike in the header?

This isn't any neater IMO, and still risks getting a NULL in one half of
a native/compat pair.

~Andrew

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