aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/arm64/mp_machdep.c
diff options
context:
space:
mode:
authorJayachandran C. <jchandra@FreeBSD.org>2018-12-08 19:42:01 +0000
committerJayachandran C. <jchandra@FreeBSD.org>2018-12-08 19:42:01 +0000
commitec6306640757f2d3d9e8a5eedf1fdbd4fb78b269 (patch)
tree452e978e3a8496d3879284961a630e0e941b1fcd /sys/arm64/arm64/mp_machdep.c
parent13aacaeea4609569c6e00af22b1927e1d71ae5fa (diff)
downloadsrc-ec6306640757f2d3d9e8a5eedf1fdbd4fb78b269.tar.gz
src-ec6306640757f2d3d9e8a5eedf1fdbd4fb78b269.zip
arm64: add ACPI based NUMA support
Use the newly defined SRAT/SLIT parsing APIs in arm64 to support ACPI based NUMA. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D17943
Notes
Notes: svn path=/head/; revision=341744
Diffstat (limited to 'sys/arm64/arm64/mp_machdep.c')
-rw-r--r--sys/arm64/arm64/mp_machdep.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/arm64/arm64/mp_machdep.c b/sys/arm64/arm64/mp_machdep.c
index ef17ca422771..b887aed3d19b 100644
--- a/sys/arm64/arm64/mp_machdep.c
+++ b/sys/arm64/arm64/mp_machdep.c
@@ -442,13 +442,15 @@ madt_handler(ACPI_SUBTABLE_HEADER *entry, void *arg)
{
ACPI_MADT_GENERIC_INTERRUPT *intr;
u_int *cpuid;
+ u_int id;
switch(entry->Type) {
case ACPI_MADT_TYPE_GENERIC_INTERRUPT:
intr = (ACPI_MADT_GENERIC_INTERRUPT *)entry;
cpuid = arg;
-
- start_cpu((*cpuid), intr->ArmMpidr);
+ id = *cpuid;
+ start_cpu(id, intr->ArmMpidr);
+ __pcpu[id].pc_acpi_id = intr->Uid;
(*cpuid)++;
break;
default:
@@ -478,6 +480,12 @@ cpu_init_acpi(void)
madt_handler, &cpuid);
acpi_unmap_table(madt);
+
+#if MAXMEMDOM > 1
+ /* set proximity info */
+ acpi_pxm_set_cpu_locality();
+ acpi_pxm_free();
+#endif
}
#endif