[U-Boot] [PATCH v2 07/13] ARM: HYP/non-sec: allow relocation to secure RAM

Marc Zyngier marc.zyngier at arm.com
Wed Feb 12 11:52:32 CET 2014


On 12/02/14 08:36, Albert ARIBAUD wrote:
> Hi Albert,
> 
> On Thu, 12 Dec 2013 11:47:31 +0100, Albert ARIBAUD
> <albert.u.boot at aribaud.net> wrote:
> 
>> Hi Marc,
>>
>> On Sat,  7 Dec 2013 11:19:12 +0000, Marc Zyngier <marc.zyngier at arm.com>
>> wrote:
>>
>>> The current non-sec switching code suffers from one major issue:
>>> it cannot run in secure RAM, as a large part of u-boot still needs
>>> to be run while we're switched to non-secure.
>>>
>>> This patch reworks the whole HYP/non-secure strategy by:
>>> - making sure the secure code is the *last* thing u-boot executes
>>>   before entering the payload
>>> - performing an exception return from secure mode directly into
>>>   the payload
>>> - allowing the code to be dynamically relocated to secure RAM
>>>   before switching to non-secure.
>>>
>>> This involves quite a bit of horrible code, specially as u-boot
>>> relocation is quite primitive.
>>>
>>> Signed-off-by: Marc Zyngier <marc.zyngier at arm.com>
>>> ---
>>>  arch/arm/cpu/armv7/nonsec_virt.S | 161 +++++++++++++++++++--------------------
>>>  arch/arm/cpu/armv7/virt-v7.c     |  59 +++++---------
>>>  arch/arm/include/asm/armv7.h     |  10 ++-
>>>  arch/arm/include/asm/secure.h    |  26 +++++++
>>>  arch/arm/lib/bootm.c             |  21 ++---
>>>  5 files changed, 136 insertions(+), 141 deletions(-)
>>>  create mode 100644 arch/arm/include/asm/secure.h
>>
>> It seems like patch 07/13 does not apply properly on top of current ARM.
>> Can you have a look? If a rebased V3 is needed, you can remove patch 01
>> from the list (or if it is simpler to you, keep it in and I'll just
>> ignore it when applying). 
> 
> I don't think there was a V3 for this so far; correct?

Correct. I've been lazy. I'll try to repost something by the end of the
week.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...


More information about the U-Boot mailing list