All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@linaro.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 4/7] ARM: switch to non-secure state during bootm execution
Date: Tue, 30 Jul 2013 13:32:14 +0200	[thread overview]
Message-ID: <51F7A43E.4020903@linaro.org> (raw)
In-Reply-To: <20130729220224.GB26768@cbox>

On 07/30/2013 12:02 AM, Christoffer Dall wrote:
> On Wed, Jul 10, 2013 at 01:54:16AM +0200, Andre Przywara wrote:
>
> [...]
>
>> diff --git a/arch/arm/lib/bootm.c b/arch/arm/lib/bootm.c
>> index 1b6e0ac..7b0619e 100644
>> --- a/arch/arm/lib/bootm.c
>> +++ b/arch/arm/lib/bootm.c
>> @@ -34,6 +34,10 @@
>>   #include <asm/bootm.h>
>>   #include <linux/compiler.h>
>>
>> +#ifdef CONFIG_ARMV7_NONSEC
>> +#include <asm/armv7.h>
>> +#endif
>> +
>>   DECLARE_GLOBAL_DATA_PTR;
>>
>>   static struct tag *params;
>> @@ -186,6 +190,29 @@ static void setup_end_tag(bd_t *bd)
>>
>>   __weak void setup_board_tags(struct tag **in_params) {}
>>
>> +static void do_nonsec_virt_switch(void)
>> +{
>> +#ifdef CONFIG_ARMV7_NONSEC
>> +	int ret;
>> +
>> +	ret = armv7_switch_nonsec();
>> +	switch (ret) {
>> +	case NONSEC_VIRT_SUCCESS:
>> +		debug("entered non-secure state\n");
>> +		break;
>> +	case NONSEC_ERR_NO_SEC_EXT:
>> +		printf("nonsec: Security extensions not implemented.\n");
>> +		break;
>> +	case NONSEC_ERR_NO_GIC_ADDRESS:
>> +		printf("nonsec: could not determine GIC address.\n");
>> +		break;
>> +	case NONSEC_ERR_GIC_ADDRESS_ABOVE_4GB:
>> +		printf("nonsec: PERIPHBASE is above 4 GB, no access.\n");
>> +		break;
>> +	}
>> +#endif
>> +}
>
> I still don't get why you just don't make armv7_switch_nonsec a void and
> print the error when they occur... ???

My apologies for not elaborating on these comments I didn't incorporate:

So, I don't like the idea of marrying a low-level routine with high 
level output. I don't want to constraint the usage of the routine by 
requiring an output channel. Also some parts may not be fatal for all 
users - someone could just try to switch and then behave differently if 
that failed - without bothering the user.
May seem a bit over-engineered, but I like it better this way ;-)

If that is a show-stopper for you, I can change it, of course.

Regards,
Andre.

  reply	other threads:[~2013-07-30 11:32 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-09 23:54 [U-Boot] [PATCH v3 0/7] ARMv7: Add HYP mode switching support Andre Przywara
2013-07-09 23:54 ` [U-Boot] [PATCH v3 1/7] ARM: prepare armv7.h to be included from assembly source Andre Przywara
2013-07-09 23:54 ` [U-Boot] [PATCH v3 2/7] ARM: add secure monitor handler to switch to non-secure state Andre Przywara
2013-07-29 22:02   ` Christoffer Dall
2013-07-30 11:38     ` Andre Przywara
2013-07-09 23:54 ` [U-Boot] [PATCH v3 3/7] ARM: add assembly routine " Andre Przywara
2013-07-10 12:47   ` Nikolay Nikolaev
2013-07-09 23:54 ` [U-Boot] [PATCH v3 4/7] ARM: switch to non-secure state during bootm execution Andre Przywara
2013-07-10 12:49   ` Nikolay Nikolaev
2013-07-29 22:02   ` Christoffer Dall
2013-07-30 11:32     ` Andre Przywara [this message]
2013-07-30 14:23       ` Christoffer Dall
2013-07-09 23:54 ` [U-Boot] [PATCH v3 5/7] ARM: add SMP support for non-secure switch Andre Przywara
2013-07-29 22:02   ` Christoffer Dall
2013-07-30 11:51     ` Andre Przywara
2013-07-30 14:28       ` Christoffer Dall
2013-07-09 23:54 ` [U-Boot] [PATCH v3 6/7] ARM: extend non-secure switch to also go into HYP mode Andre Przywara
2013-07-29 22:02   ` Christoffer Dall
2013-07-30 11:59     ` Andre Przywara
2013-07-30 14:31       ` Christoffer Dall
2013-08-05  5:15   ` Masahiro Yamada
2013-07-09 23:54 ` [U-Boot] [PATCH v3 7/7] ARM: VExpress: enable ARMv7 virt support for VExpress A15 Andre Przywara

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=51F7A43E.4020903@linaro.org \
    --to=andre.przywara@linaro.org \
    --cc=u-boot@lists.denx.de \
    /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.