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... ???

-Christoffer
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to