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

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/ecos-2.0/packages/services/profile/gprof/v2_0/include
    from Rev 27 to Rev 174
    Reverse comparison

Rev 27 → Rev 174

/profile.h
0,0 → 1,73
#ifndef CYGONCE_PROFILE_H
#define CYGONCE_PROFILE_H
 
//==========================================================================
//
// profile.h
//
// Application profiling support
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 2002 Gary Thomas
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): gthomas
// Contributors:
// Date: 2002-11-14
// Purpose: Define profiling support
// Description:
//
// Usage:
// #include <cyg/profile/profile.h>
//
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include <pkgconf/profile_gprof.h>
#include <cyg/infra/cyg_type.h>
 
// Enable profiling
__externC void profile_on(void *start_addr, void *end_addr,
int bucket_size, int sample_resolution);
 
// Callback used by timer routine
__externC void __profile_hit(unsigned long pc);
 
// Timer setup routine, used when enabling profiling
__externC void hal_enable_profile_timer(int resolution);
 
#endif // CYGONCE_PROFILE_H
/gmon_out.h
0,0 → 1,54
// Slightly adapted from OpenBSD "/src/gnu/usr.bin/binutils/gprof/gmon_out.h"
// for eCos environment
 
/*
* This file specifies the format of gmon.out files. It should have
* as few external dependencies as possible as it is going to be
* included in many different programs. That is, minimize the
* number of #include's.
*
* A gmon.out file consists of a header (defined by gmon_hdr) followed
* by a sequence of records. Each record starts with a one-byte tag
* identifying the type of records, followed by records specific data.
*/
#ifndef gmon_out_h
#define gmon_out_h
 
#define GMON_MAGIC "gmon" /* magic cookie */
#define GMON_VERSION 1 /* version number */
 
/*
* Raw header as it appears on file (without padding):
*/
struct gmon_hdr
{
char cookie[4];
char version[4];
char spare[3 * 4];
};
 
/* types of records in this file: */
typedef enum
{
GMON_TAG_TIME_HIST = 0, GMON_TAG_CG_ARC = 1, GMON_TAG_BB_COUNT = 2
}
GMON_Record_Tag;
 
struct gmon_hist_hdr
{
char low_pc[sizeof (char*)]; /* base pc address of sample buffer */
char high_pc[sizeof (char*)]; /* max pc address of sampled buffer */
char hist_size[4]; /* size of sample buffer */
char prof_rate[4]; /* profiling clock rate */
char dimen[15]; /* phys. dim., usually "seconds" */
char dimen_abbrev; /* usually 's' for "seconds" */
};
 
struct gmon_cg_arc_record
{
char from_pc[sizeof (char*)]; /* address within caller's body */
char self_pc[sizeof (char*)]; /* address within callee's body */
char count[4]; /* number of arc traversals */
};
 
#endif /* gmon_out_h */

powered by: WebSVN 2.1.0

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