Commit 789319db authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Add global register dumping facility.
  sparc: remove CVS keywords
  sparc64: remove CVS keywords
parents fd9908c0 93dae5b7
# $Id: config.in,v 1.113 2002/01/24 22:14:44 davem Exp $
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.
#
......
# $Id: Makefile,v 1.10 2000/02/23 08:17:46 jj Exp $
# Makefile for the Sparc boot stuff.
#
# Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: btfixupprep.c,v 1.6 2001/08/22 15:27:47 davem Exp $
/*
Simple utility to prepare vmlinux image for sparc.
Resolves all BTFIXUP uses and settings and creates
a special .s object to link to the image.
......
/* $Id: piggyback.c,v 1.4 2000/12/05 00:48:57 anton Exp $
/*
Simple utility to make a single-image install kernel with initial ramdisk
for Sparc tftpbooting without need to set up nfs.
......
/* $Id: ebus.c,v 1.20 2002/01/05 01:13:43 davem Exp $
/*
* ebus.c: PCI to EBus bridge device.
*
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
......
/* $Id: etrap.S,v 1.31 2000/01/08 16:38:18 anton Exp $
/*
* etrap.S: Sparc trap window preparation for entry into the
* Linux kernel.
*
......
/* $Id: head.S,v 1.105 2001/08/12 09:08:56 davem Exp $
/*
* head.S: The initial boot code for the Sparc port of Linux.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: idprom.c,v 1.24 1999/08/31 06:54:20 davem Exp $
/*
* idprom.c: Routines to load the idprom into kernel addresses and
* interpret the data contained within.
*
......
/* $Id: ioport.c,v 1.45 2001/10/30 04:54:21 davem Exp $
/*
* ioport.c: Simple io mapping allocator.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: irq.c,v 1.114 2001/12/11 04:55:51 davem Exp $
/*
* arch/sparc/kernel/irq.c: Interrupt request handling routines. On the
* Sparc the IRQs are basically 'cast in stone'
* and you are supposed to probe the prom's device
......
/* $Id: muldiv.c,v 1.5 1997/12/15 20:07:20 ecd Exp $
/*
* muldiv.c: Hardware multiply/division illegal instruction trap
* for sun4c/sun4 (which do not have those instructions)
*
......
/* $Id: rtrap.S,v 1.58 2002/01/31 03:30:05 davem Exp $
/*
* rtrap.S: Return from Sparc trap low-level code.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: setup.c,v 1.126 2001/11/13 00:49:27 davem Exp $
/*
* linux/arch/sparc/kernel/setup.c
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: sparc_ksyms.c,v 1.107 2001/07/17 16:17:33 anton Exp $
/*
* arch/sparc/kernel/ksyms.c: Sparc specific ksyms support.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: sun4d_irq.c,v 1.29 2001/12/11 04:55:51 davem Exp $
/*
* arch/sparc/kernel/sun4d_irq.c:
* SS1000/SC2000 interrupt handling.
*
......
/* $Id: trampoline.S,v 1.14 2002/01/11 08:45:38 davem Exp $
/*
* trampoline.S: SMP cpu boot-up trampoline code.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: traps.c,v 1.64 2000/09/03 15:00:49 anton Exp $
/*
* arch/sparc/kernel/traps.c
*
* Copyright 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: unaligned.c,v 1.23 2001/12/21 00:54:31 davem Exp $
/*
* unaligned.c: Unaligned load/store trap handling with special
* cases for the kernel to do them more quickly.
*
......
/* $Id: wof.S,v 1.40 2000/01/08 16:38:18 anton Exp $
/*
* wof.S: Sparc window overflow handler.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: wuf.S,v 1.39 2000/01/08 16:38:18 anton Exp $
/*
* wuf.S: Window underflow trap handler for the Sparc.
*
* Copyright (C) 1995 David S. Miller
......
# $Id: Makefile,v 1.35 2000/12/15 00:41:18 davem Exp $
# Makefile for Sparc library files..
#
......
/* $Id: ashldi3.S,v 1.2 1999/11/19 04:11:46 davem Exp $
/*
* ashldi3.S: GCC emits these for certain drivers playing
* with long longs.
*
......
/* $Id: ashrdi3.S,v 1.4 1999/11/19 04:11:49 davem Exp $
/*
* ashrdi3.S: The filesystem code creates all kinds of references to
* this little routine on the sparc with gcc.
*
......
/* $Id: blockops.S,v 1.8 1998/01/30 10:58:44 jj Exp $
/*
* blockops.S: Common block zero optimized routines.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: locks.S,v 1.16 2000/02/26 11:02:47 anton Exp $
/*
* locks.S: SMP low-level lock primitives on Sparc.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: lshrdi3.S,v 1.1 1999/03/21 06:37:45 davem Exp $ */
.globl __lshrdi3
__lshrdi3:
......
/* $Id: memscan.S,v 1.4 1996/09/08 02:01:20 davem Exp $
/*
* memscan.S: Optimized memscan for the Sparc.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: mul.S,v 1.4 1996/09/30 02:22:32 davem Exp $
/*
* mul.S: This routine was taken from glibc-1.09 and is covered
* by the GNU Library General Public License Version 2.
*/
......
/* $Id: rem.S,v 1.7 1996/09/30 02:22:34 davem Exp $
/*
* rem.S: This routine was taken from glibc-1.09 and is covered
* by the GNU Library General Public License Version 2.
*/
......
/* $Id: rwsem.S,v 1.5 2000/05/09 17:40:13 davem Exp $
/*
* Assembly part of rw semaphores.
*
* Copyright (C) 1999 Jakub Jelinek (jakub@redhat.com)
......
/* $Id: sdiv.S,v 1.6 1996/10/02 17:37:00 davem Exp $
/*
* sdiv.S: This routine was taken from glibc-1.09 and is covered
* by the GNU Library General Public License Version 2.
*/
......
/* $Id: strncmp.S,v 1.2 1996/09/09 02:47:20 davem Exp $
/*
* strncmp.S: Hand optimized Sparc assembly of GCC output from GNU libc
* generic strncmp routine.
*/
......
/* $Id: udiv.S,v 1.4 1996/09/30 02:22:38 davem Exp $
/*
* udiv.S: This routine was taken from glibc-1.09 and is covered
* by the GNU Library General Public License Version 2.
*/
......
/* $Id: umul.S,v 1.4 1996/09/30 02:22:39 davem Exp $
/*
* umul.S: This routine was taken from glibc-1.09 and is covered
* by the GNU Library General Public License Version 2.
*/
......
/* $Id: urem.S,v 1.4 1996/09/30 02:22:42 davem Exp $
/*
* urem.S: This routine was taken from glibc-1.09 and is covered
* by the GNU Library General Public License Version 2.
*/
......
/* $Id: ashldi3.S,v 1.1 1998/04/06 16:09:28 jj Exp $
/*
* ashldi3.S: Math-emu code creates all kinds of references to
* this little routine on the sparc with gcc.
*
......
# $Id: Makefile,v 1.38 2000/12/15 00:41:22 davem Exp $
# Makefile for the linux Sparc-specific parts of the memory manager.
#
......
/* $Id: fault.c,v 1.122 2001/11/17 07:19:26 davem Exp $
/*
* fault.c: Page fault handlers for the Sparc.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: generic.c,v 1.14 2001/12/21 04:56:15 davem Exp $
/*
* generic.c: Generic Sparc mm routines that are not dependent upon
* MMU type but are Sparc specific.
*
......
/* $Id: hypersparc.S,v 1.18 2001/12/21 04:56:15 davem Exp $
/*
* hypersparc.S: High speed Hypersparc mmu/cache operations.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: init.c,v 1.103 2001/11/19 19:03:08 davem Exp $
/*
* linux/arch/sparc/mm/init.c
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: io-unit.c,v 1.24 2001/12/17 07:05:09 davem Exp $
/*
* io-unit.c: IO-UNIT specific routines for memory management.
*
* Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: loadmmu.c,v 1.56 2000/02/08 20:24:21 davem Exp $
/*
* loadmmu.c: This code loads up all the mm function pointers once the
* machine type has been determined. It also sets the static
* mmu values such as PAGE_NONE, etc.
......
/* $Id: nosrmmu.c,v 1.5 1999/11/19 04:11:54 davem Exp $
/*
* nosrmmu.c: This file is a bunch of dummies for sun4 compiles,
* so that it does not need srmmu and avoid ifdefs.
*
......
/* $Id: nosun4c.c,v 1.3 2000/02/14 04:52:36 jj Exp $
/*
* nosun4c.c: This file is a bunch of dummies for SMP compiles,
* so that it does not need sun4c and avoid ifdefs.
*
......
/* $Id: swift.S,v 1.9 2002/01/08 11:11:59 davem Exp $
/*
* swift.S: MicroSparc-II mmu/cache operations.
*
* Copyright (C) 1999 David S. Miller (davem@redhat.com)
......
/* $Id: tsunami.S,v 1.7 2001/12/21 04:56:15 davem Exp $
/*
* tsunami.S: High speed MicroSparc-I mmu/cache operations.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: viking.S,v 1.19 2001/12/21 04:56:15 davem Exp $
/*
* viking.S: High speed Viking cache/mmu operations
*
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
......
# $Id: Makefile,v 1.8 2000/12/15 00:41:22 davem Exp $
# Makefile for the Sun Boot PROM interface library under
# Linux.
#
......
/* $Id: bootstr.c,v 1.20 2000/02/08 20:24:23 davem Exp $
/*
* bootstr.c: Boot string/argument acquisition from the PROM.
*
* Copyright(C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: console.c,v 1.25 2001/10/30 04:54:22 davem Exp $
/*
* console.c: Routines that deal with sending and receiving IO
* to/from the current console device using the PROM.
*
......
/* $Id: devmap.c,v 1.7 2000/08/26 02:38:03 anton Exp $
/*
* promdevmap.c: Map device/IO areas to virtual addresses.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: devops.c,v 1.13 2000/08/26 02:38:03 anton Exp $
/*
* devops.c: Device operations using the PROM.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: init.c,v 1.14 2000/01/29 01:09:12 anton Exp $
/*
* init.c: Initialize internal variables used by the PROM
* library functions.
*
......
/* $Id: misc.c,v 1.18 2000/08/26 02:38:03 anton Exp $
/*
* misc.c: Miscellaneous prom functions that don't belong
* anywhere else.
*
......
/* $Id: mp.c,v 1.12 2000/08/26 02:38:03 anton Exp $
/*
* mp.c: OpenBoot Prom Multiprocessor support routines. Don't call
* these on a UP or else you will halt and catch fire. ;)
*
......
/* $Id: palloc.c,v 1.4 1996/04/25 06:09:48 davem Exp $
/*
* palloc.c: Memory allocation from the Sun PROM.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: ranges.c,v 1.15 2001/12/19 00:29:51 davem Exp $
/*
* ranges.c: Handle ranges in newer proms for obio/sbus.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: segment.c,v 1.7 2000/08/26 02:38:03 anton Exp $
/*
* segment.c: Prom routine to map segments in other contexts before
* a standalone is completely mapped. This is for sun4 and
* sun4c architectures only.
......
/* $Id: tree.c,v 1.26 2000/08/26 02:38:03 anton Exp $
/*
* tree.c: Basic device tree traversal/scanning for the Linux
* prom library.
*
......
# $Id: Makefile,v 1.52 2002/02/09 19:49:31 davem Exp $
# sparc64/Makefile
#
# Makefile for the architecture dependent flags and dependencies on the
......
# $Id: Makefile,v 1.4 1997/12/15 20:08:56 ecd Exp $
# Makefile for the Sparc64 boot stuff.
#
# Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: piggyback.c,v 1.2 2000/09/19 14:34:39 anton Exp $
/*
Simple utility to make a single-image install kernel with initial ramdisk
for Sparc64 tftpbooting without need to set up nfs.
......
/* $Id: dtlb_prot.S,v 1.22 2001/04/11 23:40:32 davem Exp $
/*
* dtlb_prot.S: DTLB protection trap strategy.
* This is included directly into the trap table.
*
......
/* $Id: ebus.c,v 1.64 2001/11/08 04:41:33 davem Exp $
/*
* ebus.c: PCI to EBus bridge device.
*
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
......
/* $Id: etrap.S,v 1.46 2002/02/09 19:49:30 davem Exp $
/*
* etrap.S: Preparing for entry into the kernel on Sparc V9.
*
* Copyright (C) 1996, 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: idprom.c,v 1.3 1999/08/31 06:54:53 davem Exp $
/*
* idprom.c: Routines to load the idprom into kernel addresses and
* interpret the data contained within.
*
......
/* arch/sparc64/kernel/process.c
*
* Copyright (C) 1995, 1996 David S. Miller (davem@caip.rutgers.edu)
* Copyright (C) 1995, 1996, 2008 David S. Miller (davem@davemloft.net)
* Copyright (C) 1996 Eddie C. Dost (ecd@skynet.be)
* Copyright (C) 1997, 1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
*/
......@@ -30,6 +30,7 @@
#include <linux/init.h>
#include <linux/cpu.h>
#include <linux/elfcore.h>
#include <linux/sysrq.h>
#include <asm/oplib.h>
#include <asm/uaccess.h>
......@@ -49,6 +50,8 @@
#include <asm/sstate.h>
#include <asm/reboot.h>
#include <asm/syscalls.h>
#include <asm/irq_regs.h>
#include <asm/smp.h>
/* #define VERBOSE_SHOWREGS */
......@@ -298,6 +301,118 @@ void show_regs(struct pt_regs *regs)
#endif
}
#ifdef CONFIG_MAGIC_SYSRQ
struct global_reg_snapshot global_reg_snapshot[NR_CPUS];
static DEFINE_SPINLOCK(global_reg_snapshot_lock);
static void __global_reg_self(struct thread_info *tp, struct pt_regs *regs,
int this_cpu)
{
flushw_all();
global_reg_snapshot[this_cpu].tstate = regs->tstate;
global_reg_snapshot[this_cpu].tpc = regs->tpc;
global_reg_snapshot[this_cpu].tnpc = regs->tnpc;
global_reg_snapshot[this_cpu].o7 = regs->u_regs[UREG_I7];
if (regs->tstate & TSTATE_PRIV) {
struct reg_window *rw;
rw = (struct reg_window *)
(regs->u_regs[UREG_FP] + STACK_BIAS);
global_reg_snapshot[this_cpu].i7 = rw->ins[6];
} else
global_reg_snapshot[this_cpu].i7 = 0;
global_reg_snapshot[this_cpu].thread = tp;
}
/* In order to avoid hangs we do not try to synchronize with the
* global register dump client cpus. The last store they make is to
* the thread pointer, so do a short poll waiting for that to become
* non-NULL.
*/
static void __global_reg_poll(struct global_reg_snapshot *gp)
{
int limit = 0;
while (!gp->thread && ++limit < 100) {
barrier();
udelay(1);
}
}
static void sysrq_handle_globreg(int key, struct tty_struct *tty)
{
struct thread_info *tp = current_thread_info();
struct pt_regs *regs = get_irq_regs();
#ifdef CONFIG_KALLSYMS
char buffer[KSYM_SYMBOL_LEN];
#endif
unsigned long flags;
int this_cpu, cpu;
if (!regs)
regs = tp->kregs;
spin_lock_irqsave(&global_reg_snapshot_lock, flags);
memset(global_reg_snapshot, 0, sizeof(global_reg_snapshot));
this_cpu = raw_smp_processor_id();
__global_reg_self(tp, regs, this_cpu);
smp_fetch_global_regs();
for_each_online_cpu(cpu) {
struct global_reg_snapshot *gp = &global_reg_snapshot[cpu];
struct thread_info *tp;
__global_reg_poll(gp);
tp = gp->thread;
printk("%c CPU[%3d]: TSTATE[%016lx] TPC[%016lx] TNPC[%016lx] TASK[%s:%d]\n",
(cpu == this_cpu ? '*' : ' '), cpu,
gp->tstate, gp->tpc, gp->tnpc,
((tp && tp->task) ? tp->task->comm : "NULL"),
((tp && tp->task) ? tp->task->pid : -1));
#ifdef CONFIG_KALLSYMS
if (gp->tstate & TSTATE_PRIV) {
sprint_symbol(buffer, gp->tpc);
printk(" TPC[%s] ", buffer);
sprint_symbol(buffer, gp->o7);
printk("O7[%s] ", buffer);
sprint_symbol(buffer, gp->i7);
printk("I7[%s]\n", buffer);
} else
#endif
{
printk(" TPC[%lx] O7[%lx] I7[%lx]\n",
gp->tpc, gp->o7, gp->i7);
}
}
memset(global_reg_snapshot, 0, sizeof(global_reg_snapshot));
spin_unlock_irqrestore(&global_reg_snapshot_lock, flags);
}
static struct sysrq_key_op sparc_globalreg_op = {
.handler = sysrq_handle_globreg,
.help_msg = "Globalregs",
.action_msg = "Show Global CPU Regs",
};
static int __init sparc_globreg_init(void)
{
return register_sysrq_key('y', &sparc_globalreg_op);
}
core_initcall(sparc_globreg_init);
#endif
unsigned long thread_saved_pc(struct task_struct *tsk)
{
struct thread_info *ti = task_thread_info(tsk);
......
/* $Id: rtrap.S,v 1.61 2002/02/09 19:49:31 davem Exp $
/*
* rtrap.S: Preparing for return from trap on Sparc V9.
*
* Copyright (C) 1997,1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: sbus.c,v 1.19 2002/01/23 11:27:32 davem Exp $
/*
* sbus.c: UltraSparc SBUS controller support.
*
* Copyright (C) 1999 David S. Miller (davem@redhat.com)
......
/* $Id: setup.c,v 1.72 2002/02/09 19:49:30 davem Exp $
/*
* linux/arch/sparc64/kernel/setup.c
*
* Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: signal.c,v 1.60 2002/02/09 19:49:31 davem Exp $
/*
* arch/sparc64/kernel/signal.c
*
* Copyright (C) 1991, 1992 Linus Torvalds
......
......@@ -900,6 +900,9 @@ extern unsigned long xcall_flush_tlb_mm;
extern unsigned long xcall_flush_tlb_pending;
extern unsigned long xcall_flush_tlb_kernel_range;
extern unsigned long xcall_report_regs;
#ifdef CONFIG_MAGIC_SYSRQ
extern unsigned long xcall_fetch_glob_regs;
#endif
extern unsigned long xcall_receive_signal;
extern unsigned long xcall_new_mmu_context_version;
#ifdef CONFIG_KGDB
......@@ -1080,6 +1083,13 @@ void smp_report_regs(void)
smp_cross_call(&xcall_report_regs, 0, 0, 0);
}
#ifdef CONFIG_MAGIC_SYSRQ
void smp_fetch_global_regs(void)
{
smp_cross_call(&xcall_fetch_glob_regs, 0, 0, 0);
}
#endif
/* We know that the window frames of the user have been flushed
* to the stack before we get here because all callers of us
* are flush_tlb_*() routines, and these run after flush_cache_*()
......
/* $Id: starfire.c,v 1.10 2001/04/14 21:13:45 davem Exp $
/*
* starfire.c: Starfire/E10000 support.
*
* Copyright (C) 1998 David S. Miller (davem@redhat.com)
......
/* $Id: sys32.S,v 1.12 2000/03/24 04:17:37 davem Exp $
/*
* sys32.S: I-cache tricks for 32-bit compatibility layer simple
* conversions.
*
......
/* $Id: trampoline.S,v 1.26 2002/02/09 19:49:30 davem Exp $
/*
* trampoline.S: Jump start slave processors on sparc64.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: unaligned.c,v 1.24 2002/02/09 19:49:31 davem Exp $
/*
* unaligned.c: Unaligned load/store trap handling with special
* cases for the kernel to do them more quickly.
*
......
/* $Id: PeeCeeI.c,v 1.4 1999/09/06 01:17:35 davem Exp $
/*
* PeeCeeI.c: The emerging standard...
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: VISsave.S,v 1.6 2002/02/09 19:49:30 davem Exp $
/*
* VISsave.S: Code for saving FPU register state for
* VIS routines. One should not call this directly,
* but use macros provided in <asm/visasm.h>.
......
/* $Id: memcmp.S,v 1.3 2000/03/23 07:51:08 davem Exp $
/*
* Sparc64 optimized memcmp code.
*
* Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: memscan.S,v 1.3 2000/01/31 04:59:10 davem Exp $
/*
* memscan.S: Optimized memscan for Sparc64.
*
* Copyright (C) 1997,1998 Jakub Jelinek (jj@ultra.linux.cz)
......
/* $Id: strncmp.S,v 1.2 1997/03/11 17:51:44 jj Exp $
/*
* Sparc64 optimized strncmp code.
*
* Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: strncpy_from_user.S,v 1.6 1999/05/25 16:53:05 jj Exp $
/*
* strncpy_from_user.S: Sparc64 strncpy from userspace.
*
* Copyright (C) 1997, 1999 Jakub Jelinek (jj@ultra.linux.cz)
......
/* $Id: math.c,v 1.11 1999/12/20 05:02:25 davem Exp $
/*
* arch/sparc64/math-emu/math.c
*
* Copyright (C) 1997,1999 Jakub Jelinek (jj@ultra.linux.cz)
......
/* $Id: sfp-util.h,v 1.5 2001/06/10 06:48:46 davem Exp $
/*
* arch/sparc64/math-emu/sfp-util.h
*
* Copyright (C) 1999 Jakub Jelinek (jj@ultra.linux.cz)
......
# $Id: Makefile,v 1.8 2000/12/14 22:57:25 davem Exp $
# Makefile for the linux Sparc64-specific parts of the memory manager.
#
......
/* $Id: fault.c,v 1.59 2002/02/09 19:49:31 davem Exp $
/*
* arch/sparc64/mm/fault.c: Page fault handlers for the 64-bit Sparc.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: generic.c,v 1.18 2001/12/21 04:56:15 davem Exp $
/*
* generic.c: Generic Sparc mm routines that are not dependent upon
* MMU type but are Sparc specific.
*
......
/* $Id: init.c,v 1.209 2002/02/09 19:49:31 davem Exp $
/*
* arch/sparc64/mm/init.c
*
* Copyright (C) 1996-1999 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: ultra.S,v 1.72 2002/02/09 19:49:31 davem Exp $
/*
* ultra.S: Don't expand these all over the place...
*
* Copyright (C) 1997, 2000 David S. Miller (davem@redhat.com)
* Copyright (C) 1997, 2000, 2008 David S. Miller (davem@davemloft.net)
*/
#include <asm/asi.h>
......@@ -15,6 +15,7 @@
#include <asm/thread_info.h>
#include <asm/cacheflush.h>
#include <asm/hypervisor.h>
#include <asm/cpudata.h>
/* Basically, most of the Spitfire vs. Cheetah madness
* has to do with the fact that Cheetah does not support
......@@ -514,6 +515,32 @@ xcall_report_regs:
b rtrap_xcall
ldx [%sp + PTREGS_OFF + PT_V9_TSTATE], %l1
#ifdef CONFIG_MAGIC_SYSRQ
.globl xcall_fetch_glob_regs
xcall_fetch_glob_regs:
sethi %hi(global_reg_snapshot), %g1
or %g1, %lo(global_reg_snapshot), %g1
__GET_CPUID(%g2)
sllx %g2, 6, %g3
add %g1, %g3, %g1
rdpr %tstate, %g7
stx %g7, [%g1 + GR_SNAP_TSTATE]
rdpr %tpc, %g7
stx %g7, [%g1 + GR_SNAP_TPC]
rdpr %tnpc, %g7
stx %g7, [%g1 + GR_SNAP_TNPC]
stx %o7, [%g1 + GR_SNAP_O7]
stx %i7, [%g1 + GR_SNAP_I7]
sethi %hi(trap_block), %g7
or %g7, %lo(trap_block), %g7
sllx %g2, TRAP_BLOCK_SZ_SHIFT, %g2
add %g7, %g2, %g7
ldx [%g7 + TRAP_PER_CPU_THREAD], %g3
membar #StoreStore
stx %g3, [%g1 + GR_SNAP_THREAD]
retry
#endif /* CONFIG_MAGIC_SYSRQ */
#ifdef DCACHE_ALIASING_POSSIBLE
.align 32
.globl xcall_flush_dcache_page_cheetah
......
# $Id: Makefile,v 1.7 2000/12/14 22:57:25 davem Exp $
# Makefile for the Sun Boot PROM interface library under
# Linux.
#
......
/* $Id: bootstr.c,v 1.6 1999/08/31 06:55:01 davem Exp $
/*
* bootstr.c: Boot string/argument acquisition from the PROM.
*
* Copyright(C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: devops.c,v 1.3 1997/10/29 07:43:28 ecd Exp $
/*
* devops.c: Device operations using the PROM.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: init.c,v 1.10 1999/09/21 14:35:59 davem Exp $
/*
* init.c: Initialize internal variables used by the PROM
* library functions.
*
......
/* $Id: misc.c,v 1.20 2001/09/21 03:17:07 kanoj Exp $
/*
* misc.c: Miscellaneous prom functions that don't belong
* anywhere else.
*
......
/* $Id: p1275.c,v 1.22 2001/10/18 09:40:00 davem Exp $
/*
* p1275.c: Sun IEEE 1275 PROM low level interface routines
*
* Copyright (C) 1996,1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: tree.c,v 1.10 1998/01/10 22:39:00 ecd Exp $
/*
* tree.c: Basic device tree traversal/scanning for the Linux
* prom library.
*
......
......@@ -402,6 +402,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = {
&sysrq_showstate_blocked_op, /* w */
/* x: May be registered on ppc/powerpc for xmon */
NULL, /* x */
/* y: May be registered on sparc64 for global register dump */
NULL, /* y */
NULL /* z */
};
......
/* $Id: asi.h,v 1.18 1998/03/09 14:04:46 jj Exp $ */
#ifndef _SPARC_ASI_H
#define _SPARC_ASI_H
......
/* $Id: auxio.h,v 1.18 1997/11/07 15:01:45 jj Exp $
/*
* auxio.h: Definitions and code for the Auxiliary I/O register.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: bitops.h,v 1.67 2001/11/19 18:36:34 davem Exp $
/*
* bitops.h: Bit string operations on the Sparc.
*
* Copyright 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: btfixup.h,v 1.4 1998/03/09 14:04:43 jj Exp $
/*
* asm-sparc/btfixup.h: Macros for boot time linking.
*
* Copyright (C) 1998 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: checksum.h,v 1.33 2002/02/01 22:01:05 davem Exp $ */
#ifndef __SPARC_CHECKSUM_H
#define __SPARC_CHECKSUM_H
......
/* $Id: clock.h,v 1.3 1995/11/25 02:31:25 davem Exp $
/*
* clock.h: Definitions for clock operations on the Sparc.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: contregs.h,v 1.8 2000/12/28 22:49:11 davem Exp $ */
#ifndef _SPARC_CONTREGS_H
#define _SPARC_CONTREGS_H
......
/* $Id: cypress.h,v 1.6 1996/08/29 09:48:09 davem Exp $
/*
* cypress.h: Cypress module specific definitions and defines.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: delay.h,v 1.11 2001/01/01 01:46:15 davem Exp $
/*
* delay.h: Linux delay routines on the Sparc.
*
* Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu).
......
/* $Id: ebus.h,v 1.2 1999/09/11 23:05:55 zaitcev Exp $
/*
* ebus.h: PCI to Ebus pseudo driver software state.
*
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
......
/* $Id: ecc.h,v 1.3 1996/04/25 06:12:57 davem Exp $
/*
* ecc.h: Definitions and defines for the external cache/memory
* controller on the sun4m.
*
......
/* $Id: eeprom.h,v 1.3 1995/11/25 02:31:38 davem Exp $
/*
* eeprom.h: Definitions for the Sun eeprom.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: elf.h,v 1.22 2000/07/12 01:27:08 davem Exp $ */
#ifndef __ASMSPARC_ELF_H
#define __ASMSPARC_ELF_H
......
/* $Id: fcntl.h,v 1.16 2001/09/20 00:35:33 davem Exp $ */
#ifndef _SPARC_FCNTL_H
#define _SPARC_FCNTL_H
......
/* $Id: head.h,v 1.39 2000/05/26 22:18:45 ecd Exp $ */
#ifndef __SPARC_HEAD_H
#define __SPARC_HEAD_H
......
/* $Id: idprom.h,v 1.6 1996/08/04 10:35:07 ecd Exp $
/*
* idprom.h: Macros and defines for idprom routines
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/*
* $Id: io.h,v 1.30 2001/12/21 01:23:21 davem Exp $
*/
#ifndef __SPARC_IO_H
#define __SPARC_IO_H
......
/* $Id: ioctl.h,v 1.6 1999/12/01 23:58:36 davem Exp $ */
#ifndef _SPARC_IOCTL_H
#define _SPARC_IOCTL_H
......
/* $Id: kdebug.h,v 1.11 2000/06/04 06:23:53 anton Exp $
/*
* kdebug.h: Defines and definitions for debugging the Linux kernel
* under various kernel debuggers.
*
......
/* $Id: machines.h,v 1.4 1995/11/25 02:31:58 davem Exp $
/*
* machines.h: Defines for taking apart the machine type value in the
* idprom and determining the kind of machine we are on.
*
......
/* $Id: mbus.h,v 1.9 1997/06/24 15:48:12 jj Exp $
/*
* mbus.h: Various defines for MBUS modules.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: memreg.h,v 1.8 1996/08/29 09:48:23 davem Exp $ */
#ifndef _SPARC_MEMREG_H
#define _SPARC_MEMREG_H
/* memreg.h: Definitions of the values found in the synchronous
......
/* $Id: mman.h,v 1.9 2000/03/15 02:44:23 davem Exp $ */
#ifndef __SPARC_MMAN_H__
#define __SPARC_MMAN_H__
......
/* $Id: mostek.h,v 1.13 2001/01/11 15:07:09 davem Exp $
/*
* mostek.h: Describes the various Mostek time of day clock registers.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: mpmbox.h,v 1.4 1996/04/25 06:13:19 davem Exp $
/*
* mpmbox.h: Interface and defines for the OpenProm mailbox
* facilities for MP machines under Linux.
*
......
/* $Id: msi.h,v 1.3 1996/08/29 09:48:25 davem Exp $
/*
* msi.h: Defines specific to the MBus - Sbus - Interface.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: mxcc.h,v 1.7 1997/04/20 14:11:46 ecd Exp $
/*
* mxcc.h: Definitions of the Viking MXCC registers
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: namei.h,v 1.16 2000/04/13 00:55:54 davem Exp $
/*
* linux/include/asm-sparc/namei.h
*
* Routines to handle famous /usr/gnemul/s*.
......
/* $Id: obio.h,v 1.4 1998/03/09 14:04:55 jj Exp $
/*
* obio.h: Some useful locations in 0xFXXXXXXXX PA obio space on sun4d.
*
* Copyright (C) 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
......
/* $Id: openprom.h,v 1.24 2000/06/04 06:23:53 anton Exp $ */
#ifndef __SPARC_OPENPROM_H
#define __SPARC_OPENPROM_H
......
/* $Id: oplib.h,v 1.23 2001/12/21 00:54:31 davem Exp $
/*
* oplib.h: Describes the interface and available routines in the
* Linux Prom library.
*
......
/* $Id: page.h,v 1.55 2000/10/30 21:01:41 davem Exp $
/*
* page.h: Various defines and such for MMU operations on the Sparc for
* the Linux kernel.
*
......
/* $Id: param.h,v 1.4 2000/10/30 21:01:41 davem Exp $ */
#ifndef _ASMSPARC_PARAM_H
#define _ASMSPARC_PARAM_H
......
/* $Id: pbm.h,v 1.3 1999/12/20 17:06:35 zaitcev Exp $
/*
*
* pbm.h: PCI bus module pseudo driver software state
* Adopted from sparc64 by V. Roganov and G. Raiko
......
/* $Id: pcic.h,v 1.4 1999/11/17 07:34:20 zaitcev Exp $
/*
* pcic.h: JavaEngine 1 specific PCI definitions.
*
* Copyright (C) 1998 V. Roganov and G. Raiko
......
/* $Id: pgalloc.h,v 1.16 2001/12/21 04:56:17 davem Exp $ */
#ifndef _SPARC_PGALLOC_H
#define _SPARC_PGALLOC_H
......
/* $Id: pgtable.h,v 1.110 2001/12/21 04:56:17 davem Exp $ */
#ifndef _SPARC_PGTABLE_H
#define _SPARC_PGTABLE_H
......
/* $Id: pgtsrmmu.h,v 1.31 2000/07/16 21:48:52 anton Exp $
/*
* pgtsrmmu.h: SRMMU page table defines and code.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: pgtsun4.h,v 1.5 2000/06/05 06:08:46 anton Exp $
/*
* pgtsun4.h: Sun4 specific pgtable.h defines and code.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: pgtsun4c.h,v 1.37 2000/06/05 06:08:46 anton Exp $
/*
* pgtsun4c.h: Sun4c specific pgtable.h defines and code.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: psr.h,v 1.15 1997/10/04 08:54:22 ecd Exp $
/*
* psr.h: This file holds the macros for masking off various parts of
* the processor status register on the Sparc. This is valid
* for Version 8. On the V9 this is renamed to the PSTATE
......
/* $Id: ptrace.h,v 1.25 1997/03/04 16:27:25 jj Exp $ */
#ifndef _SPARC_PTRACE_H
#define _SPARC_PTRACE_H
......
/* $Id: resource.h,v 1.12 2000/09/23 02:09:21 davem Exp $
/*
* resource.h: Resource definitions.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: ross.h,v 1.13 1998/01/07 06:49:11 baccala Exp $
/*
* ross.h: Ross module specific definitions and defines.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: rtc.h,v 1.2 1996/08/21 23:17:39 ecd Exp $
*
/*
* rtc.h: Definitions for access to the Mostek real time clock
*
* Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu)
......
/* $Id: sbi.h,v 1.2 1998/03/09 14:04:48 jj Exp $
/*
* sbi.h: SBI (Sbus Interface on sun4d) definitions
*
* Copyright (C) 1997 Jakub Jelinek <jj@sunsite.mff.cuni.cz>
......
/* $Id: sbus.h,v 1.22 2000/02/18 13:50:50 davem Exp $
/*
* sbus.h: Defines for the Sun SBus.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: scatterlist.h,v 1.8 2001/12/17 07:05:15 davem Exp $ */
#ifndef _SPARC_SCATTERLIST_H
#define _SPARC_SCATTERLIST_H
......
/* $Id: shmparam.h,v 1.6 1999/12/09 10:32:41 davem Exp $ */
#ifndef _ASMSPARC_SHMPARAM_H
#define _ASMSPARC_SHMPARAM_H
......
/* $Id: sigcontext.h,v 1.14 1999/09/06 08:22:05 jj Exp $ */
#ifndef __SPARC_SIGCONTEXT_H
#define __SPARC_SIGCONTEXT_H
......
/* $Id: siginfo.h,v 1.9 2002/02/08 03:57:18 davem Exp $
* siginfo.c:
*/
#ifndef _SPARC_SIGINFO_H
#define _SPARC_SIGINFO_H
......
/* $Id: signal.h,v 1.35 1999/09/06 08:22:04 jj Exp $ */
#ifndef _ASMSPARC_SIGNAL_H
#define _ASMSPARC_SIGNAL_H
......
/* $Id: smpprim.h,v 1.5 1996/08/29 09:48:49 davem Exp $
/*
* smpprim.h: SMP locking primitives on the Sparc
*
* God knows we won't be actually using this code for some time
......
/* $Id: socket.h,v 1.17 2001/06/13 16:25:03 davem Exp $ */
#ifndef _ASM_SOCKET_H
#define _ASM_SOCKET_H
......
/* $Id: stat.h,v 1.12 2000/08/04 05:35:55 davem Exp $ */
#ifndef _SPARC_STAT_H
#define _SPARC_STAT_H
......
/* $Id: statfs.h,v 1.4 1996/06/07 00:41:05 ecd Exp $ */
#ifndef _SPARC_STATFS_H
#define _SPARC_STATFS_H
......
/* $Id: string.h,v 1.36 2001/12/21 00:54:31 davem Exp $
/*
* string.h: External definitions for optimized assembly string
* routines for the Linux Kernel.
*
......
/* $Id: sun4paddr.h,v 1.3 1998/07/28 16:53:27 jj Exp $
/*
* sun4paddr.h: Various physical addresses on sun4 machines
*
* Copyright (C) 1997 Anton Blanchard (anton@progsoc.uts.edu.au)
......
/* $Id: sunbpp.h,v 1.1 1999/08/08 14:09:49 shadow Exp $
/*
* include/asm-sparc/sunbpp.h
*/
......
/* $Id: sysen.h,v 1.3 1995/11/25 02:32:58 davem Exp $
/*
* sysen.h: Bit fields within the "System Enable" register accessed via
* the ASI_CONTROL address space at address AC_SYSENABLE.
*
......
/* $Id: termios.h,v 1.32 2001/06/01 08:12:11 davem Exp $ */
#ifndef _SPARC_TERMIOS_H
#define _SPARC_TERMIOS_H
......
/* $Id: timer.h,v 1.21 1999/04/20 13:22:51 anton Exp $
/*
* timer.h: Definitions for the timer chips on the Sparc.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: traps.h,v 1.9 1998/03/09 14:04:53 jj Exp $
/*
* traps.h: Format of entries for the Sparc trap table.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: tsunami.h,v 1.5 1996/08/29 09:49:03 davem Exp $
/*
* tsunami.h: Module specific definitions for Tsunami V8 Sparcs
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: turbosparc.h,v 1.4 1998/08/16 16:02:42 ecd Exp $
/*
* turbosparc.h: Defines specific to the TurboSparc module.
* This is SRMMU stuff.
*
......
/* $Id: types.h,v 1.13 2001/12/21 01:22:59 davem Exp $ */
#ifndef _SPARC_TYPES_H
#define _SPARC_TYPES_H
......
/* $Id: uaccess.h,v 1.24 2001/10/30 04:32:24 davem Exp $
/*
* uaccess.h: User space memore access functions.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: vac-ops.h,v 1.13 1998/01/30 10:59:59 jj Exp $ */
#ifndef _SPARC_VAC_OPS_H
#define _SPARC_VAC_OPS_H
......
/* $Id: vaddrs.h,v 1.27 2001/07/04 00:18:18 davem Exp $ */
#ifndef _SPARC_VADDRS_H
#define _SPARC_VADDRS_H
......
/* $Id: viking.h,v 1.19 1997/04/20 14:11:48 ecd Exp $
/*
* viking.h: Defines specific to the GNU/Viking MBUS module.
* This is SRMMU stuff.
*
......
/* $Id: winmacro.h,v 1.22 2000/05/09 17:40:15 davem Exp $
/*
* winmacro.h: Window loading-unloading macros.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: apb.h,v 1.2 1998/04/01 20:41:49 ecd Exp $
/*
* apb.h: Advanced PCI Bridge Configuration Registers and Bits
*
* Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be)
......
/* $Id: asi.h,v 1.5 2001/03/29 11:47:47 davem Exp $ */
#ifndef _SPARC64_ASI_H
#define _SPARC64_ASI_H
......
/* $Id: auxio.h,v 1.3 2001/06/05 08:16:34 davem Exp $
/*
* auxio.h: Definitions and code for the Auxiliary I/O registers.
*
* Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: bbc.h,v 1.2 2001/03/26 23:47:18 davem Exp $
/*
* bbc.h: Defines for BootBus Controller found on UltraSPARC-III
* systems.
*
......
/* $Id: bitops.h,v 1.39 2002/01/30 01:40:00 davem Exp $
/*
* bitops.h: Bit string operations on the V9.
*
* Copyright 1996, 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: chafsr.h,v 1.1 2001/03/28 10:56:34 davem Exp $ */
#ifndef _SPARC64_CHAFSR_H
#define _SPARC64_CHAFSR_H
......
/* $Id: checksum.h,v 1.19 2002/02/09 19:49:31 davem Exp $ */
#ifndef __SPARC64_CHECKSUM_H
#define __SPARC64_CHECKSUM_H
......
/* $Id: chmctrl.h,v 1.1 2001/03/29 11:43:28 davem Exp $ */
#ifndef _SPARC64_CHMCTRL_H
#define _SPARC64_CHMCTRL_H
......
/* $Id: dcr.h,v 1.4 2001/03/09 17:56:37 davem Exp $ */
#ifndef _SPARC64_DCR_H
#define _SPARC64_DCR_H
......
/* $Id: display7seg.h,v 1.2 2000/08/02 06:22:35 davem Exp $
/*
*
* display7seg - Driver interface for the 7-segment display
* present on Sun Microsystems CP1400 and CP1500
......
/* $Id: dma.h,v 1.21 2001/12/13 04:16:52 davem Exp $
/*
* include/asm-sparc64/dma.h
*
* Copyright 1996 (C) David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: ebus.h,v 1.10 2001/03/14 05:00:55 davem Exp $
/*
* ebus.h: PCI to Ebus pseudo driver software state.
*
* Copyright (C) 1997 Eddie C. Dost (ecd@skynet.be)
......
/* $Id: elf.h,v 1.32 2002/02/09 19:49:31 davem Exp $ */
#ifndef __ASM_SPARC64_ELF_H
#define __ASM_SPARC64_ELF_H
......
/* $Id: envctrl.h,v 1.3 2000/11/03 00:37:40 davem Exp $
/*
*
* envctrl.h: Definitions for access to the i2c environment
* monitoring on Ultrasparc systems.
......
/* $Id: estate.h,v 1.1 2001/03/28 10:56:34 davem Exp $ */
#ifndef _SPARC64_ESTATE_H
#define _SPARC64_ESTATE_H
......
/* $Id: fcntl.h,v 1.12 2001/09/20 00:35:34 davem Exp $ */
#ifndef _SPARC64_FCNTL_H
#define _SPARC64_FCNTL_H
......
/* $Id: fhc.h,v 1.5 1999/09/21 14:39:29 davem Exp $
/*
* fhc.h: Structures for central/fhc pseudo driver on Sunfire/Starfire/Wildfire.
*
* Copyright (C) 1997, 1999 David S. Miller (davem@redhat.com)
......
/* $Id: head.h,v 1.30 1997/08/08 08:34:33 jj Exp $ */
#ifndef _SPARC64_HEAD_H
#define _SPARC64_HEAD_H
......
/* $Id: ide.h,v 1.21 2001/09/25 20:21:48 kanoj Exp $
/*
* ide.h: Ultra/PCI specific IDE glue.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: idprom.h,v 1.2 1997/04/04 00:50:16 davem Exp $
/*
* idprom.h: Macros and defines for idprom routines
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: ioctl.h,v 1.2 1998/10/15 05:40:38 jj Exp $ */
#ifndef _SPARC64_IOCTL_H
#define _SPARC64_IOCTL_H
......
/* $Id: ioctls.h,v 1.7 1998/02/23 02:49:41 davem Exp $ */
#ifndef _ASM_SPARC64_IOCTLS_H
#define _ASM_SPARC64_IOCTLS_H
......
/* $Id: lsu.h,v 1.2 1997/04/04 00:50:22 davem Exp $ */
#ifndef _SPARC64_LSU_H
#define _SPARC64_LSU_H
......
/* $Id: mman.h,v 1.2 2000/03/15 02:44:26 davem Exp $ */
#ifndef __SPARC64_MMAN_H__
#define __SPARC64_MMAN_H__
......
/* $Id: mmu_context.h,v 1.54 2002/02/09 19:49:31 davem Exp $ */
#ifndef __SPARC64_MMU_CONTEXT_H
#define __SPARC64_MMU_CONTEXT_H
......
/* $Id: namei.h,v 1.17 2000/04/13 00:55:54 davem Exp $
/*
* linux/include/asm-sparc64/namei.h
*
* Routines to handle famous /usr/gnemul/s*.
......
/* $Id: openprom.h,v 1.9 2001/03/16 10:22:02 davem Exp $ */
#ifndef __SPARC64_OPENPROM_H
#define __SPARC64_OPENPROM_H
......
/* $Id: page.h,v 1.39 2002/02/09 19:49:31 davem Exp $ */
#ifndef _SPARC64_PAGE_H
#define _SPARC64_PAGE_H
......
/* $Id: pgalloc.h,v 1.30 2001/12/21 04:56:17 davem Exp $ */
#ifndef _SPARC64_PGALLOC_H
#define _SPARC64_PGALLOC_H
......
/* $Id: pgtable.h,v 1.156 2002/02/09 19:49:31 davem Exp $
/*
* pgtable.h: SpitFire page table operations.
*
* Copyright 1996,1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: pil.h,v 1.1 2002/01/23 11:27:36 davem Exp $ */
#ifndef _SPARC64_PIL_H
#define _SPARC64_PIL_H
......
/* $Id: processor.h,v 1.83 2002/02/10 06:04:33 davem Exp $
/*
* include/asm-sparc64/processor.h
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: psrcompat.h,v 1.5 1998/10/06 09:28:39 jj Exp $ */
#ifndef _SPARC64_PSRCOMPAT_H
#define _SPARC64_PSRCOMPAT_H
......
/* $Id: pstate.h,v 1.6 1997/06/25 07:39:45 jj Exp $ */
#ifndef _SPARC64_PSTATE_H
#define _SPARC64_PSTATE_H
......
......@@ -126,6 +126,17 @@ struct sparc_trapf {
#define TRACEREG32_SZ sizeof(struct pt_regs32)
#define STACKFRAME32_SZ sizeof(struct sparc_stackf32)
struct global_reg_snapshot {
unsigned long tstate;
unsigned long tpc;
unsigned long tnpc;
unsigned long o7;
unsigned long i7;
struct thread_info *thread;
unsigned long pad1;
unsigned long pad2;
};
#ifdef __KERNEL__
#define __ARCH_WANT_COMPAT_SYS_PTRACE
......@@ -295,6 +306,16 @@ extern void __show_regs(struct pt_regs *);
#define SF_XARG5 0x58
#define SF_XXARG 0x5c
/* global_reg_snapshot offsets */
#define GR_SNAP_TSTATE 0x00
#define GR_SNAP_TPC 0x08
#define GR_SNAP_TNPC 0x10
#define GR_SNAP_O7 0x18
#define GR_SNAP_I7 0x20
#define GR_SNAP_THREAD 0x28
#define GR_SNAP_PAD1 0x30
#define GR_SNAP_PAD2 0x38
/* Stuff for the ptrace system call */
#define PTRACE_SPARC_DETACH 11
#define PTRACE_GETREGS 12
......
/* $Id: reg.h,v 1.6 1999/09/06 08:22:10 jj Exp $
/*
* linux/asm-sparc64/reg.h
* Layout of the registers as expected by gdb on the Sparc
* we should replace the user.h definitions with those in
......
/* $Id: resource.h,v 1.8 2000/09/23 02:09:21 davem Exp $
/*
* resource.h: Resource definitions.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: rtc.h,v 1.1 1996/12/26 14:22:35 davem Exp $
*
/*
* rtc.h: Definitions for access to the Mostek real time clock
*
* Copyright (C) 1996 Thomas K. Dyas (tdyas@eden.rutgers.edu)
......
/* $Id: rwsem.h,v 1.5 2001/11/18 00:12:56 davem Exp $
/*
* rwsem.h: R/W semaphores implemented using CAS
*
* Written by David S. Miller (davem@redhat.com), 2001.
......
/* $Id: scatterlist.h,v 1.11 2001/12/17 07:05:15 davem Exp $ */
#ifndef _SPARC64_SCATTERLIST_H
#define _SPARC64_SCATTERLIST_H
......
/* $Id: shmparam.h,v 1.5 2001/09/24 21:17:57 kanoj Exp $ */
#ifndef _ASMSPARC64_SHMPARAM_H
#define _ASMSPARC64_SHMPARAM_H
......
/* $Id: sigcontext.h,v 1.12 1999/09/06 08:22:09 jj Exp $ */
#ifndef __SPARC64_SIGCONTEXT_H
#define __SPARC64_SIGCONTEXT_H
......
/* $Id: signal.h,v 1.9 1999/09/06 08:22:11 jj Exp $ */
#ifndef _ASMSPARC64_SIGNAL_H
#define _ASMSPARC64_SIGNAL_H
......
/* smp.h: Sparc64 specific SMP stuff.
*
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
* Copyright (C) 1996, 2008 David S. Miller (davem@davemloft.net)
*/
#ifndef _SPARC64_SMP_H
......@@ -44,6 +44,8 @@ extern int hard_smp_processor_id(void);
extern void smp_fill_in_sib_core_maps(void);
extern void cpu_play_dead(void);
extern void smp_fetch_global_regs(void);
#ifdef CONFIG_HOTPLUG_CPU
extern int __cpu_disable(void);
extern void __cpu_die(unsigned int cpu);
......@@ -55,6 +57,7 @@ extern void __cpu_die(unsigned int cpu);
#define hard_smp_processor_id() 0
#define smp_fill_in_sib_core_maps() do { } while (0)
#define smp_fetch_global_regs() do { } while (0)
#endif /* !(CONFIG_SMP) */
......
/* $Id: socket.h,v 1.10 2001/06/13 16:25:03 davem Exp $ */
#ifndef _ASM_SOCKET_H
#define _ASM_SOCKET_H
......
/* $Id: starfire.h,v 1.2 2001/07/04 00:18:18 davem Exp $
/*
* starfire.h: Group all starfire specific code together.
*
* Copyright (C) 2000 Anton Blanchard (anton@samba.org)
......
/* $Id: stat.h,v 1.7 2000/08/04 05:35:55 davem Exp $ */
#ifndef _SPARC64_STAT_H
#define _SPARC64_STAT_H
......
/* $Id: statfs.h,v 1.2 1997/04/14 17:05:22 jj Exp $ */
#ifndef _SPARC64_STATFS_H
#define _SPARC64_STATFS_H
......
/* $Id: string.h,v 1.20 2001/09/27 04:36:24 kanoj Exp $
/*
* string.h: External definitions for optimized assembly string
* routines for the Linux Kernel.
*
......
/* $Id: sunbpp.h,v 1.1 1999/08/13 06:21:44 shadow Exp $
/*
* include/asm-sparc64/sunbpp.h
*/
......
/* $Id: termios.h,v 1.11 2001/06/01 08:12:11 davem Exp $ */
#ifndef _SPARC64_TERMIOS_H
#define _SPARC64_TERMIOS_H
......
/* $Id: ttable.h,v 1.18 2002/02/09 19:49:32 davem Exp $ */
#ifndef _SPARC64_TTABLE_H
#define _SPARC64_TTABLE_H
......
/* $Id: types.h,v 1.4 2001/10/09 02:24:35 davem Exp $ */
#ifndef _SPARC64_TYPES_H
#define _SPARC64_TYPES_H
......
/* $Id: uaccess.h,v 1.35 2002/02/09 19:49:31 davem Exp $ */
#ifndef _ASM_UACCESS_H
#define _ASM_UACCESS_H
......
/* $Id: uctx.h,v 1.1 1997/06/18 16:51:58 davem Exp $
/*
* uctx.h: Sparc64 {set,get}context() register state layouts.
*
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
......
/* $Id: utrap.h,v 1.1 1997/10/14 16:21:31 jj Exp $
/*
* include/asm-sparc64/utrap.h
*
* Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
......
/* $Id: watchdog.h,v 1.1 2001/01/18 04:47:44 davem Exp $
/*
*
* watchdog - Driver interface for the hardware watchdog timers
* present on Sun Microsystems boardsets
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment