From: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>
To: Jens Wiklander <jens.wiklander-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Will Deacon <Will.Deacon-5wv7dgnIgG8@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Kees Cook <keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>,
"valentin.manea-hv44wF8Li93QT0dZR+AlfA@public.gmane.org"
<valentin.manea-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
"javier-5MUHepqpBA1BDgjK7y7TUQ@public.gmane.org"
<javier-5MUHepqpBA1BDgjK7y7TUQ@public.gmane.org>,
"emmanuel.michel-qxv4g6HH51o@public.gmane.org"
<emmanuel.michel-qxv4g6HH51o@public.gmane.org>,
Michal Simek
<michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org>,
"jean-michel.delorme-qxv4g6HH51o@public.gmane.org"
<jean-michel.delorme-qxv4g6HH51o@public.gmane.org>,
Jason Gunthorpe
<jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH v5 1/5] arm/arm64: add smccc ARCH32
Date: Thu, 20 Aug 2015 22:30:29 +0100 [thread overview]
Message-ID: <20150820213029.GA1426@svinekod> (raw)
In-Reply-To: <20150820113729.GA25962@ermac>
On Thu, Aug 20, 2015 at 12:37:29PM +0100, Jens Wiklander wrote:
> On Wed, Aug 19, 2015 at 05:50:09PM +0100, Will Deacon wrote:
> > On Wed, Aug 19, 2015 at 09:40:25AM +0100, Jens Wiklander wrote:
> > > Adds helpers to do SMC based on ARM SMC Calling Convention.
> > > CONFIG_HAVE_SMCCC is enabled for architectures that may support
> > > the SMC instruction. It's the responsibility of the caller to
> > > know if the SMC instruction is supported by the platform.
[...]
> > > + mov x28, x0
> > > + ldp w0, w1, [x28, #SMC_PARAM_W0_OFFS]
> > > + ldp w2, w3, [x28, #SMC_PARAM_W2_OFFS]
> > > + ldp w4, w5, [x28, #SMC_PARAM_W4_OFFS]
> > > + ldp w6, w7, [x28, #SMC_PARAM_W6_OFFS]
> > > + smc #0
> > > + stp w0, w1, [x28, #SMC_PARAM_W0_OFFS]
> > > + stp w2, w3, [x28, #SMC_PARAM_W2_OFFS]
> > > + ldp x28, x30, [sp], #16
> > > + ret
> > > +ENDPROC(smccc_call32)
> >
> > Could we deal with this like we do for PSCI instead? (see
> > __invoke_psci_fn_smc). We could also then rename psci-call.S to fw-call.S
> > and stick this in there too.
>
> I assume you're referring to when to use "hvc" and "smc".
I assume he's on about passing the values in registers rather than a struct.
>From the looks of the SMC Calling Convention documentation, it's valid to have
return values in registers r0-r3, which necessitates the use of a struct (at
least for the return values).
Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-08-20 21:30 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-19 8:40 [PATCH v5 0/5] generic TEE subsystem Jens Wiklander
2015-08-19 8:40 ` [PATCH v5 1/5] arm/arm64: add smccc ARCH32 Jens Wiklander
2015-08-19 10:56 ` Yury
[not found] ` <55D460E7.9070104-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-08-20 7:23 ` Jens Wiklander
2015-08-19 16:50 ` Will Deacon
2015-08-20 11:35 ` Michal Simek
2015-08-20 11:37 ` Jens Wiklander
2015-08-20 21:30 ` Mark Rutland [this message]
2015-08-21 9:24 ` Will Deacon
[not found] ` <20150821092430.GC30930-5wv7dgnIgG8@public.gmane.org>
2015-08-21 11:43 ` Jens Wiklander
2015-09-14 8:30 ` Jens Wiklander
2015-09-15 18:26 ` Will Deacon
2015-09-15 21:05 ` Jens Wiklander
2015-09-16 17:18 ` Will Deacon
2015-08-19 8:40 ` [PATCH v5 3/5] tee: generic TEE subsystem Jens Wiklander
[not found] ` <1439973629-19505-1-git-send-email-jens.wiklander-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-08-19 8:40 ` [PATCH v5 2/5] dt/bindings: add bindings for optee Jens Wiklander
2015-09-15 22:37 ` Rob Herring
2015-09-16 7:13 ` Jens Wiklander
2015-08-19 8:40 ` [PATCH v5 4/5] tee: add OP-TEE driver Jens Wiklander
2015-08-19 8:40 ` [PATCH v5 5/5] Documentation: tee subsystem and op-tee driver Jens Wiklander
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=20150820213029.GA1426@svinekod \
--to=mark.rutland-5wv7dgnigg8@public.gmane.org \
--cc=Will.Deacon-5wv7dgnIgG8@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=emmanuel.michel-qxv4g6HH51o@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=javier-5MUHepqpBA1BDgjK7y7TUQ@public.gmane.org \
--cc=jean-michel.delorme-qxv4g6HH51o@public.gmane.org \
--cc=jens.wiklander-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org \
--cc=keescook-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=michal.simek-gjFFaj9aHVfQT0dZR+AlfA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=valentin.manea-hv44wF8Li93QT0dZR+AlfA@public.gmane.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).