File Index
Files and directories
Sign in
FILE

numa.h

File preview with syntax highlighting.

linux-6.19.14/arch/loongarch/include/asm/numa.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2/*
 3 * Author: Jianmin Lv <lvjianmin@loongson.cn>
 4 *         Huacai Chen <chenhuacai@loongson.cn>
 5 *
 6 * Copyright (C) 2020-2022 Loongson Technology Corporation Limited
 7 */
 8
 9#ifndef _ASM_LOONGARCH_NUMA_H
10#define _ASM_LOONGARCH_NUMA_H
11
12#include <linux/nodemask.h>
13
14#define NODE_ADDRSPACE_SHIFT 44
15
16#define pa_to_nid(addr)		(((addr) & 0xf00000000000) >> NODE_ADDRSPACE_SHIFT)
17#define nid_to_addrbase(nid)	(_ULCAST_(nid) << NODE_ADDRSPACE_SHIFT)
18
19#ifdef CONFIG_NUMA
20
21extern int numa_off;
22extern s16 __cpuid_to_node[CONFIG_NR_CPUS];
23extern nodemask_t numa_nodes_parsed __initdata;
24
25extern void __init early_numa_add_cpu(int cpuid, s16 node);
26extern void numa_add_cpu(unsigned int cpu);
27extern void numa_remove_cpu(unsigned int cpu);
28
29static inline void numa_clear_node(int cpu)
30{
31}
32
33static inline void set_cpuid_to_node(int cpuid, s16 node)
34{
35	__cpuid_to_node[cpuid] = node;
36}
37
38extern int early_cpu_to_node(int cpu);
39
40#else
41
42static inline void early_numa_add_cpu(int cpuid, s16 node)	{ }
43static inline void numa_add_cpu(unsigned int cpu)		{ }
44static inline void numa_remove_cpu(unsigned int cpu)		{ }
45static inline void set_cpuid_to_node(int cpuid, s16 node)	{ }
46
47static inline int early_cpu_to_node(int cpu)
48{
49	return 0;
50}
51
52#endif	/* CONFIG_NUMA */
53
54#endif	/* _ASM_LOONGARCH_NUMA_H */
~/ Read-only file preview.