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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [ada/] [vx_stack_info.c] - Blame information for rev 706

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 706 jeremybenn
/****************************************************************************
2
 *                                                                          *
3
 *                         GNAT COMPILER COMPONENTS                         *
4
 *                                                                          *
5
 *                         V X _ S T A C K _ I N F O                        *
6
 *                                                                          *
7
 *                          C Implementation File                           *
8
 *                                                                          *
9
 *              Copyright (C) 2007-2009  Free Software Foundation, Inc.     *
10
 *                                                                          *
11
 * GNAT is free software;  you can  redistribute it  and/or modify it under *
12
 * terms of the  GNU General Public License as published  by the Free Soft- *
13
 * ware  Foundation;  either version 3,  or (at your option) any later ver- *
14
 * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
15
 * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
16
 * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
17
 *                                                                          *
18
 * As a special exception under Section 7 of GPL version 3, you are granted *
19
 * additional permissions described in the GCC Runtime Library Exception,   *
20
 * version 3.1, as published by the Free Software Foundation.               *
21
 *                                                                          *
22
 * You should have received a copy of the GNU General Public License and    *
23
 * a copy of the GCC Runtime Library Exception along with this program;     *
24
 * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
25
 * <http://www.gnu.org/licenses/>.                                          *
26
 *                                                                          *
27
 * GNAT was originally developed  by the GNAT team at  New York University. *
28
 * Extensive contributions were provided by Ada Core Technologies Inc.      *
29
 *                                                                          *
30
 ****************************************************************************/
31
 
32
/* VxWorks-specific file to have access to task-specific data and be able
33
   to extract the stack boundaries for stack checking. */
34
 
35
#include <taskLib.h>
36
 
37
typedef struct
38
{
39
  int  size;
40
  char *base;
41
  char *end;
42
} stack_info;
43
 
44
/* __gnat_get_stack_info is used by s-stchop.adb only for VxWorks. This
45
   procedure fills the stack information associated to the currently
46
   executing task. */
47
extern void __gnat_get_stack_info (stack_info *vxworks_stack_info);
48
 
49
void
50
__gnat_get_stack_info (stack_info *vxworks_stack_info)
51
{
52
  TASK_DESC descriptor;
53
 
54
  /* Ask the VxWorks kernel about stack values */
55
  taskInfoGet (taskIdSelf (), &descriptor);
56
 
57
  /* Fill the stack data with the information provided by the kernel */
58
  vxworks_stack_info->size = descriptor.td_stackSize;
59
  vxworks_stack_info->base = descriptor.td_pStackBase;
60
  vxworks_stack_info->end  = descriptor.td_pStackEnd;
61
}

powered by: WebSVN 2.1.0

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