All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sudeep Holla <sudeep.holla@arm.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	arve@google.com, Andrew Walbran <qwandor@google.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	David Hartley <dhh@qti.qualcomm.com>,
	Achin Gupta <Achin.Gupta@arm.com>,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>,
	Marc Bonnici <marc.bonnici@arm.com>,
	Michael Kelley <mikelley@microsoft.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH v6 1/6] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers
Date: Thu, 6 May 2021 11:30:04 +0100	[thread overview]
Message-ID: <20210506103004.gmqhhknss6x6nl5z@bogus> (raw)
In-Reply-To: <20210505134914.GB5605@C02TD0UTHF1T.local>

On Wed, May 05, 2021 at 02:49:14PM +0100, Mark Rutland wrote:
> Hi Sudeep,
> 
> On Wed, May 05, 2021 at 10:38:38AM +0100, Sudeep Holla wrote:
> > SMCCC v1.2 allows x8-x17 to be used as parameter registers and x4—x17
> > to be used as result registers in SMC64/HVC64. Arm Firmware Framework
> > for Armv8-A specification makes use of x0-x7 as parameter and result
> > registers. There are other users like Hyper-V who intend to use beyond
> > x0-x7 as well.
> > 
> > Current SMCCC interface in the kernel just use x0-x7 as parameter and
> > x0-x3 as result registers as required by SMCCCv1.0. Let us add new
> > interface to support this extended set of input/output registers namely
> > x0-x17 as both parameter and result registers.
> > 
> > Cc: Michael Kelley <mikelley@microsoft.com>
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc:Catalin Marinas <catalin.marinas@arm.com>
> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> 
> I have one minor comment below, otherwise this looks good to me, and
> regardless:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> 
> [...]
> 
> > +/**
> > + * arm_smccc_1_2_hvc() - make HVC calls
> > + * @args: arguments passed via struct arm_smccc_1_2_regs
> > + * @res: result values via struct arm_smccc_1_2_regs
> > + *
> > + * This function is used to make HVC calls following SMC Calling Convention
> > + * v1.2 or above. The content of the supplied param are copied from the
> > + * structure to registers prior to the HVC instruction. The return values
> > + * are updated with the content from registers on return from the HVC
> > + * instruction.
> > + */
> > +asmlinkage void arm_smccc_1_2_hvc(struct arm_smccc_1_2_regs *args,
> > +				  struct arm_smccc_1_2_regs *res);
> > +
> > +/**
> > + * arm_smccc_1_2_smc() - make SMC calls
> > + * @args: arguments passed via struct arm_smccc_1_2_regs
> > + * @res: result values via struct arm_smccc_1_2_regs
> > + *
> > + * This function is used to make SMC calls following SMC Calling Convention
> > + * v1.2 or above. The content of the supplied param are copied from the
> > + * structure to registers prior to the SMC instruction. The return values
> > + * are updated with the content from registers on return from the SMC
> > + * instruction.
> > + */
> > +asmlinkage void arm_smccc_1_2_smc(struct arm_smccc_1_2_regs *args,
> > +				  struct arm_smccc_1_2_regs *res);
> > +#endif
> 
> It might be worth making the args parameter to these const, since we
> never write to it in the asm.
>

Makes sense, will fix it. Thanks for the review.

-- 
Regards,
Sudeep

WARNING: multiple messages have this Message-ID (diff)
From: Sudeep Holla <sudeep.holla@arm.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
	arve@google.com, Andrew Walbran <qwandor@google.com>,
	Sudeep Holla <sudeep.holla@arm.com>,
	David Hartley <dhh@qti.qualcomm.com>,
	Achin Gupta <Achin.Gupta@arm.com>,
	Jens Wiklander <jens.wiklander@linaro.org>,
	Arunachalam Ganapathy <arunachalam.ganapathy@arm.com>,
	Marc Bonnici <marc.bonnici@arm.com>,
	Michael Kelley <mikelley@microsoft.com>,
	Will Deacon <will@kernel.org>
Subject: Re: [PATCH v6 1/6] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers
Date: Thu, 6 May 2021 11:30:04 +0100	[thread overview]
Message-ID: <20210506103004.gmqhhknss6x6nl5z@bogus> (raw)
In-Reply-To: <20210505134914.GB5605@C02TD0UTHF1T.local>

