topology.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. /*
  2. * linux/include/asm-generic/topology.h
  3. *
  4. * Written by: Matthew Dobson, IBM Corporation
  5. *
  6. * Copyright (C) 2002, IBM Corp.
  7. *
  8. * All rights reserved.
  9. *
  10. * This program is free software; you can redistribute it and/or modify
  11. * it under the terms of the GNU General Public License as published by
  12. * the Free Software Foundation; either version 2 of the License, or
  13. * (at your option) any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful, but
  16. * WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
  18. * NON INFRINGEMENT. See the GNU General Public License for more
  19. * details.
  20. *
  21. * You should have received a copy of the GNU General Public License
  22. * along with this program; if not, write to the Free Software
  23. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  24. *
  25. * Send feedback to <colpatch@us.ibm.com>
  26. */
  27. #ifndef _ASM_GENERIC_TOPOLOGY_H
  28. #define _ASM_GENERIC_TOPOLOGY_H
  29. #ifndef CONFIG_NUMA
  30. /* Other architectures wishing to use this simple topology API should fill
  31. in the below functions as appropriate in their own <asm/topology.h> file. */
  32. #ifndef cpu_to_node
  33. #define cpu_to_node(cpu) ((void)(cpu),0)
  34. #endif
  35. #ifndef set_numa_node
  36. #define set_numa_node(node)
  37. #endif
  38. #ifndef set_cpu_numa_node
  39. #define set_cpu_numa_node(cpu, node)
  40. #endif
  41. #ifndef cpu_to_mem
  42. #define cpu_to_mem(cpu) ((void)(cpu),0)
  43. #endif
  44. #ifndef parent_node
  45. #define parent_node(node) ((void)(node),0)
  46. #endif
  47. #ifndef cpumask_of_node
  48. #ifdef CONFIG_NEED_MULTIPLE_NODES
  49. #define cpumask_of_node(node) ((node) == 0 ? cpu_online_mask : cpu_none_mask)
  50. #else
  51. #define cpumask_of_node(node) ((void)node, cpu_online_mask)
  52. #endif
  53. #endif
  54. #ifndef pcibus_to_node
  55. #define pcibus_to_node(bus) ((void)(bus), -1)
  56. #endif
  57. #ifndef cpumask_of_pcibus
  58. #define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \
  59. cpu_all_mask : \
  60. cpumask_of_node(pcibus_to_node(bus)))
  61. #endif
  62. #endif /* CONFIG_NUMA */
  63. #if !defined(CONFIG_NUMA) || !defined(CONFIG_HAVE_MEMORYLESS_NODES)
  64. #ifndef set_numa_mem
  65. #define set_numa_mem(node)
  66. #endif
  67. #ifndef set_cpu_numa_mem
  68. #define set_cpu_numa_mem(cpu, node)
  69. #endif
  70. #endif /* !CONFIG_NUMA || !CONFIG_HAVE_MEMORYLESS_NODES */
  71. #endif /* _ASM_GENERIC_TOPOLOGY_H */