All of lore.kernel.org
 help / color / mirror / Atom feed
From: yezengruan <yezengruan@huawei.com>
To: Steven Price <steven.price@arm.com>
Cc: Mark Rutland <Mark.Rutland@arm.com>,
	"daniel.lezcano@linaro.org" <daniel.lezcano@linaro.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"maz@kernel.org" <maz@kernel.org>,
	Suzuki Poulose <Suzuki.Poulose@arm.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"virtualization@lists.linux-foundation.org"
	<virtualization@lists.linux-foundation.org>,
	James Morse <James.Morse@arm.com>,
	"julien.thierry.kdev@gmail.com" <julien.thierry.kdev@gmail.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	"linux@armlinux.org.uk" <linux@armlinux.org.uk>,
	"will@kernel.org" <will@kernel.org>,
	"kvmarm@lists.cs.columbia.edu" <kvmarm@lists.cs.columbia.edu>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 1/5] KVM: arm64: Document PV-lock interface
Date: Thu, 19 Dec 2019 19:45:55 +0800	[thread overview]
Message-ID: <49120a3c-405d-d2e3-2a88-ba590feccbcc__4812.08004509739$1576755982$gmane$org@huawei.com> (raw)
In-Reply-To: <20191217142138.GA38811@arm.com>

Hi Steve,

On 2019/12/17 22:21, Steven Price wrote:
> On Tue, Dec 17, 2019 at 01:55:45PM +0000, yezengruan@huawei.com wrote:
>> From: Zengruan Ye <yezengruan@huawei.com>
>>
>> Introduce a paravirtualization interface for KVM/arm64 to obtain the vcpu
>> is currently running or not.
>>
>> A hypercall interface is provided for the guest to interrogate the
>> hypervisor's support for this interface and the location of the shared
>> memory structures.
>>
>> Signed-off-by: Zengruan Ye <yezengruan@huawei.com>
>> ---
>>  Documentation/virt/kvm/arm/pvlock.rst | 31 +++++++++++++++++++++++++++
>>  1 file changed, 31 insertions(+)
>>  create mode 100644 Documentation/virt/kvm/arm/pvlock.rst
>>
>> diff --git a/Documentation/virt/kvm/arm/pvlock.rst b/Documentation/virt/kvm/arm/pvlock.rst
>> new file mode 100644
>> index 000000000000..eec0c36edf17
>> --- /dev/null
>> +++ b/Documentation/virt/kvm/arm/pvlock.rst
>> @@ -0,0 +1,31 @@
>> +.. SPDX-License-Identifier: GPL-2.0
>> +
>> +Paravirtualized lock support for arm64
>> +======================================
>> +
>> +KVM/arm64 provids some hypervisor service calls to support a paravirtualized
>> +guest obtaining the vcpu is currently running or not.
>> +
>> +Two new SMCCC compatible hypercalls are defined:
>> +
>> +* PV_LOCK_FEATURES:   0xC5000040
>> +* PV_LOCK_PREEMPTED:  0xC5000041
> 
> These values are in the "Standard Hypervisor Service Calls" section of
> SMCCC - so is there a document that describes this features such that
> other OSes or hypervisors can implement it? I'm also not entirely sure
> of the process of ensuring that the IDs picked are non-conflicting.
> 
> Otherwise if this is a KVM specific interface this should probably
> belong within the "Vendor Specific Hypervisor Service Calls" section
> along with some probing that the hypervisor is actually KVM. Although I
> don't see anything KVM specific.

Thanks for pointing it out to me! Actually, I also don't see any documents
or KVM specific that describes this features. The values in the "Vendor
Specific Hypervisor Service Calls" section may be more appropriate, such as
the following

* PV_LOCK_FEATURES:   0xC6000020
* PV_LOCK_PREEMPTED:  0xC6000021

Please let me know if you have any suggestions.