On Wed, May 05, 2021 at 02:49:14PM +0100, Mark Rutland wrote:
> Hi Sudeep,
> 
> On Wed, May 05, 2021 at 10:38:38AM +0100, Sudeep Holla wrote:
> > SMCCC v1.2 allows x8-x17 to be used as parameter registers and x4—x17
> > to be used as result registers in SMC64/HVC64. Arm Firmware Framework
> > for Armv8-A specification makes use of x0-x7 as parameter and result
> > registers. There are other users like Hyper-V who intend to use beyond
> > x0-x7 as well.
> > 
> > Current SMCCC interface in the kernel just use x0-x7 as parameter and
> > x0-x3 as result registers as required by SMCCCv1.0. Let us add new
> > interface to support this extended set of input/output registers namely
> > x0-x17 as both parameter and result registers.
> > 
> > Cc: Michael Kelley <mikelley@microsoft.com>
> > Cc: Will Deacon <will@kernel.org>
> > Cc: Mark Rutland <mark.rutland@arm.com>
> > Cc:Catalin Marinas <catalin.marinas@arm.com>
> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
> 
> I have one minor comment below, otherwise this looks good to me, and
> regardless:
> 
> Acked-by: Mark Rutland <mark.rutland@arm.com>
> 
> [...]
> 
> > +/**
> > + * arm_smccc_1_2_hvc() - make HVC calls
> > + * @args: arguments passed via struct arm_smccc_1_2_regs
> > + * @res: result values via struct arm_smccc_1_2_regs
> > + *
> > + * This function is used to make HVC calls following SMC Calling Convention
> > + * v1.2 or above. The content of the supplied param are copied from the
> > + * structure to registers prior to the HVC instruction. The return values
> > + * are updated with the content from registers on return from the HVC
> > + * instruction.
> > + */
> > +asmlinkage void arm_smccc_1_2_hvc(struct arm_smccc_1_2_regs *args,
> > +				  struct arm_smccc_1_2_regs *res);
> > +
> > +/**
> > + * arm_smccc_1_2_smc() - make SMC calls
> > + * @args: arguments passed via struct arm_smccc_1_2_regs
> > + * @res: result values via struct arm_smccc_1_2_regs
> > + *
> > + * This function is used to make SMC calls following SMC Calling Convention
> > + * v1.2 or above. The content of the supplied param are copied from the
> > + * structure to registers prior to the SMC instruction. The return values
> > + * are updated with the content from registers on return from the SMC
> > + * instruction.
> > + */
> > +asmlinkage void arm_smccc_1_2_smc(struct arm_smccc_1_2_regs *args,
> > +				  struct arm_smccc_1_2_regs *res);
> > +#endif
> 
> It might be worth making the args parameter to these const, since we
> never write to it in the asm.
>

Makes sense, will fix it. Thanks for the review.

-- 
Regards,
Sudeep

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-05-06 10:30 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05  9:38 [PATCH v6 0/6] firmware: Add initial support for Arm FF-A Sudeep Holla
2021-05-05  9:38 ` Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 1/6] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers Sudeep Holla
2021-05-05  9:38   ` Sudeep Holla
2021-05-05 13:49   ` Mark Rutland
2021-05-05 13:49     ` Mark Rutland
2021-05-06 10:30     ` Sudeep Holla [this message]
2021-05-06 10:30       ` Sudeep Holla
2021-05-05 15:28   ` Michael Kelley
2021-05-05 15:28     ` Michael Kelley
2021-05-06 10:31     ` Sudeep Holla
2021-05-06 10:31       ` Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 2/6] firmware: arm_ffa: Add initial FFA bus support for device enumeration Sudeep Holla
2021-05-05  9:38   ` Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 3/6] firmware: arm_ffa: Add initial Arm FFA driver support Sudeep Holla
2021-05-05  9:38   ` Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 4/6] firmware: arm_ffa: Add support for SMCCC as transport to FFA driver Sudeep Holla
2021-05-05  9:38   ` Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 5/6] firmware: arm_ffa: Setup in-kernel users of FFA partitions Sudeep Holla
2021-05-05  9:38   ` Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 6/6] firmware: arm_ffa: Add support for MEM_* interfaces Sudeep Holla
2021-05-05  9:38   ` Sudeep Holla
2021-05-20 13:20 ` [PATCH v6 0/6] firmware: Add initial support for Arm FF-A Jens Wiklander
2021-05-20 13:20   ` Jens Wiklander
2021-05-20 13:34   ` Sudeep Holla
2021-05-20 13:34     ` Sudeep Holla

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=20210506103004.gmqhhknss6x6nl5z@bogus \
    --to=sudeep.holla@arm.com \
    --cc=Achin.Gupta@arm.com \
    --cc=arunachalam.ganapathy@arm.com \
    --cc=arve@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dhh@qti.qualcomm.com \
    --cc=jens.wiklander@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.bonnici@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=mikelley@microsoft.com \
    --cc=qwandor@google.com \
    --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.