linux-arm-kernel.lists.infradead.org archive mirror
 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

_______________________________________________
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:33 UTC|newest]

Thread overview: 13+ 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 ` [PATCH v6 1/6] arm64: smccc: Add support for SMCCCv1.2 extended input/output registers Sudeep Holla
2021-05-05 13:49   ` Mark Rutland
2021-05-06 10:30     ` Sudeep Holla [this message]
2021-05-05 15:28   ` Michael Kelley
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 ` [PATCH v6 3/6] firmware: arm_ffa: Add initial Arm FFA driver support 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 ` [PATCH v6 5/6] firmware: arm_ffa: Setup in-kernel users of FFA partitions Sudeep Holla
2021-05-05  9:38 ` [PATCH v6 6/6] firmware: arm_ffa: Add support for MEM_* interfaces 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: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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).