From: Denis Osterland <Denis.Osterland@xxxxxxxxx> This patch adds hab_get_status convenience function and uses it in hab info command. It returns -EIO if MMU is disabled and -ENXIO if no HAB device is available. Signed-off-by: Denis Osterland <Denis.Osterland@xxxxxxxxx> --- v1 -> v2: use runtime if, as suggested by Andrey Smirnov, add hab_get_status to have hab implementation selection at a central place commands/hab.c | 3 +++ include/hab.h | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/commands/hab.c b/commands/hab.c index 0d7ee8e76..af51e73fc 100644 --- a/commands/hab.c +++ b/commands/hab.c @@ -72,6 +72,9 @@ static int do_hab(int argc, char *argv[]) else printf("devel mode\n"); + if (hab_get_status() == -EIO) + printf("Disable MMU to access HAB API!\n"); + return 0; } diff --git a/include/hab.h b/include/hab.h index 78c2b865b..7c2ffab5e 100644 --- a/include/hab.h +++ b/include/hab.h @@ -19,6 +19,7 @@ #define __HABV4_H #include <errno.h> +#include <mach/generic.h> #ifdef CONFIG_HABV4 int imx28_hab_get_status(void); @@ -43,6 +44,20 @@ static inline int imx25_hab_get_status(void) } #endif +static inline int hab_get_status(void) +{ + if (IS_ENABLED(CONFIG_MMU)) + return -EIO; + else if (cpu_is_mx6()) + return imx6_hab_get_status(); + else if (cpu_is_mx28()) + return imx28_hab_get_status(); + else if (cpu_is_mx25()) + return imx25_hab_get_status(); + else + return -ENXIO; +} + #define SRK_HASH_SIZE 32 /* Force writing of key, even when a key is already written */ -- 2.19.0 Diehl Connectivity Solutions GmbH Geschäftsführung: Horst Leonberger Sitz der Gesellschaft: Nürnberg - Registergericht: Amtsgericht Nürnberg: HRB 32315 ___________________________________________________________________________________________________ Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht. Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt. The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited. _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox