diff options
Diffstat (limited to 'arch/sparc64/kernel/head.S')
-rw-r--r-- | arch/sparc64/kernel/head.S | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index d00e20693be1..82ce5bced9c7 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S | |||
@@ -26,6 +26,7 @@ | |||
26 | #include <asm/head.h> | 26 | #include <asm/head.h> |
27 | #include <asm/ttable.h> | 27 | #include <asm/ttable.h> |
28 | #include <asm/mmu.h> | 28 | #include <asm/mmu.h> |
29 | #include <asm/cpudata.h> | ||
29 | 30 | ||
30 | /* This section from from _start to sparc64_boot_end should fit into | 31 | /* This section from from _start to sparc64_boot_end should fit into |
31 | * 0x0000000000404000 to 0x0000000000408000. | 32 | * 0x0000000000404000 to 0x0000000000408000. |
@@ -421,24 +422,6 @@ setup_trap_table: | |||
421 | stxa %g2, [%g1] ASI_DMMU | 422 | stxa %g2, [%g1] ASI_DMMU |
422 | membar #Sync | 423 | membar #Sync |
423 | 424 | ||
424 | /* The Linux trap handlers expect various trap global registers | ||
425 | * to be setup with some fixed values. So here we set these | ||
426 | * up very carefully. These globals are: | ||
427 | * | ||
428 | * Alternate Globals (PSTATE_AG): | ||
429 | * | ||
430 | * %g6 --> current_thread_info() | ||
431 | * | ||
432 | * Interrupt Globals (PSTATE_IG, setup by init_irqwork_curcpu()): | ||
433 | * | ||
434 | * %g6 --> __irq_work[smp_processor_id()] | ||
435 | */ | ||
436 | |||
437 | rdpr %pstate, %o1 | ||
438 | mov %g6, %o2 | ||
439 | wrpr %o1, PSTATE_AG, %pstate | ||
440 | mov %o2, %g6 | ||
441 | |||
442 | /* Kill PROM timer */ | 425 | /* Kill PROM timer */ |
443 | sethi %hi(0x80000000), %o2 | 426 | sethi %hi(0x80000000), %o2 |
444 | sllx %o2, 32, %o2 | 427 | sllx %o2, 32, %o2 |
@@ -457,7 +440,6 @@ setup_trap_table: | |||
457 | 440 | ||
458 | 2: | 441 | 2: |
459 | wrpr %g0, %g0, %wstate | 442 | wrpr %g0, %g0, %wstate |
460 | wrpr %o1, 0x0, %pstate | ||
461 | 443 | ||
462 | call init_irqwork_curcpu | 444 | call init_irqwork_curcpu |
463 | nop | 445 | nop |