From: Oliver Upton <oliver.upton@linux.dev>
To: Sean Christopherson <seanjc@google.com>
Cc: Marc Zyngier <maz@kernel.org>,
linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev,
kvmarm@lists.cs.columbia.edu,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/2] KVM: arm64: selftests: Disable single-step without relying on ucall()
Date: Thu, 17 Nov 2022 00:53:05 +0000 [thread overview]
Message-ID: <Y3WF8YlvFm8NGYHd@google.com> (raw)
In-Reply-To: <20221117002350.2178351-3-seanjc@google.com>
On Thu, Nov 17, 2022 at 12:23:50AM +0000, Sean Christopherson wrote:
> Automatically disable single-step when the guest reaches the end of the
> verified section instead of using an explicit ucall() to ask userspace to
> disable single-step. An upcoming change to implement a pool-based scheme
> for ucall() will add an atomic operation (bit test and set) in the guest
> ucall code, and if the compiler generate "old school" atomics, e.g.
Off topic, but I didn't ask when we were discussing this issue. What is
the atomic used for in the pool-based ucall implementation?
> 40e57c: c85f7c20 ldxr x0, [x1]
> 40e580: aa100011 orr x17, x0, x16
> 40e584: c80ffc31 stlxr w15, x17, [x1]
> 40e588: 35ffffaf cbnz w15, 40e57c <__aarch64_ldset8_sync+0x1c>
>
> the guest will hang as the local exclusive monitor is reset by eret,
> i.e. the stlxr will always fail due to the VM-Exit for the debug
> exception.
... due to the debug exception taken to EL2.
What's a VM-Exit anyways? ;-)
> Link: https://lore.kernel.org/all/20221006003409.649993-8-seanjc@google.com
> Cc: Oliver Upton <oliver.upton@linux.dev>
> Cc: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Sean Christopherson <seanjc@google.com>
With the commit message nit:
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
--
Thanks,
Oliver
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm
WARNING: multiple messages have this Message-ID (diff)
From: Oliver Upton <oliver.upton@linux.dev>
To: Sean Christopherson <seanjc@google.com>
Cc: Marc Zyngier <maz@kernel.org>, James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org,
Reiji Watanabe <reijiw@google.com>
Subject: Re: [PATCH 2/2] KVM: arm64: selftests: Disable single-step without relying on ucall()
Date: Thu, 17 Nov 2022 00:53:05 +0000 [thread overview]
Message-ID: <Y3WF8YlvFm8NGYHd@google.com> (raw)
Message-ID: <20221117005305.HGgMTW-oTW--Pk_dRnv2npcNbECXRLQ2v7fEn2puVNc@z> (raw)
In-Reply-To: <20221117002350.2178351-3-seanjc@google.com>
On Thu, Nov 17, 2022 at 12:23:50AM +0000, Sean Christopherson wrote:
> Automatically disable single-step when the guest reaches the end of the
> verified section instead of using an explicit ucall() to ask userspace to
> disable single-step. An upcoming change to implement a pool-based scheme
> for ucall() will add an atomic operation (bit test and set) in the guest
> ucall code, and if the compiler generate "old school" atomics, e.g.
Off topic, but I didn't ask when we were discussing this issue. What is
the atomic used for in the pool-based ucall implementation?
> 40e57c: c85f7c20 ldxr x0, [x1]
> 40e580: aa100011 orr x17, x0, x16
> 40e584: c80ffc31 stlxr w15, x17, [x1]
> 40e588: 35ffffaf cbnz w15, 40e57c <__aarch64_ldset8_sync+0x1c>
>
> the guest will hang as the local exclusive monitor is reset by eret,
> i.e. the stlxr will always fail due to the VM-Exit for the debug
> exception.
... due to the debug exception taken to EL2.
What's a VM-Exit anyways? ;-)
> Link: https://lore.kernel.org/all/20221006003409.649993-8-seanjc@google.com
> Cc: Oliver Upton <oliver.upton@linux.dev>
> Cc: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Sean Christopherson <seanjc@google.com>
With the commit message nit:
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
--
Thanks,
Oliver
WARNING: multiple messages have this Message-ID (diff)
From: Oliver Upton <oliver.upton@linux.dev>
To: Sean Christopherson <seanjc@google.com>
Cc: Marc Zyngier <maz@kernel.org>, James Morse <james.morse@arm.com>,
Alexandru Elisei <alexandru.elisei@arm.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org,
Reiji Watanabe <reijiw@google.com>
Subject: Re: [PATCH 2/2] KVM: arm64: selftests: Disable single-step without relying on ucall()
Date: Thu, 17 Nov 2022 00:53:05 +0000 [thread overview]
Message-ID: <Y3WF8YlvFm8NGYHd@google.com> (raw)
In-Reply-To: <20221117002350.2178351-3-seanjc@google.com>
On Thu, Nov 17, 2022 at 12:23:50AM +0000, Sean Christopherson wrote:
> Automatically disable single-step when the guest reaches the end of the
> verified section instead of using an explicit ucall() to ask userspace to
> disable single-step. An upcoming change to implement a pool-based scheme
> for ucall() will add an atomic operation (bit test and set) in the guest
> ucall code, and if the compiler generate "old school" atomics, e.g.
Off topic, but I didn't ask when we were discussing this issue. What is
the atomic used for in the pool-based ucall implementation?
> 40e57c: c85f7c20 ldxr x0, [x1]
> 40e580: aa100011 orr x17, x0, x16
> 40e584: c80ffc31 stlxr w15, x17, [x1]
> 40e588: 35ffffaf cbnz w15, 40e57c <__aarch64_ldset8_sync+0x1c>
>
> the guest will hang as the local exclusive monitor is reset by eret,
> i.e. the stlxr will always fail due to the VM-Exit for the debug
> exception.
... due to the debug exception taken to EL2.
What's a VM-Exit anyways? ;-)
> Link: https://lore.kernel.org/all/20221006003409.649993-8-seanjc@google.com
> Cc: Oliver Upton <oliver.upton@linux.dev>
> Cc: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Sean Christopherson <seanjc@google.com>
With the commit message nit:
Reviewed-by: Oliver Upton <oliver.upton@linux.dev>
--
Thanks,
Oliver
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-11-17 0:53 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-17 0:23 [PATCH 0/2] KVM: arm64: selftests: Fixes for single-step test Sean Christopherson
2022-11-17 0:23 ` Sean Christopherson
2022-11-17 0:23 ` Sean Christopherson
2022-11-17 0:23 ` [PATCH 1/2] KVM: arm64: selftests: Disable single-step with correct KVM define Sean Christopherson
2022-11-17 0:23 ` Sean Christopherson
2022-11-17 0:23 ` Sean Christopherson
2022-11-17 0:43 ` Oliver Upton
2022-11-17 0:43 ` Oliver Upton
2022-11-17 0:43 ` Oliver Upton
2022-11-17 3:07 ` Reiji Watanabe
2022-11-17 3:07 ` Reiji Watanabe
2022-11-17 3:07 ` Reiji Watanabe
2022-11-17 0:23 ` [PATCH 2/2] KVM: arm64: selftests: Disable single-step without relying on ucall() Sean Christopherson
2022-11-17 0:23 ` Sean Christopherson
2022-11-17 0:23 ` Sean Christopherson
2022-11-17 0:53 ` Oliver Upton [this message]
2022-11-17 0:53 ` Oliver Upton
2022-11-17 0:53 ` Oliver Upton
2022-11-17 1:20 ` Sean Christopherson
2022-11-17 1:20 ` Sean Christopherson
2022-11-17 1:20 ` Sean Christopherson
2022-11-17 15:19 ` Sean Christopherson
2022-11-17 15:19 ` Sean Christopherson
2022-11-17 15:19 ` Sean Christopherson
2022-11-17 22:32 ` Sean Christopherson
2022-11-17 22:32 ` Sean Christopherson
2022-11-17 22:32 ` Sean Christopherson
2022-11-17 7:07 ` Reiji Watanabe
2022-11-17 7:07 ` Reiji Watanabe
2022-11-17 7:07 ` Reiji Watanabe
2022-11-17 13:52 ` [PATCH 0/2] KVM: arm64: selftests: Fixes for single-step test Marc Zyngier
2022-11-17 13:52 ` Marc Zyngier
2022-11-17 13:52 ` Marc Zyngier
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=Y3WF8YlvFm8NGYHd@google.com \
--to=oliver.upton@linux.dev \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maz@kernel.org \
--cc=seanjc@google.com \
/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.