1
0
Fork 0
alistair23-linux/include/asm-sparc64
David S. Miller 301feb6524 [SPARC64]: Fix lockdep, particularly on SMP.
As noted by Al Viro, when we try to call prom_set_trap_table()
in the SMP trampoline code we try to take the PROM call spinlock
which doesn't work because the current thread pointer isn't
valid yet and lockdep depends upon that being correct.

Furthermore, we cannot set the current thread pointer register
because it can't be properly dereferenced until we return from
prom_set_trap_table().  Kernel TLB misses only work after that
call.

So do the PROM call to set the trap table directly instead of
going through the OBP library C code, and thus avoid the lock
altogether.

These calls are guarenteed to be serialized fully.

Since there are now no calls to the prom_set_trap_table{_sun4v}()
library functions, they can be deleted.

Signed-off-by: David S. Miller <davem@davemloft.net>
2007-09-16 11:51:15 -07:00
..
Kbuild consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
a.out.h arch: personality independent stack top 2007-07-19 10:04:45 -07:00
agp.h [PATCH] AGP fix for Xen VMM 2005-06-07 12:35:43 -07:00
apb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asi.h [SPARC64]: Sun4v specific ASI defines. 2006-03-20 01:11:43 -08:00
atomic.h atomic.h: atomic_add_unless as inline. Remove system.h atomic.h circular dependency 2007-05-08 11:15:20 -07:00
auxio.h [SPARC64]: Get rid of fast IRQ feature. 2005-06-27 17:04:45 -07:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bbc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
bpp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bsderrno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bug.h [PATCH] remove all kernel BUGs 2005-05-01 08:59:01 -07:00
bugs.h [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
byteorder.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cache.h [PATCH] Move read_mostly definition to asm/cache.h 2006-03-23 07:38:10 -08:00
cacheflush.h [PATCH] Optimize D-cache alias handling on fork 2006-12-13 09:27:08 -08:00
chafsr.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h [NET]: SPARC64 checksum annotations and cleanups. 2006-12-02 21:23:23 -08:00
chmctrl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cmt.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.h Introduce compat_u64 and compat_s64 types 2007-07-16 09:05:48 -07:00
compat_signal.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
cpudata.h [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dcr.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dcu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h [SPARC64]: More sensible udelay implementation. 2007-07-16 04:05:02 -07:00
device.h [SPARC64]: Fix several bugs in MSI handling. 2007-08-30 23:06:51 -07:00
display7seg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h [SPARC64]: Add missing dma_sync_single_range_for_*(). 2007-08-03 14:08:20 -07:00
dma.h [SPARC64]: Fix floppy build failure. 2007-03-05 13:22:28 -08:00
ebus.h [SPARC64] ebus: Convert to use pci_device_to_OF_node(). 2007-04-26 01:55:04 -07:00
elf.h [SPARC64]: Create a HWCAP_SPARC_N2 and report it to userspace on Niagara-2. 2007-08-16 13:56:39 -07:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
envctrl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
errno.h [PATCH] add EOWNERDEAD and ENOTRECOVERABLE version 2 2005-05-01 08:59:06 -07:00
estate.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fb.h [SPARC]: Implement fb_is_primary_device(). 2007-07-20 17:15:09 -07:00
fbio.h [SPARC]: Mark SBUS framebuffer ioctls as IGNORE in compat_ioctl.c 2007-07-30 00:27:36 -07:00
fcntl.h [SPARC]: Fix O_CLOEXEC values. 2007-08-03 14:24:17 -07:00
fhc.h [SPARC64]: Convert central bus layer to in-kernel PROM device tree. 2006-06-23 23:15:32 -07:00
floppy.h [SPARC64]: asm-sparc64/floppy.h needs linux/pci.h 2007-07-30 00:27:35 -07:00
fpumacro.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
futex.h [PATCH] mm: pagefault_{disable,enable}() 2006-12-07 08:39:21 -08:00
hardirq.h [SPARC64]: Move over to GENERIC_HARDIRQS. 2006-06-20 01:23:32 -07:00
head.h [SPARC64]: Add GET_GL_GLOBAL() macro for SUN4V. 2006-03-20 01:13:18 -08:00
hvtramp.h [SPARC64]: Initial LDOM cpu hotplug support. 2007-07-16 04:04:40 -07:00
hw_irq.h [SPARC64]: Minor irq handling cleanups. 2006-12-17 14:06:56 -08:00
hypervisor.h [SPARC64]: Initial LDOM cpu hotplug support. 2007-07-16 04:04:40 -07:00
ide.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
idprom.h [SPARC]: Clean up idprom header files. 2006-03-20 01:12:08 -08:00
intr_queue.h [SPARC64]: Sun4v interrupt queue register definitions. 2006-03-20 01:11:44 -08:00
io.h [SPARC]: Mark sparc and sparc64 as not having virt_to_bus 2007-07-18 01:20:22 -07:00
ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu.h [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.h [SPARC64]: Fix several bugs in MSI handling. 2007-08-30 23:06:51 -07:00
irq_regs.h [PATCH] sparc64 pt_regs fixes 2006-10-08 12:32:35 -07:00
irqflags.h [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
isa.h [SPARC64] isa: Convert to use pci_device_to_OF_node(). 2007-04-26 01:55:05 -07:00
kdebug.h [SPARC64]: Kill unused DIE_PAGE_FAULT enum value. 2007-05-29 02:49:14 -07:00
kmap_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.h jprobes: remove JPROBE_ENTRY() 2007-07-19 10:04:44 -07:00
ldc.h [SPARC64]: Fix build regressions added by dr-cpu changes. 2007-07-16 04:04:49 -07:00
linkage.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h local_t: sparc64 cleanup 2007-05-08 11:15:20 -07:00
lsu.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
mc146818rtc.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
mdesc.h [SPARC64]: Add basic infrastructure for MD add/remove notification. 2007-07-18 01:19:51 -07:00
mman.h [PATCH] IA64,sparc: local DoS with corrupted ELFs 2006-09-08 08:40:46 -07:00
mmu.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
mmu_context.h [SPARC64]: dr-cpu unconfigure support. 2007-07-16 04:05:32 -07:00
module.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mostek.h [SPARC]: sparc64 gcc-4.2.0 20070317 -Werror failure 2007-03-27 01:13:55 -07:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ns87303.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
numnodes.h [SPARC64]: Move over to sparsemem. 2006-03-20 01:14:22 -08:00
of_device.h Create linux/of_platorm.h 2007-07-20 14:25:22 +10:00
of_platform.h Create linux/of_platorm.h 2007-07-20 14:25:22 +10:00
openprom.h [SPARC64]: Bump PROMINTR_MAX to 32. 2007-05-10 00:55:59 -07:00
openpromio.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
oplib.h [SPARC64]: Fix lockdep, particularly on SMP. 2007-09-16 11:51:15 -07:00
page.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
param.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
parport.h [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
pci.h [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
pconf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
percpu.h [SPARC64]: Need to clobber global reg vars in switch_to(). 2007-08-20 23:40:00 -07:00
perfctr.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h Quicklist support for sparc64 2007-05-07 12:12:54 -07:00
pgtable.h page table handling cleanup 2007-07-16 09:05:36 -07:00
pil.h [SPARC64]: Send all device interrupts via one PIL. 2006-06-20 01:20:00 -07:00
poll.h Consolidate asm/poll.h 2007-05-11 08:29:34 -07:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
prom.h [SPARC]: Centralize find_in_proplist() instead of duplicating N times. 2007-08-07 18:46:36 -07:00
psrcompat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pstate.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
ptrace.h [PATCH] consolidate sys_ptrace() 2005-11-07 07:53:42 -08:00
reg.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwsem-const.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwsem.h [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00
sbus.h [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling. 2007-07-30 00:27:34 -07:00
scatterlist.h PCI: scatterlist.h needs types.h 2007-05-02 19:02:34 -07:00
scratchpad.h [SPARC64]: Sun4v scratchpad register layout. 2006-03-20 01:11:44 -08:00
seccomp.h [SPARC64]: Add missing asm-sparc64/seccomp.h file. 2005-07-11 13:44:56 -07:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.h [PATCH] semaphore: Remove __MUTEX_INITIALIZER() 2005-10-30 17:37:27 -08:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.h [SPARC64]: Increase command line size to 2048 like other arches. 2007-02-12 15:15:47 -08:00
sfafsr.h consolidate asm/const.h to linux/const.h 2007-05-08 11:15:13 -07:00
sfp-machine.h [MATH-EMU]: Fix underflow exception reporting. 2007-08-16 22:59:49 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Fix exported headers for SPARC, SPARC64 2006-09-21 08:48:27 +01:00
sigcontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
signal.h [SPARC64]: Do not include compat.h from asm-sparc64/signal.h any more. 2006-10-02 14:30:45 -07:00
smp.h [SPARC64]: dr-cpu unconfigure support. 2007-07-16 04:05:32 -07:00
socket.h [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
sockios.h [NET]: Introduce SIOCGSTAMPNS ioctl to get timestamps with nanosec resolution 2007-04-25 22:24:04 -07:00
solerrno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sparsemem.h [SPARC64]: MAX_PHYSADDR_BITS et al. really need to be 42 bits not 41. 2007-04-26 01:55:24 -07:00
spinlock.h [PATCH] Directed yield: cpu_relax variants for spinlocks and rw-locks 2006-10-01 00:39:21 -07:00
spinlock_types.h [PATCH] spinlock consolidation 2005-09-10 10:06:21 -07:00
spitfire.h [SPARC64]: Do not assume sun4v chips have load-twin/store-init support. 2007-08-08 17:33:45 -07:00
sstate.h [SPARC64]: Report proper system soft state to the hypervisor. 2007-05-29 02:49:29 -07:00
starfire.h [SPARC64]: Kill starfire_cookie from SBUS/PCI. 2006-06-29 16:37:08 -07:00
stat.h [PATCH] sparc64: Fix stat 2005-04-18 15:13:15 -07:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunbpp.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
svr4.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system.h [SPARC64]: Need to clobber global reg vars in switch_to(). 2007-08-20 23:40:00 -07:00
termbits.h [PATCH] tty: preparatory structures for termios revamp 2006-12-08 08:28:56 -08:00
termios.h [PATCH] consolidate line discipline number definitions 2007-02-11 10:51:26 -08:00
thread_info.h [SPARC64]: Eliminate NR_CPUS limitations. 2007-05-29 02:49:49 -07:00
timer.h [SPARC64]: Add clocksource/clockevents support. 2007-04-26 01:54:15 -07:00
timex.h [SPARC64]: Define ARCH_HAS_READ_CURRENT_TIMER. 2006-03-20 01:13:29 -08:00
tlb.h [SPARC64]: Add linux/pagemap.h to asm/tlb.h 2007-06-28 21:25:31 -07:00
tlbflush.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-05-06 19:59:18 +01:00
topology.h [SPARC64]: Fix {mc,smt}_capable(). 2007-06-04 21:50:05 -07:00
tsb.h [SPARC64]: Fix two bugs wrt. kernel 4MB TSB. 2007-05-29 02:51:38 -07:00
ttable.h [SPARC64]: Unify timer interrupt handler. 2007-04-26 01:54:11 -07:00
types.h [PATCH] sab: consolidate kmem_bufctl_t 2005-09-05 00:05:48 -07:00
uaccess.h [SPARC64]: __bzero_noasi --> __clear_user 2006-03-20 01:13:28 -08:00
uctx.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [SPARC]: Add sys_fallocate() entries. 2007-07-19 21:26:47 -07:00
upa.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
utrap.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vga.h [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
vio.h [SPARC64]: Fix handling of multiple vdc-port nodes. 2007-07-19 21:27:18 -07:00
visasm.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
watchdog.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xor.h [SPARC64]: Do not assume sun4v chips have load-twin/store-init support. 2007-08-08 17:33:45 -07:00