u-boot-arm.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2002
  4. * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  5. * Marius Groeger <mgroeger@sysgo.de>
  6. *
  7. * (C) Copyright 2002
  8. * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
  9. * Alex Zuepke <azu@sysgo.de>
  10. */
  11. #ifndef _U_BOOT_ARM_H_
  12. #define _U_BOOT_ARM_H_ 1
  13. #ifndef __ASSEMBLY__
  14. /* for the following variables, see start.S */
  15. extern ulong IRQ_STACK_START; /* top of IRQ stack */
  16. extern ulong FIQ_STACK_START; /* top of FIQ stack */
  17. extern ulong _datarel_start_ofs;
  18. extern ulong _datarelrolocal_start_ofs;
  19. extern ulong _datarellocal_start_ofs;
  20. extern ulong _datarelro_start_ofs;
  21. extern ulong IRQ_STACK_START_IN; /* 8 bytes in IRQ stack */
  22. /* cpu/.../cpu.c */
  23. int cpu_init(void);
  24. int cleanup_before_linux(void);
  25. /* Set up ARMv7 MMU, caches and TLBs */
  26. void cpu_init_cp15(void);
  27. /* cpu/.../arch/cpu.c */
  28. int arch_cpu_init(void);
  29. int arch_misc_init(void);
  30. int arch_early_init_r(void);
  31. /* board/.../... */
  32. int board_init(void);
  33. /* cpu/.../interrupt.c */
  34. ulong get_timer_masked (void);
  35. /* calls to c from vectors.S */
  36. struct pt_regs;
  37. void bad_mode(void);
  38. void do_undefined_instruction(struct pt_regs *pt_regs);
  39. void do_software_interrupt(struct pt_regs *pt_regs);
  40. void do_prefetch_abort(struct pt_regs *pt_regs);
  41. void do_data_abort(struct pt_regs *pt_regs);
  42. void do_not_used(struct pt_regs *pt_regs);
  43. #ifdef CONFIG_ARM64
  44. void do_fiq(struct pt_regs *pt_regs, unsigned int esr);
  45. void do_irq(struct pt_regs *pt_regs, unsigned int esr);
  46. #else
  47. void do_fiq(struct pt_regs *pt_regs);
  48. void do_irq(struct pt_regs *pt_regswq);
  49. #endif
  50. #endif /* __ASSEMBLY__ */
  51. #endif /* _U_BOOT_ARM_H_ */