kernel-ark/arch
David S. Miller 5d8e1b181c [SPARC64]: Fix Ultra5, Ultra60, et al. boot failures.
On the boot processor, we need to do the move onto the Linux trap
table a little bit differently else we'll take unhandlable faults in
the firmware address space.

Previously we would do the following:

1) Disable PSTATE_IE in %pstate.
2) Set %tba by hand to sparc64_ttable_tl0
3) Initialize alternate, mmu, and interrupt global
   trap registers.
4) Call prom_set_traptable()

That doesn't work very well actually with the way we boot the kernel
VM these days.  It worked by luck on many systems because the firmware
accesses for the prom_set_traptable() call happened to be loaded into
the TLB already, something we cannot assume.

So the new scheme is this:

1) Clear PSTATE_IE in %pstate and set %pil to 15
2) Call prom_set_traptable()
3) Initialize alternate, mmu, and interrupt global
   trap registers.

and this works quite well.  This sequence has been moved into a
callable function in assembler named setup-trap_table().  The idea is
that eventually trampoline.S can use this code as well.  That isn't
possible currently due to some complications, but eventually we should
be able to do it.

Thanks to Meelis Roos for the Ultra5 boot failure report.

Signed-off-by: David S. Miller <davem@davemloft.net>
2005-10-10 16:12:13 -07:00
..
alpha [PATCH] alpha: fix kernel alignment traps 2005-10-02 14:32:49 -07:00
arm [ARM] 2968/1: defconfig for the ARM Collie platform 2005-10-10 18:24:09 +01:00
arm26 [PATCH] Remove arch/arm26/boot/compressed/hw-bse.c 2005-09-17 11:49:59 -07:00
cris [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
frv kbuild: frv,m32r,sparc64 introduce fake asm-offsets.h file 2005-09-09 22:47:53 +02:00
h8300 kbuild: h8300,m68knommu,sh,sh64 use generic asm-offsets.h support 2005-09-09 20:28:49 +02:00
i386 [PATCH] i386: fix stack alignment for signal handlers 2005-10-10 08:45:06 -07:00
ia64 [IA64] Avoid kernel hang during CMC interrupt storm 2005-10-06 15:04:11 -07:00
m32r [PATCH] m32r: more basic __user annotations 2005-09-26 18:29:50 -07:00
m68k Merge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild 2005-09-09 15:46:49 -07:00
m68knommu [PATCH] m68knommu: startup code for the Drangen Engine 68328 based board 2005-09-12 20:04:15 -07:00
mips [LIB]: Consolidate _atomic_dec_and_lock() 2005-09-14 21:47:01 -07:00
parisc [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
ppc [PATCH] ppc: Fix timekeeping with HZ=250 on some Mac models 2005-10-05 07:33:42 -07:00
ppc64 [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
s390 [PATCH] s390 signal annotations 2005-09-29 08:46:27 -07:00
sh kbuild: rename prepare to archprepare to fix dependency chain 2005-09-11 22:30:22 +02:00
sh64 kbuild: rename prepare to archprepare to fix dependency chain 2005-09-11 22:30:22 +02:00
sparc [SPARC32]: Enable generic IOMAP. 2005-10-06 22:14:59 -07:00
sparc64 [SPARC64]: Fix Ultra5, Ultra60, et al. boot failures. 2005-10-10 16:12:13 -07:00
um [PATCH] uml: fix x86_64 with !CONFIG_FRAME_POINTER 2005-10-10 08:37:59 -07:00
v850 [PATCH] V850: C99 initializers for hw_interrupt_type structures 2005-09-10 10:06:27 -07:00
x86_64 [PATCH] i386: fix stack alignment for signal handlers 2005-10-10 08:45:06 -07:00
xtensa [PATCH] xtensa: remove io_remap_page_range and minor clean-ups 2005-09-22 22:17:37 -07:00