^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef __ACPI_NUMA_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define __ACPI_NUMA_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) #ifdef CONFIG_ACPI_NUMA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <linux/kernel.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/numa.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /* Proximity bitmap length */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #if MAX_NUMNODES > 256
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #define MAX_PXM_DOMAINS MAX_NUMNODES
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) #define MAX_PXM_DOMAINS (256) /* Old pxm spec is defined 8 bit */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) extern int pxm_to_node(int);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) extern int node_to_pxm(int);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) extern int acpi_map_pxm_to_node(int);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) extern unsigned char acpi_srat_revision;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) extern void disable_srat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) extern void bad_srat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) extern int srat_disabled(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #else /* CONFIG_ACPI_NUMA */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) static inline void disable_srat(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) static inline int pxm_to_node(int pxm)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) #endif /* CONFIG_ACPI_NUMA */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) #ifdef CONFIG_ACPI_HMAT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) extern void disable_hmat(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) #else /* CONFIG_ACPI_HMAT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) static inline void disable_hmat(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) #endif /* CONFIG_ACPI_HMAT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #endif /* __ACP_NUMA_H */