smp.h 786 B

1234567891011121314151617181920212223242526272829303132
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __LOONGSON_SMP_H_
  3. #define __LOONGSON_SMP_H_
  4. /* for Loongson-3 smp support */
  5. extern unsigned long long smp_group[4];
  6. /* 4 groups(nodes) in maximum in numa case */
  7. #define SMP_CORE_GROUP0_BASE (smp_group[0])
  8. #define SMP_CORE_GROUP1_BASE (smp_group[1])
  9. #define SMP_CORE_GROUP2_BASE (smp_group[2])
  10. #define SMP_CORE_GROUP3_BASE (smp_group[3])
  11. /* 4 cores in each group(node) */
  12. #define SMP_CORE0_OFFSET 0x000
  13. #define SMP_CORE1_OFFSET 0x100
  14. #define SMP_CORE2_OFFSET 0x200
  15. #define SMP_CORE3_OFFSET 0x300
  16. /* ipi registers offsets */
  17. #define STATUS0 0x00
  18. #define EN0 0x04
  19. #define SET0 0x08
  20. #define CLEAR0 0x0c
  21. #define STATUS1 0x10
  22. #define MASK1 0x14
  23. #define SET1 0x18
  24. #define CLEAR1 0x1c
  25. #define BUF 0x20
  26. #endif