Commit 914204db authored by Andrzej Puzdrowski's avatar Andrzej Puzdrowski Committed by David Brown
Browse files

boot/zephyr: Kconfig for hooks enabling



Added global property which allows to enable hooks
implementations.

Signed-off-by: default avatarAndrzej Puzdrowski <andrzej.puzdrowski@nordicsemi.no>
parent a41a850d
Loading
Loading
Loading
Loading
+24 −0
Original line number Diff line number Diff line
@@ -302,3 +302,27 @@ zephyr_library_sources(
  ${BOOT_DIR}/zephyr/arm_cleanup.c
)
endif()

if(CONFIG_BOOT_IMAGE_ACCESS_HOOKS)

  if(IS_ABSOLUTE ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
    if(EXISTS ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
      set(HOOKS_FILE ${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
    endif()
  elseif((DEFINED CONF_DIR) AND
  (EXISTS ${CONF_DIR}/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE}))
    set(HOOKS_FILE ${CONF_DIR}/${CONFIG_BOOT_SIGNATURE_KEY_FILE})
  else(EXISTS ${BOOT_DIR}/zephyr/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
    set(HOOKS_FILE ${BOOT_DIR}/zephyr/${CONFIG_BOOT_IMAGE_ACCESS_HOOKS_FILE})
  endif()


  if(DEFINED HOOKS_FILE)
    zephyr_library_sources(
      ${HOOKS_FILE}
    )
  else()
    message(WARNING "Can't access hooks implementation file.")
  endif()

endif()
+18 −0
Original line number Diff line number Diff line
@@ -642,6 +642,24 @@ config BOOT_WATCHDOG_FEED
	  Enables implementation of MCUBOOT_WATCHDOG_FEED() macro which is
	  used to feed watchdog while doing time consuming operations.

config BOOT_IMAGE_ACCESS_HOOKS
	bool "Enable hooks for overriding MCUboot's native routines"
	help
	  Allow to provide procedures for override or extend native
	  MCUboot's routines required for access the image data and the image
	  update.

config BOOT_IMAGE_ACCESS_HOOKS_FILE
	string "Hooks implementation file path"
	depends on BOOT_IMAGE_ACCESS_HOOKS
	help
	  Path to the file which implements hooks.
	  You can use either absolute or relative path.
	  In case relative path is used, the build system assumes that it starts
	  from the directory where the MCUBoot KConfig configuration file is
	  located. If the key file is not there, the build system uses relative
	  path that starts from the zephyr port cmake directory (boot/zephyr/).

endmenu

config MCUBOOT_DEVICE_SETTINGS
+4 −0
Original line number Diff line number Diff line
@@ -163,6 +163,10 @@
#define MCUBOOT_MGMT_CUSTOM_IMG_LIST
#endif

#ifdef CONFIG_BOOT_IMAGE_ACCESS_HOOKS
#define MCUBOOT_IMAGE_ACCESS_HOOKS
#endif

/*
 * The configuration option enables direct image upload with the
 * serial recovery.