mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-17 18:14:34 +08:00
[SPARC64]: Fix {mc,smt}_capable().
It's not just sun4v hypervisor platforms that should return true for this, sun4u with UltraSPARC-IV should return true too. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
5cd342df96
commit
a2f9f6bbb3
@ -624,6 +624,10 @@ static void __init mdesc_fill_in_cpu_data(void)
|
|||||||
c->proc_id = -1;
|
c->proc_id = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_SMP
|
||||||
|
sparc64_multi_core = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
set_core_ids();
|
set_core_ids();
|
||||||
set_proc_ids();
|
set_proc_ids();
|
||||||
|
|
||||||
|
@ -1782,6 +1782,9 @@ static void __init of_fill_in_cpu_data(void)
|
|||||||
|
|
||||||
cpu_data(cpuid).core_id = portid + 1;
|
cpu_data(cpuid).core_id = portid + 1;
|
||||||
cpu_data(cpuid).proc_id = portid;
|
cpu_data(cpuid).proc_id = portid;
|
||||||
|
#ifdef CONFIG_SMP
|
||||||
|
sparc64_multi_core = 1;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
cpu_data(cpuid).dcache_size =
|
cpu_data(cpuid).dcache_size =
|
||||||
of_getintprop_default(dp, "dcache-size", 16 * 1024);
|
of_getintprop_default(dp, "dcache-size", 16 * 1024);
|
||||||
|
@ -44,6 +44,8 @@
|
|||||||
|
|
||||||
extern void calibrate_delay(void);
|
extern void calibrate_delay(void);
|
||||||
|
|
||||||
|
int sparc64_multi_core __read_mostly;
|
||||||
|
|
||||||
/* Please don't make this stuff initdata!!! --DaveM */
|
/* Please don't make this stuff initdata!!! --DaveM */
|
||||||
unsigned char boot_cpu_id;
|
unsigned char boot_cpu_id;
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ extern cpumask_t phys_cpu_present_map;
|
|||||||
|
|
||||||
extern cpumask_t cpu_sibling_map[NR_CPUS];
|
extern cpumask_t cpu_sibling_map[NR_CPUS];
|
||||||
extern cpumask_t cpu_core_map[NR_CPUS];
|
extern cpumask_t cpu_core_map[NR_CPUS];
|
||||||
|
extern int sparc64_multi_core;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* General functions that each host system must provide.
|
* General functions that each host system must provide.
|
||||||
|
@ -2,14 +2,12 @@
|
|||||||
#define _ASM_SPARC64_TOPOLOGY_H
|
#define _ASM_SPARC64_TOPOLOGY_H
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
#include <asm/spitfire.h>
|
|
||||||
|
|
||||||
#define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id)
|
#define topology_physical_package_id(cpu) (cpu_data(cpu).proc_id)
|
||||||
#define topology_core_id(cpu) (cpu_data(cpu).core_id)
|
#define topology_core_id(cpu) (cpu_data(cpu).core_id)
|
||||||
#define topology_core_siblings(cpu) (cpu_core_map[cpu])
|
#define topology_core_siblings(cpu) (cpu_core_map[cpu])
|
||||||
#define topology_thread_siblings(cpu) (cpu_sibling_map[cpu])
|
#define topology_thread_siblings(cpu) (cpu_sibling_map[cpu])
|
||||||
#define mc_capable() (tlb_type == hypervisor)
|
#define mc_capable() (sparc64_multi_core)
|
||||||
#define smt_capable() (tlb_type == hypervisor)
|
#define smt_capable() (sparc64_multi_core)
|
||||||
#endif /* CONFIG_SMP */
|
#endif /* CONFIG_SMP */
|
||||||
|
|
||||||
#include <asm-generic/topology.h>
|
#include <asm-generic/topology.h>
|
||||||
|
Loading…
Reference in New Issue
Block a user