blob: b5f594754a9e4f86da8d1e3208cf414707cee39f [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Yasunori Goto762834e2006-06-23 02:03:19 -07002#ifndef __ACPI_NUMA_H
3#define __ACPI_NUMA_H
4
5#ifdef CONFIG_ACPI_NUMA
Ross Zwislera0c2d9c2017-07-21 16:51:23 -06006#include <linux/numa.h>
Yasunori Goto762834e2006-06-23 02:03:19 -07007
8/* Proximity bitmap length */
9#if MAX_NUMNODES > 256
10#define MAX_PXM_DOMAINS MAX_NUMNODES
11#else
Len Brownfd350942007-05-09 23:34:35 -040012#define MAX_PXM_DOMAINS (256) /* Old pxm spec is defined 8 bit */
Yasunori Goto762834e2006-06-23 02:03:19 -070013#endif
14
Aaron Durbinf363d162007-05-16 22:11:06 -070015extern int pxm_to_node(int);
16extern int node_to_pxm(int);
Luck, Tony8ff6f482007-05-24 13:57:40 -070017extern int acpi_map_pxm_to_node(int);
Kurt Garloff8df0eb7c2012-01-17 04:18:02 -050018extern unsigned char acpi_srat_revision;
Dan Williams2dd57d32020-10-13 16:48:57 -070019extern void disable_srat(void);
David Daneye84025e2016-05-24 15:35:39 -070020
21extern void bad_srat(void);
22extern int srat_disabled(void);
Yasunori Goto762834e2006-06-23 02:03:19 -070023
Dan Williams2dd57d32020-10-13 16:48:57 -070024#else /* CONFIG_ACPI_NUMA */
25static inline void disable_srat(void)
26{
27}
Nathan Chancellor4849bc72020-09-28 12:45:55 -070028static inline int pxm_to_node(int pxm)
29{
30 return 0;
31}
Wei Liu4f0455c2021-02-03 15:04:27 +000032static inline int node_to_pxm(int node)
33{
34 return 0;
35}
Yasunori Goto762834e2006-06-23 02:03:19 -070036#endif /* CONFIG_ACPI_NUMA */
Dan Williams3b0d3102020-10-13 16:49:02 -070037
38#ifdef CONFIG_ACPI_HMAT
39extern void disable_hmat(void);
40#else /* CONFIG_ACPI_HMAT */
41static inline void disable_hmat(void)
42{
43}
44#endif /* CONFIG_ACPI_HMAT */
Christophe JAILLET237a47e2021-06-05 09:30:19 +020045#endif /* __ACPI_NUMA_H */