Skip to content

Commit

Permalink
sparc64: Always allocate the send mondo blocks, even on non-sun4v.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David S. Miller committed Aug 4, 2008
1 parent 91a4231 commit 43f5892
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions arch/sparc64/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -915,12 +915,18 @@ static void __init sun4v_init_mondo_queues(void)
alloc_one_mondo(&tb->nonresum_mondo_pa, tb->nonresum_qmask);
alloc_one_kbuf(&tb->nonresum_kernel_buf_pa,
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);
}

/* Load up the boot cpu's entries. */
sun4v_register_mondo_queues(hard_smp_processor_id());
}

static struct irqaction timer_irq_action = {
Expand Down Expand Up @@ -949,6 +955,13 @@ void __init init_IRQ(void)
if (tlb_type == hypervisor)
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
* registers, a spurious one could be left around from the
* PROM timer which we just disabled.
Expand Down

0 comments on commit 43f5892

Please sign in to comment.