Skip to content

Commit

Permalink
[SPARC64]: Make sure IRQs are disabled properly during early boot.
Browse files Browse the repository at this point in the history
Else we trigger the new irqs_disable() assertion in start_kernel().

Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
David S. Miller committed Jul 15, 2006
1 parent 18b0bbd commit d8573e2
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 9 deletions.
13 changes: 6 additions & 7 deletions arch/sparc64/kernel/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -551,9 +551,10 @@ setup_trap_table:
save %sp, -192, %sp

/* Force interrupts to be disabled. */
rdpr %pstate, %o1
andn %o1, PSTATE_IE, %o1
rdpr %pstate, %l0
andn %l0, PSTATE_IE, %o1
wrpr %o1, 0x0, %pstate
rdpr %pil, %l1
wrpr %g0, 15, %pil

/* Make the firmware call to jump over to the Linux trap table. */
Expand Down Expand Up @@ -622,11 +623,9 @@ setup_trap_table:
call init_irqwork_curcpu
nop

/* Now we can turn interrupts back on. */
rdpr %pstate, %o1
or %o1, PSTATE_IE, %o1
wrpr %o1, 0, %pstate
wrpr %g0, 0x0, %pil
/* Now we can restore interrupt state. */
wrpr %l0, 0, %pstate
wrpr %l1, 0x0, %pil

ret
restore
Expand Down
2 changes: 0 additions & 2 deletions arch/sparc64/kernel/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -928,8 +928,6 @@ static void sparc64_start_timers(void)
__asm__ __volatile__("wrpr %0, 0x0, %%pstate"
: /* no outputs */
: "r" (pstate));

local_irq_enable();
}

struct freq_table {
Expand Down

0 comments on commit d8573e2

Please sign in to comment.