162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * linux/include/asm-generic/topology.h 362306a36Sopenharmony_ci * 462306a36Sopenharmony_ci * Written by: Matthew Dobson, IBM Corporation 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 2002, IBM Corp. 762306a36Sopenharmony_ci * 862306a36Sopenharmony_ci * All rights reserved. 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * This program is free software; you can redistribute it and/or modify 1162306a36Sopenharmony_ci * it under the terms of the GNU General Public License as published by 1262306a36Sopenharmony_ci * the Free Software Foundation; either version 2 of the License, or 1362306a36Sopenharmony_ci * (at your option) any later version. 1462306a36Sopenharmony_ci * 1562306a36Sopenharmony_ci * This program is distributed in the hope that it will be useful, but 1662306a36Sopenharmony_ci * WITHOUT ANY WARRANTY; without even the implied warranty of 1762306a36Sopenharmony_ci * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 1862306a36Sopenharmony_ci * NON INFRINGEMENT. See the GNU General Public License for more 1962306a36Sopenharmony_ci * details. 2062306a36Sopenharmony_ci * 2162306a36Sopenharmony_ci * You should have received a copy of the GNU General Public License 2262306a36Sopenharmony_ci * along with this program; if not, write to the Free Software 2362306a36Sopenharmony_ci * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 2462306a36Sopenharmony_ci * 2562306a36Sopenharmony_ci * Send feedback to <colpatch@us.ibm.com> 2662306a36Sopenharmony_ci */ 2762306a36Sopenharmony_ci#ifndef _ASM_GENERIC_TOPOLOGY_H 2862306a36Sopenharmony_ci#define _ASM_GENERIC_TOPOLOGY_H 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci#ifndef CONFIG_NUMA 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci/* Other architectures wishing to use this simple topology API should fill 3362306a36Sopenharmony_ci in the below functions as appropriate in their own <asm/topology.h> file. */ 3462306a36Sopenharmony_ci#ifndef cpu_to_node 3562306a36Sopenharmony_ci#define cpu_to_node(cpu) ((void)(cpu),0) 3662306a36Sopenharmony_ci#endif 3762306a36Sopenharmony_ci#ifndef set_numa_node 3862306a36Sopenharmony_ci#define set_numa_node(node) 3962306a36Sopenharmony_ci#endif 4062306a36Sopenharmony_ci#ifndef set_cpu_numa_node 4162306a36Sopenharmony_ci#define set_cpu_numa_node(cpu, node) 4262306a36Sopenharmony_ci#endif 4362306a36Sopenharmony_ci#ifndef cpu_to_mem 4462306a36Sopenharmony_ci#define cpu_to_mem(cpu) ((void)(cpu),0) 4562306a36Sopenharmony_ci#endif 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci#ifndef cpumask_of_node 4862306a36Sopenharmony_ci #ifdef CONFIG_NUMA 4962306a36Sopenharmony_ci #define cpumask_of_node(node) ((node) == 0 ? cpu_online_mask : cpu_none_mask) 5062306a36Sopenharmony_ci #else 5162306a36Sopenharmony_ci #define cpumask_of_node(node) ((void)(node), cpu_online_mask) 5262306a36Sopenharmony_ci #endif 5362306a36Sopenharmony_ci#endif 5462306a36Sopenharmony_ci#ifndef pcibus_to_node 5562306a36Sopenharmony_ci#define pcibus_to_node(bus) ((void)(bus), -1) 5662306a36Sopenharmony_ci#endif 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci#ifndef cpumask_of_pcibus 5962306a36Sopenharmony_ci#define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \ 6062306a36Sopenharmony_ci cpu_all_mask : \ 6162306a36Sopenharmony_ci cpumask_of_node(pcibus_to_node(bus))) 6262306a36Sopenharmony_ci#endif 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci#endif /* CONFIG_NUMA */ 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ci#if !defined(CONFIG_NUMA) || !defined(CONFIG_HAVE_MEMORYLESS_NODES) 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci#ifndef set_numa_mem 6962306a36Sopenharmony_ci#define set_numa_mem(node) 7062306a36Sopenharmony_ci#endif 7162306a36Sopenharmony_ci#ifndef set_cpu_numa_mem 7262306a36Sopenharmony_ci#define set_cpu_numa_mem(cpu, node) 7362306a36Sopenharmony_ci#endif 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_ci#endif /* !CONFIG_NUMA || !CONFIG_HAVE_MEMORYLESS_NODES */ 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci#endif /* _ASM_GENERIC_TOPOLOGY_H */ 78