spl_size_limit.c 854 B

123456789101112131415161718192021222324252627282930313233
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright (c) 2019, Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
  4. *
  5. * This tool helps to return the size available for SPL image during build
  6. */
  7. #include <generated/autoconf.h>
  8. #include <generated/generic-asm-offsets.h>
  9. int main(int argc, char *argv[])
  10. {
  11. int spl_size_limit = 0;
  12. #ifdef CONFIG_SPL_SIZE_LIMIT
  13. spl_size_limit = CONFIG_SPL_SIZE_LIMIT;
  14. #if defined(CONFIG_IMX_HAB) && defined(CONFIG_CSF_SIZE)
  15. spl_size_limit -= CONFIG_CSF_SIZE;
  16. #endif
  17. #ifdef CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD
  18. spl_size_limit -= GENERATED_GBL_DATA_SIZE;
  19. #endif
  20. #ifdef CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC
  21. spl_size_limit -= CONFIG_SPL_SYS_MALLOC_F_LEN;
  22. #endif
  23. #ifdef CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK
  24. spl_size_limit -= CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK;
  25. #endif
  26. #endif
  27. printf("%d", spl_size_limit);
  28. return 0;
  29. }