> 
>> +
>> +The existence of the PV_LOCK hypercall should be probed using the SMCCC 1.1
>> +ARCH_FEATURES mechanism before calling it.
>> +
>> +PV_LOCK_FEATURES
>> +    ============= ========    ==========
>> +    Function ID:  (uint32)    0xC5000040
>> +    PV_call_id:   (uint32)    The function to query for support.
>> +    Return value: (int64)     NOT_SUPPORTED (-1) or SUCCESS (0) if the relevant
>> +                              PV-lock feature is supported by the hypervisor.
>> +    ============= ========    ==========
>> +
>> +PV_LOCK_PREEMPTED
>> +    ============= ========    ==========
>> +    Function ID:  (uint32)    0xC5000041
>> +    Return value: (int64)     NOT_SUPPORTED (-1) or SUCCESS (0) if the IPA of
>> +                              this vcpu's pv data structure is configured by
>> +                              the hypervisor.
>> +    ============= ========    ==========
> 
>>From the code it looks like there's another argument for this SMC - the
> physical address (or IPA) of a struct pvlock_vcpu_state. This structure
> also needs to be described as it is part of the ABI.

Will update.

> 
> Steve
> 
> .
> 

Thanks,

Zengruan

  reply	other threads:[~2019-12-19 11:45 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-17 13:55 [PATCH 0/5] KVM: arm64: vcpu preempted check support yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55 ` [PATCH 1/5] KVM: arm64: Document PV-lock interface yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 14:21   ` Steven Price
2019-12-17 14:21     ` Steven Price
2019-12-17 14:21     ` Steven Price
2019-12-19 11:45     ` yezengruan [this message]
2019-12-19 11:45     ` yezengruan
2019-12-19 11:45       ` yezengruan
2019-12-19 11:45       ` yezengruan
2019-12-20 11:43       ` Steven Price
2019-12-20 11:43         ` Steven Price
2019-12-20 11:43         ` Steven Price
2019-12-20 14:32   ` Markus Elfring
2019-12-20 14:32     ` Markus Elfring
2019-12-20 14:32     ` Markus Elfring
2019-12-23  2:06     ` yezengruan
2019-12-23  2:06       ` yezengruan
2019-12-23  2:06       ` yezengruan
2019-12-23  2:06     ` yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55 ` [PATCH 2/5] KVM: arm64: Implement PV_LOCK_FEATURES call yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 14:28   ` Steven Price
2019-12-17 14:28     ` Steven Price
2019-12-17 14:28     ` Steven Price
2019-12-19 11:59     ` yezengruan
2019-12-19 11:59     ` yezengruan
2019-12-19 11:59       ` yezengruan
2019-12-19 11:59       ` yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55 ` [PATCH 3/5] KVM: arm64: Support pvlock preempted via shared structure yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 14:33   ` Steven Price
2019-12-17 14:33     ` Steven Price
2019-12-17 14:33     ` Steven Price
2019-12-26  8:33     ` yezengruan
2019-12-26  8:33     ` yezengruan
2019-12-26  8:33       ` yezengruan
2019-12-26  8:33       ` yezengruan
2019-12-17 13:55 ` [PATCH 4/5] KVM: arm64: Add interface to support vcpu preempted check yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55 ` [PATCH 5/5] KVM: arm64: Support the vcpu preemption check yezengruan
2019-12-17 13:55 ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 13:55   ` yezengruan
2019-12-17 14:40   ` Steven Price
2019-12-17 14:40     ` Steven Price
2019-12-17 14:40     ` Steven Price
2019-12-26  8:34     ` yezengruan
2019-12-26  8:34       ` yezengruan
2019-12-26  8:34       ` yezengruan
2019-12-26  8:34     ` yezengruan

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='49120a3c-405d-d2e3-2a88-ba590feccbcc__4812.08004509739$1576755982$gmane$org@huawei.com' \
    --to=yezengruan@huawei.com \
    --cc=Catalin.Marinas@arm.com \
    --cc=James.Morse@arm.com \
    --cc=Mark.Rutland@arm.com \
    --cc=Suzuki.Poulose@arm.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=julien.thierry.kdev@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.cs.columbia.edu \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=maz@kernel.org \
    --cc=steven.price@arm.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=will@kernel.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.