1/* MN10300 User process data 2 * 3 * Copyright (C) 2007 Matsushita Electric Industrial Co., Ltd. 4 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public Licence 8 * as published by the Free Software Foundation; either version 9 * 2 of the Licence, or (at your option) any later version. 10 */ 11#ifndef _ASM_USER_H 12#define _ASM_USER_H 13 14#include <asm/page.h> 15#include <linux/ptrace.h> 16 17#ifndef __ASSEMBLY__ 18/* 19 * When the kernel dumps core, it starts by dumping the user struct - this will 20 * be used by gdb to figure out where the data and stack segments are within 21 * the file, and what virtual addresses to use. 22 */ 23struct user { 24 /* We start with the registers, to mimic the way that "memory" is 25 * returned from the ptrace(3,...) function. 26 */ 27 struct pt_regs regs; /* Where the registers are actually stored */ 28 29 /* The rest of this junk is to help gdb figure out what goes where */ 30 unsigned long int u_tsize; /* Text segment size (pages). */ 31 unsigned long int u_dsize; /* Data segment size (pages). */ 32 unsigned long int u_ssize; /* Stack segment size (pages). */ 33 unsigned long start_code; /* Starting virtual address of text. */ 34 unsigned long start_stack; /* Starting virtual address of stack area. 35 This is actually the bottom of the stack, 36 the top of the stack is always found in the 37 esp register. */ 38 long int signal; /* Signal that caused the core dump. */ 39 int reserved; /* No longer used */ 40 struct user_pt_regs *u_ar0; /* Used by gdb to help find the values for */ 41 42 /* the registers */ 43 unsigned long magic; /* To uniquely identify a core file */ 44 char u_comm[32]; /* User command that was responsible */ 45}; 46#endif 47 48#define NBPG PAGE_SIZE 49#define UPAGES 1 50#define HOST_TEXT_START_ADDR +(u.start_code) 51#define HOST_STACK_END_ADDR +(u.start_stack + u.u_ssize * NBPG) 52 53#endif /* _ASM_USER_H */ 54