12 #include <linux/kernel.h>
15 #include <linux/bitmap.h>
16 #include <linux/module.h>
25 #include <asm/uv/uv.h>
29 static __init int setup_node(
int pxm)
34 static __init void bad_srat(
void)
40 static __init inline int srat_disabled(
void)
78 node = setup_node(pxm);
86 printk(
KERN_INFO "SRAT: PXM %u -> APIC 0x%04x -> Node %u skipped apicid that is too big\n", pxm, apic_id, node);
89 set_apicid_to_node(apic_id, node);
112 if (acpi_srat_revision >= 2)
114 node = setup_node(pxm);
127 printk(
KERN_INFO "SRAT: PXM %u -> APIC 0x%02x -> Node %u skipped apicid that is too big\n", pxm, apic_id, node);
131 set_apicid_to_node(apic_id, node);
138 #ifdef CONFIG_MEMORY_HOTPLUG
139 static inline int save_add_info(
void) {
return 1;}
141 static inline int save_add_info(
void) {
return 0;}
165 if (acpi_srat_revision <= 1)
167 node = setup_node(pxm);
183 (
unsigned long long) start, (
unsigned long long) end - 1);
196 return srat_disabled() ? -
EINVAL : 0;