mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Andy Lutomirski <luto@amacapital.net>, Juergen Gross <jgross@suse.com>
Cc: X86 ML <x86@kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [Xen-devel] [PATCH v1] xen: get rid of paravirt op adjust_exception_frame
Date: Wed, 26 Jul 2017 15:01:01 +0100	[thread overview]
Message-ID: <45d0e5c7-a946-d7be-20e5-6965cb9f6629@citrix.com> (raw)
In-Reply-To: <CALCETrVqUYbFiGLi1mqNq5ej5zT1cnfPk=3dwDu9D8kNFTQasw@mail.gmail.com>

On 26/07/17 14:48, Andy Lutomirski wrote:
>
>>  /* Runs on exception stack */
>> -ENTRY(nmi)
>> -       /*
>> -        * Fix up the exception frame if we're on Xen.
>> -        * PARAVIRT_ADJUST_EXCEPTION_FRAME is guaranteed to push at most
>> -        * one value to the stack on native, so it may clobber the rdx
>> -        * scratch slot, but it won't clobber any of the important
>> -        * slots past it.
>> -        *
>> -        * Xen is a different story, because the Xen frame itself overlaps
>> -        * the "NMI executing" variable.
>> -        */
> I would keep this comment.  The Xen frame really is in the way AFAICT.

(For reasons best explained by the original authors) there is only ever
a single stack which a PV guest registers with Xen, which functions
equivalently to tss.sp0.  There is no support for stack switching via
task switch or IST.

Therefore, nested NMIs won't clobber the top of this stack.

~Andrew

  reply	other threads:[~2017-07-26 14:01 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-07-24 14:28 Juergen Gross
2017-07-26 12:59 ` Boris Ostrovsky
2017-07-26 13:48 ` Andy Lutomirski
2017-07-26 14:01   ` Andrew Cooper [this message]
2017-07-26 14:09     ` [Xen-devel] " Andy Lutomirski
2017-07-26 14:31       ` Andrew Cooper
2017-07-26 15:12   ` Juergen Gross
2017-07-26 15:50   ` Juergen Gross
2017-07-26 17:57     ` Andy Lutomirski
2017-07-26 18:43       ` Juergen Gross
2017-07-26 20:15         ` Andy Lutomirski

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=45d0e5c7-a946-d7be-20e5-6965cb9f6629@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®