OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [include/] [asm-mips/] [ptrace.h] - Rev 1765

Compare with Previous | Blame | View Log

/*
 * linux/include/asm-mips/ptrace.h
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1994, 1995 by Waldorf GMBH
 * written by Ralf Baechle
 *
 * Machine dependent structs and defines to help the user use
 * the ptrace system call.
 */
#ifndef __ASM_MIPS_PTRACE_H
#define __ASM_MIPS_PTRACE_H
 
/*
 * This struct defines the way the registers are stored on the stack during a
 * system call/exception. As usual the registers k0/k1 aren't being saved.
 */
struct pt_regs {
	/*
	 * Pad bytes for argument save space on the stack
	 * 20/40 Bytes for 32/64 bit code
	 */
	unsigned long pad0[5];
 
	/*
	 * saved main processor registers
	 */
	long	        reg1,  reg2,  reg3,  reg4,  reg5,  reg6,  reg7;
	long	 reg8,  reg9, reg10, reg11, reg12, reg13, reg14, reg15;
	long	reg16, reg17, reg18, reg19, reg20, reg21, reg22, reg23;
	long	reg24, reg25,               reg28, reg29, reg30, reg31;
 
	/*
	 * Saved special registers
	 */
	long	lo;
	long	hi;
 
	/*
	 * saved cp0 registers
	 */
	unsigned long cp0_status;
	unsigned long cp0_epc;
	unsigned long cp0_cause;
 
	/*
	 * Some goodies...
	 */
	unsigned long interrupt;
	long orig_reg2;
	long pad1;
};
 
#ifdef __KERNEL__
 
/*
 * Does the process account for user or for system time?
 */
#if defined (__R4000__)
 
#define user_mode(regs) ((regs)->cp0_status & 0x10)
 
#else /* !defined (__R4000__) */
 
#define user_mode(regs) (!((regs)->cp0_status & 0x8))
 
#endif /* !defined (__R4000__) */
 
#define instruction_pointer(regs) ((regs)->cp0_epc)
extern void show_regs(struct pt_regs *);
#endif
 
#endif /* __ASM_MIPS_PTRACE_H */
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.