spl.c 782 B

12345678910111213141516171819202122232425262728
  1. // SPDX-License-Identifier: GPL-2.0+
  2. /*
  3. * Copyright 2012 Stefan Roese <sr@denx.de>
  4. */
  5. #include <common.h>
  6. #include <config.h>
  7. #include <spl.h>
  8. #include <image.h>
  9. #include <linux/compiler.h>
  10. /*
  11. * This function jumps to an image with argument. Normally an FDT or ATAGS
  12. * image.
  13. */
  14. #ifdef CONFIG_SPL_OS_BOOT
  15. void __noreturn jump_to_image_linux(struct spl_image_info *spl_image)
  16. {
  17. debug("Entering kernel arg pointer: 0x%p\n", spl_image->arg);
  18. typedef void (*image_entry_arg_t)(void *, ulong r4, ulong r5, ulong r6,
  19. ulong r7, ulong r8, ulong r9)
  20. __attribute__ ((noreturn));
  21. image_entry_arg_t image_entry =
  22. (image_entry_arg_t)spl_image->entry_point;
  23. image_entry(spl_image->arg, 0, 0, EPAPR_MAGIC, CONFIG_SYS_BOOTMAPSZ,
  24. 0, 0);
  25. }
  26. #endif /* CONFIG_SPL_OS_BOOT */