[U-Boot] [PATCH v5 5/7] bootcount: spl: Extend SPL to support bootcount incrementation

Lukasz Majewski
2018-05-02T14:10:54Z

This patch adds support for incrementation of the bootcount in SPL.
Such feature is necessary when we do want to use this feature with
'falcon' boot mode (which loads OS directly in SPL).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Tom Rini <trini@konsulko.com>

---

Changes in v5:
- None

Changes in v4:
- Use gd_t global data pointer instead of bootcount specific enum

Changes in v3:
- Remove not needed #ifdefs
- Add enum bootcount_context parameter to bootcount_inc() function

Changes in v2:
- New patch - as suggested by Stefan Roese - bootcount_inc() is called
in common SPL code (./common/spl/spl.c), so other boards can also
reuse it without modification

common/spl/spl.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/common/spl/spl.c b/common/spl/spl.c
index 794dbd0312..6eb50f3534 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -20,6 +20,7 @@
#include <dm/root.h>
#include <linux/compiler.h>
#include <fdt_support.h>
+#include <bootcount.h>

DECLARE_GLOBAL_DATA_PTR;

@@ -417,6 +418,8 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
spl_board_init();
#endif

+ bootcount_inc();
+
memset(&spl_image, '\0', sizeof(spl_image));
#ifdef CONFIG_SYS_SPL_ARGS_ADDR
spl_image.arg = (void *)CONFIG_SYS_SPL_ARGS_ADDR;
--
2.11.0