boot1_arch.h 587 B

123456789101112131415161718192021
  1. /* Any assmbly language/system dependent hacks needed to setup boot1.c so it
  2. * will work as expected and cope with whatever platform specific wierdness is
  3. * needed for this architecture. */
  4. asm("" \
  5. " .text\n" \
  6. " .globl _dl_boot\n" \
  7. "_dl_boot:\n" \
  8. " mov r15, r4\n" \
  9. " mov.l .L_dl_boot2, r0\n" \
  10. " bsrf r0\n" \
  11. " add #4, r4\n" \
  12. ".jmp_loc:\n" \
  13. " jmp @r0\n" \
  14. " mov #0, r4 !call _start with arg == 0\n" \
  15. ".L_dl_boot2:\n" \
  16. " .long _dl_boot2-.jmp_loc\n" \
  17. " .previous\n" \
  18. );
  19. #define DL_BOOT(X) static void __attribute__ ((unused)) _dl_boot2 (X)