Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70556463 authored by Andi Kleen's avatar Andi Kleen Committed by Linus Torvalds
Browse files

[PATCH] x86-64: Use largest APIC number, not number of CPUs to decide on physflat mode



Handles case where BIOS gives CPUs very large APIC numbers correctly.

Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 5a40b7c2
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ void __init clustered_apic_check(void)
	u8 clusters, max_cluster;
	u8 id;
	u8 cluster_cnt[NUM_APIC_CLUSTERS];
	int num_cpus = 0;
	int max_apic = 0;

#if defined(CONFIG_ACPI)
	/*
@@ -64,7 +64,8 @@ void __init clustered_apic_check(void)
		id = bios_cpu_apicid[i];
		if (id == BAD_APICID)
			continue;
		num_cpus++;
		if (id > max_apic)
			max_apic = id;
		cluster_cnt[APIC_CLUSTERID(id)]++;
	}

@@ -79,7 +80,7 @@ void __init clustered_apic_check(void)
		   we have ACPI platform support for CPU hotplug
		   we should detect hotplug capablity from ACPI tables and
		   only do this when really needed. -AK */
		if (num_cpus <= 8)
		if (max_apic <= 8)
			genapic = &apic_flat;
#endif
 		goto print;