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