All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	xen-devel <xen-devel@lists.xen.org>,
	Borislav Petkov <bp@alien8.de>,
	David Vrabel <david.vrabel@citrix.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH] xen/x86: Adjust stack pointer in xen_sysexit
Date: Tue, 17 Nov 2015 19:29:15 +0000	[thread overview]
Message-ID: <564B800B.1060006__47593.984186142$1447788668$gmane$org@citrix.com> (raw)
In-Reply-To: <CALCETrXv2=JUJvcx0_wmd8bQQ8UUAOyhX+_LTKch8RaJFspPcw@mail.gmail.com>

On 17/11/15 19:16, Andy Lutomirski wrote:
> On Tue, Nov 17, 2015 at 11:12 AM, Andrew Cooper
> <andrew.cooper3@citrix.com> wrote:
>> On 17/11/15 18:49, Andy Lutomirski wrote:
>>> On Nov 17, 2015 6:40 AM, "Boris Ostrovsky" <boris.ostrovsky@oracle.com> wrote:
>>>> On 11/16/2015 04:55 PM, H. Peter Anvin wrote:
>>>>> On 11/16/15 12:22, Borislav Petkov wrote:
>>>>>> Huh, so what's wrong with a jump:
>>>>>>
>>>>>>         jmp 1f
>>>>>>         swapgs
>>>>>>         1:
>>>>>>
>>>>> What is the point of that jump?
>>>>>
>>>>>>> If it would make you feel better, it could be X86_BUG_XENPV :-p
>>>>>> That doesn't matter - I just don't want to open the flood gates on
>>>>>> pseudo feature bits.
>>>>>>
>>>>>> hpa, what do you think?
>>>>> Pseudo feature bits are fine, we already have plenty of them.  They make
>>>>> sense as they let us reuse a lot of infrastructure.
>>>>
>>>> So how about something like this? And then I think we can remove usergs_sysret32 and irq_enable_sysexit pv ops completely as noone will use them (lguest doesn't set them)
>>>>
>>> Looks good to me.  Does Xen have any sysexit/sysret32 equivalent to
>>> return to 32-bit user mode?  If so, it could be worth trying to wire
>>> it up by patching the jz instead of the test instruction.
>> From the guests point of view, there is only hypercall_iret.
> Doesn't hypercall_iret have flags that ask for different behavior,
> though?  (VG_syscall or whatever for the 64-bit case?)

The one and only flag is VGCF_in_syscall

Xen has its own logic for choosing between sysretq/sysretl if
VGCF_in_syscall, but will end up on an iret path in all other
circumstances. 

There is definitely some room for optimisation here, but in in some
copious free time before that, I want to see about brining most of our
asm code up into C.  The vast majority of it doesn't need to be written
in asm.

>
>>> Also, I'd prefer X86_FEATURE_XENPV.  IMO "PV" means too many things to
>>> too many people.
>> I agree - PV on its own is too generic.
>>
>> An alternative might be X86_FEATURE_XEN_PV_GUEST which is very clear an
>> unambiguous, although rather longer.
> Works for me, too, although seeing "xen_pv_host" in the Linux cpu
> features would be very strange indeed :)

This makes me wonders whether the `insmod xen` project has managed to
gain any traction ;)

~Andrew

  parent reply	other threads:[~2015-11-17 19:29 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-13 23:18 [PATCH] xen/x86: Adjust stack pointer in xen_sysexit Boris Ostrovsky
2015-11-13 23:26 ` Andy Lutomirski
2015-11-14  1:23   ` Boris Ostrovsky
2015-11-14  1:23   ` Boris Ostrovsky
2015-11-15 18:02     ` Andy Lutomirski
2015-11-15 18:02     ` Andy Lutomirski
2015-11-16 16:25       ` Boris Ostrovsky
2015-11-16 16:25       ` Boris Ostrovsky
2015-11-16 19:03         ` Andy Lutomirski
2015-11-16 19:59           ` Borislav Petkov
2015-11-16 20:11             ` Andy Lutomirski
2015-11-16 20:11             ` Andy Lutomirski
2015-11-16 20:22               ` Borislav Petkov
2015-11-16 20:22               ` Borislav Petkov
2015-11-16 20:48                 ` Boris Ostrovsky
2015-11-16 20:50                   ` Andy Lutomirski
2015-11-16 21:00                     ` Borislav Petkov
2015-11-16 21:00                     ` Borislav Petkov
2015-11-16 21:03                     ` Konrad Rzeszutek Wilk
2015-11-16 21:04                       ` Andy Lutomirski
2015-11-17 10:53                         ` Joao Martins
2015-11-17 10:53                         ` Joao Martins
2015-11-16 21:04                       ` Andy Lutomirski
2015-11-16 20:50                   ` Andy Lutomirski
2015-11-16 20:48                 ` Boris Ostrovsky
2015-11-16 21:55                 ` H. Peter Anvin
2015-11-16 21:55                 ` H. Peter Anvin
2015-11-17 14:40                   ` Boris Ostrovsky
2015-11-17 14:40                   ` Boris Ostrovsky
2015-11-17 18:49                     ` Andy Lutomirski
2015-11-17 19:12                       ` Andrew Cooper
2015-11-17 19:12                       ` [Xen-devel] " Andrew Cooper
2015-11-17 19:16                         ` Andy Lutomirski
2015-11-17 19:21                           ` Borislav Petkov
2015-11-17 19:21                           ` [Xen-devel] " Borislav Petkov
2015-11-17 19:29                           ` Andrew Cooper
2015-11-17 19:36                             ` Andy Lutomirski
2015-11-17 19:36                             ` Andy Lutomirski
2015-11-17 19:29                           ` Andrew Cooper [this message]
2015-11-17 19:37                           ` [Xen-devel] " Boris Ostrovsky
2015-11-17 19:38                             ` Boris Ostrovsky
2015-11-17 19:38                             ` [Xen-devel] " Boris Ostrovsky
2015-11-17 19:37                           ` Boris Ostrovsky
2015-11-17 19:16                         ` Andy Lutomirski
2015-11-17 18:49                     ` Andy Lutomirski
2015-11-16 19:59           ` Borislav Petkov
2015-11-16 20:31           ` Boris Ostrovsky
2015-11-16 20:31           ` Boris Ostrovsky
2015-11-16 19:03         ` Andy Lutomirski
2015-11-13 23:26 ` Andy Lutomirski
2015-11-13 23:18 Boris Ostrovsky

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='564B800B.1060006__47593.984186142$1447788668$gmane$org@citrix.com' \
    --to=andrew.cooper3@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=david.vrabel@citrix.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --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.