public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Thor Thayer <thor.thayer@linux.intel.com>
To: Sudeep Holla <sudeep.holla@arm.com>,
	Mark Brown <broonie@kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: RFC: Using regmap in ARM64 for EL3 register access
Date: Wed, 4 Apr 2018 13:18:02 -0500	[thread overview]
Message-ID: <2f15aea6-e3f0-f6e1-6797-efb2f9b78180@linux.intel.com> (raw)
In-Reply-To: <7034387b-8dd9-77fa-95f0-63c805849ced@arm.com>

Hi Sudeep,

On 04/04/2018 05:47 AM, Sudeep Holla wrote:
> 
> 
> On 30/03/18 00:00, Thor Thayer wrote:
>> Hi,
>>
>> I'm working on an ARM64 architecture that needs to manipulate some
>> protected registers that are only accessible in EL3. Linux is running at
>> EL1 which doesn't have the proper permissions for these registers.
>>
> If the hardware/IP registers are designed not to provide access to EL1,
> then providing one in software by some means is simply wrong approach to
> solve whatever issue you are trying to address here.
> 
Thank you for the reply!

Sorry, I didn't describe this very well. This mechanism is similar to 
PSCI. We have System Management registers that could be needed by more 
than 1 virtual machine. So arbitration is needed and we use U-Boot for this.

>> Since U-Boot is running at the higher EL3, we communicate to the U-Boot
>> functions through a SMC mechanism.
>>
> Please follow SMCCC to add any SMC interface.
> 
Yes, the existing implementation is doing this and implements a SiP 
service framework.

>> The regmap framework seems like a good match for accessing these
>> registers. We need the same functionality as I2C and SPI regmaps - read,
>> write, and update registers.
>>
> No, providing register access to EL1 using regmap+SMC just defeats the
> hardware security restrictions and may provide ways to exploit.
> Why not abstract to the level of services you need ?
> 
I'm not following about abstracting the level of services. For accessing 
the registers, I thought a regmap implementation would be nice because 
of the read/write/update functionality that would wrap around the SMC 
SiP service functions.

>> Any comments or suggestions about using regmap for this purpose? Is
>> there a better method?
>>
> If you are looking for power management features, then PSCI and SCMI are
> couple of specifications to look at. I would really like to know more
> details on your use case to provide any suggestions.
> 
Thank you for those pointers. I vaguely knew about PSCI but I wasn't 
aware of SCMI. Let me study these interfaces, particularly SCMI, before 
I reply further because this may answer many of my questions.

Thank you again,

Thor

      reply	other threads:[~2018-04-04 18:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-29 23:00 RFC: Using regmap in ARM64 for EL3 register access Thor Thayer
2018-04-04 10:47 ` Sudeep Holla
2018-04-04 18:18   ` Thor Thayer [this message]

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=2f15aea6-e3f0-f6e1-6797-efb2f9b78180@linux.intel.com \
    --to=thor.thayer@linux.intel.com \
    --cc=broonie@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sudeep.holla@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox