GNU Linux-libre 4.14.302-gnu1
[releases.git] / arch / s390 / numa / numa_mode.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * NUMA support for s390
4  *
5  * Define declarations used for communication between NUMA mode
6  * implementations and NUMA core functionality.
7  *
8  * Copyright IBM Corp. 2015
9  */
10 #ifndef __S390_NUMA_MODE_H
11 #define __S390_NUMA_MODE_H
12
13 struct numa_mode {
14         char *name;                             /* Name of mode */
15         void (*setup)(void);                    /* Initizalize mode */
16         void (*update_cpu_topology)(void);      /* Called by topology code */
17         int (*__pfn_to_nid)(unsigned long pfn); /* PFN to node ID */
18         unsigned long (*align)(void);           /* Minimum node alignment */
19         int (*distance)(int a, int b);          /* Distance between two nodes */
20 };
21
22 extern const struct numa_mode numa_mode_plain;
23 extern const struct numa_mode numa_mode_emu;
24
25 #endif /* __S390_NUMA_MODE_H */