All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@arm.com>
To: Jan Beulich <JBeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH 1/9] x86/hypercall: Move some of the hvm hypercall infrastructure into hypercall.h
Date: Tue, 2 Aug 2016 15:26:11 +0100	[thread overview]
Message-ID: <582f0e7e-f210-226a-0ef8-057394486e78@arm.com> (raw)
In-Reply-To: <57A0C7A40200007800101DBF@prv-mh.provo.novell.com>



On 02/08/16 15:17, Jan Beulich wrote:
>>>> On 02.08.16 at 16:04, <julien.grall@arm.com> wrote:
>> On 02/08/16 14:28, Jan Beulich wrote:
>>>>>> On 02.08.16 at 15:14, <andrew.cooper3@citrix.com> wrote:
>>>> On 02/08/16 13:50, Jan Beulich wrote:
>>>>>>>> On 18.07.16 at 11:51, <andrew.cooper3@citrix.com> wrote:
>>>>>> --- a/xen/include/asm-x86/hypercall.h
>>>>>> +++ b/xen/include/asm-x86/hypercall.h
>>>>>> @@ -5,9 +5,21 @@
>>>>>>  #ifndef __ASM_X86_HYPERCALL_H__
>>>>>>  #define __ASM_X86_HYPERCALL_H__
>>>>>>
>>>>>> +#include <xen/types.h>
>>>>>>  #include <public/physdev.h>
>>>>>> +#include <public/event_channel.h>
>>>>> Why?
>>>>
>>>> You snipped the commit message, which justifies why.  This header file
>>>> cannot currently be included in isolation, and I need it to be.
>>>
>>> Ah, that sentence there also relates to this addition.
>>>
>>>>>>  #include <public/arch-x86/xen-mca.h> /* for do_mca */
>>>>>> -#include <xen/types.h>
>>>>>> +
>>>>>> +typedef unsigned long hypercall_fn_t(
>>>>>> +    unsigned long, unsigned long, unsigned long,
>>>>>> +    unsigned long, unsigned long, unsigned long);
>>>>> Wouldn't this better go into xen/hypercall.h?
>>>>
>>>> It is architecture specific.
>>>>
>>>> ARM's version is
>>>>
>>>> typedef register_t (*arm_hypercall_fn_t)(
>>>>     register_t, register_t, register_t, register_t, register_t);
>>>
>>> Which is bogus - they're lucky we so far don't have any 6-argument
>>> hypercalls. Or the other way around - we could limit hypercalls to
>>> just five arguments (for now) on x86 too, allowing things to get
>>> unified. Anyway - that probably goes too far right now, so feel free
>>> to add my ack to the patch.
>>
>> I am not sure why you think we are lucky on ARM. The hypercall has been
>> defined on ARM to support up to 5 arguments (public/arch-arm.h):
>>
>> "A hypercall can take up to 5 arguments. These are passed in
>> registers, the first argument in x0/r0 (for arm64/arm32 guests
>> respectively irrespective of whether the underlying hypervisor is
>> 32- or 64-bit), the second argument in x1/r1, the third in x2/r2,
>> the forth in x3/r3 and the fifth in x4/r4."
>>
>> So the prototype matches the ABI.
>
> Well, I find it quite odd for hypercall argument counts to differ
> between arches. I.e. I'd conclude the ABI was mis-specified.

Is it documented somewhere for the x86 code? Looking at Linux, the 
privcmd call is only passing 5 arguments on both ARM and x86.

Regards,

-- 
Julien Grall

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

  reply	other threads:[~2016-08-02 14:26 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-18  9:51 [PATCH 0/9] x86: Move the pv hypercall into C Andrew Cooper
2016-07-18  9:51 ` [PATCH 1/9] x86/hypercall: Move some of the hvm hypercall infrastructure into hypercall.h Andrew Cooper
2016-08-02 12:50   ` Jan Beulich
2016-08-02 13:14     ` Andrew Cooper
2016-08-02 13:28       ` Jan Beulich
2016-08-02 14:04         ` Julien Grall
2016-08-02 14:17           ` Jan Beulich
2016-08-02 14:26             ` Julien Grall [this message]
2016-08-02 14:54               ` Jan Beulich
2016-08-02 14:59                 ` Andrew Cooper
2016-08-02 15:05                   ` Jan Beulich
2016-08-02 18:43                     ` Stefano Stabellini
2016-08-03  8:53                       ` Jan Beulich
2016-08-03 10:55                         ` Julien Grall
2016-08-03 18:20                           ` Stefano Stabellini
2016-08-04 11:27                             ` Julien Grall
2016-07-18  9:51 ` [PATCH 2/9] x86/pv: Support do_set_segment_base() for compat guests Andrew Cooper
2016-08-02 12:52   ` Jan Beulich
2016-08-02 13:25     ` Andrew Cooper
2016-08-02 13:31       ` Jan Beulich
2016-08-02 13:39         ` Andrew Cooper
2016-08-02 13:47           ` Jan Beulich
2016-07-18  9:51 ` [PATCH 3/9] x86/hypercall: Move the hypercall arg tables into C Andrew Cooper
2016-08-02 12:59   ` Jan Beulich
2016-07-18  9:51 ` [PATCH 4/9] x86/pv: Implement pv_hypercall() in C Andrew Cooper
2016-08-02 13:12   ` Jan Beulich
2016-08-02 14:06     ` Andrew Cooper
2016-08-02 14:19       ` Jan Beulich
2016-08-11 11:57     ` Andrew Cooper
2016-08-11 12:20       ` Jan Beulich
2016-07-18  9:51 ` [PATCH 5/9] x86/hypercall: Move the hypercall tables into C Andrew Cooper
2016-08-02 13:23   ` Jan Beulich
2016-08-02 13:30     ` Andrew Cooper
2016-08-02 13:40       ` Jan Beulich
2016-08-11 12:00         ` Andrew Cooper
2016-07-18  9:51 ` [PATCH 6/9] xen/multicall: Rework arch multicall handling Andrew Cooper
2016-07-20 12:35   ` Julien Grall
2016-08-03 15:02   ` Jan Beulich
2016-08-03 15:12     ` Andrew Cooper
2016-07-18  9:51 ` [PATCH 7/9] x86/pv: Merge the pv hypercall tables Andrew Cooper
2016-08-03 15:07   ` Jan Beulich
2016-08-11 12:36     ` Andrew Cooper
2016-07-18  9:51 ` [PATCH 8/9] x86/hypercall: Merge the hypercall arg tables Andrew Cooper
2016-08-03 15:12   ` Jan Beulich
2016-08-03 15:15     ` Andrew Cooper
2016-08-03 15:28       ` Jan Beulich
2016-07-18  9:51 ` [PATCH 9/9] x86/hypercall: Reduce the size of the hypercall tables Andrew Cooper
2016-08-03 15:17   ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=582f0e7e-f210-226a-0ef8-057394486e78@arm.com \
    --to=julien.grall@arm.com \
    --cc=JBeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.