[SPARC64]: Eliminate irq_cpustat_t.
We can put the __softirq_pending mask in the cpudata, no need for the silly NR_CPUS array in kernel/softirq.c Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -153,11 +153,14 @@ __handle_signal:
|
||||
rtrap_irq:
|
||||
rtrap_clr_l6: clr %l6
|
||||
rtrap:
|
||||
ldub [%g6 + TI_CPU], %l0
|
||||
sethi %hi(irq_stat), %l2 ! &softirq_active
|
||||
or %l2, %lo(irq_stat), %l2 ! &softirq_active
|
||||
irqsz_patchme: sllx %l0, 0, %l0
|
||||
lduw [%l2 + %l0], %l1 ! softirq_pending
|
||||
#ifndef CONFIG_SMP
|
||||
sethi %hi(per_cpu____cpu_data), %l0
|
||||
lduw [%l0 + %lo(per_cpu____cpu_data)], %l1
|
||||
#else
|
||||
sethi %hi(per_cpu____cpu_data), %l0
|
||||
or %l0, %lo(per_cpu____cpu_data), %l0
|
||||
lduw [%l0 + %g5], %l1
|
||||
#endif
|
||||
cmp %l1, 0
|
||||
|
||||
/* mm/ultra.S:xcall_report_regs KNOWS about this load. */
|
||||
|
@@ -511,18 +511,6 @@ void __init setup_arch(char **cmdline_p)
|
||||
conswitchp = &prom_con;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
i = (unsigned long)&irq_stat[1] - (unsigned long)&irq_stat[0];
|
||||
if ((i == SMP_CACHE_BYTES) || (i == (2 * SMP_CACHE_BYTES))) {
|
||||
extern unsigned int irqsz_patchme[1];
|
||||
irqsz_patchme[0] |= ((i == SMP_CACHE_BYTES) ? SMP_CACHE_BYTES_SHIFT : \
|
||||
SMP_CACHE_BYTES_SHIFT + 1);
|
||||
flushi((long)&irqsz_patchme[0]);
|
||||
} else {
|
||||
prom_printf("Unexpected size of irq_stat[] elements\n");
|
||||
prom_halt();
|
||||
}
|
||||
#endif
|
||||
/* Work out if we are starfire early on */
|
||||
check_if_starfire();
|
||||
|
||||
|
Reference in New Issue
Block a user