sparc64: Always allocate the send mondo blocks, even on non-sun4v.
The idea is that we'll use this cpu list array and mondo block even for non-hypervisor platforms. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -915,12 +915,18 @@ static void __init sun4v_init_mondo_queues(void)
|
|||||||
alloc_one_mondo(&tb->nonresum_mondo_pa, tb->nonresum_qmask);
|
alloc_one_mondo(&tb->nonresum_mondo_pa, tb->nonresum_qmask);
|
||||||
alloc_one_kbuf(&tb->nonresum_kernel_buf_pa,
|
alloc_one_kbuf(&tb->nonresum_kernel_buf_pa,
|
||||||
tb->nonresum_qmask);
|
tb->nonresum_qmask);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void __init init_send_mondo_info(void)
|
||||||
|
{
|
||||||
|
int cpu;
|
||||||
|
|
||||||
|
for_each_possible_cpu(cpu) {
|
||||||
|
struct trap_per_cpu *tb = &trap_block[cpu];
|
||||||
|
|
||||||
init_cpu_send_mondo_info(tb);
|
init_cpu_send_mondo_info(tb);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Load up the boot cpu's entries. */
|
|
||||||
sun4v_register_mondo_queues(hard_smp_processor_id());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irqaction timer_irq_action = {
|
static struct irqaction timer_irq_action = {
|
||||||
@@ -949,6 +955,13 @@ void __init init_IRQ(void)
|
|||||||
if (tlb_type == hypervisor)
|
if (tlb_type == hypervisor)
|
||||||
sun4v_init_mondo_queues();
|
sun4v_init_mondo_queues();
|
||||||
|
|
||||||
|
init_send_mondo_info();
|
||||||
|
|
||||||
|
if (tlb_type == hypervisor) {
|
||||||
|
/* Load up the boot cpu's entries. */
|
||||||
|
sun4v_register_mondo_queues(hard_smp_processor_id());
|
||||||
|
}
|
||||||
|
|
||||||
/* We need to clear any IRQ's pending in the soft interrupt
|
/* We need to clear any IRQ's pending in the soft interrupt
|
||||||
* registers, a spurious one could be left around from the
|
* registers, a spurious one could be left around from the
|
||||||
* PROM timer which we just disabled.
|
* PROM timer which we just disabled.
|
||||||
|
Reference in New Issue
Block a user