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 _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm