headsmp.S 1000 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * SMP support: Entry point for secondary CPUs
  4. *
  5. * Copyright (C) 2012 Marvell
  6. *
  7. * Yehuda Yitschak <[email protected]>
  8. * Gregory CLEMENT <[email protected]>
  9. * Thomas Petazzoni <[email protected]>
  10. *
  11. * This file implements the assembly entry point for secondary CPUs in
  12. * an SMP kernel. The only thing we need to do is to add the CPU to
  13. * the coherency fabric by writing to 2 registers. Currently the base
  14. * register addresses are hard coded due to the early initialisation
  15. * problems.
  16. */
  17. #include <linux/linkage.h>
  18. #include <linux/init.h>
  19. #include <asm/assembler.h>
  20. /*
  21. * Armada XP specific entry point for secondary CPUs.
  22. * We add the CPU to the coherency fabric and then jump to secondary
  23. * startup
  24. */
  25. ENTRY(armada_xp_secondary_startup)
  26. ARM_BE8(setend be ) @ go BE8 if entered LE
  27. bl ll_add_cpu_to_smp_group
  28. bl ll_enable_coherency
  29. b secondary_startup
  30. ENDPROC(armada_xp_secondary_startup)