bfd macro conversion to inline functions
[deliverable/binutils-gdb.git] / sim / ppc / mon.h
index e8ac2e33e139f91029b8b3dca1f8b3a4fc0b3079..580c93bb939fe1f055e658a495551856182c3087 100644 (file)
@@ -4,7 +4,7 @@
 
     This program 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 of the License, or
+    the Free Software Foundation; either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -13,8 +13,7 @@
     GNU General Public License for more details.
  
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+    along with this program; if not, see <http://www.gnu.org/licenses/>.
  
     */
 
 #ifndef _MON_H_
 #define _MON_H_
 
-#ifndef INLINE_MON
-#define INLINE_MON
-#endif
-
 #include "basics.h"
 #include "itable.h"
 
 /* monitor/logger: counts what the simulation is up to */
 
+typedef unsigned long count_type;
+
+/* Interfact to model to return model specific information */
+typedef struct _model_print model_print;
+struct _model_print {
+  model_print *next;
+  const char *name;
+  const char *suffix_singular;
+  const char *suffix_plural;
+  count_type count;
+};
+
+/* Additional events to monitor */
+typedef enum _mon_events {
+  mon_event_icache_miss,
+  nr_mon_events
+} mon_events;
+
 typedef struct _mon mon;
 typedef struct _cpu_mon cpu_mon;
 
-INLINE_MON mon *mon_create
+INLINE_MON\
+(mon *) mon_create
 (void);
 
-INLINE_MON cpu_mon *mon_cpu
+INLINE_MON\
+(cpu_mon *) mon_cpu
 (mon *monitor,
  int cpu_nr);
 
-INLINE_MON void mon_init
+INLINE_MON\
+(void) mon_init
 (mon *monitor,
  int nr_cpus);
 
-INLINE_MON void mon_issue
+INLINE_MON\
+(void) mon_issue
 (itable_index index,
  cpu *processor, 
  unsigned_word cia);
@@ -54,21 +71,35 @@ INLINE_MON void mon_issue
    and besides when the cpu's have their own cache, the information is
    wrong */
 
-INLINE_MON void mon_read
+INLINE_MON\
+(void) mon_read
 (unsigned_word ea,
  unsigned_word ra,
  unsigned nr_bytes,
  cpu *processor,
  unsigned_word cia);
 
-INLINE_MON void mon_write
+INLINE_MON\
+(void) mon_write
 (unsigned_word ea,
  unsigned_word ra,
  unsigned nr_bytes,
  cpu *processor,
  unsigned_word cia);
 
-INLINE_MON void mon_print_info
+INLINE_MON\
+(void) mon_event
+(mon_events event,
+ cpu *processor,
+ unsigned_word cia);
+
+INLINE_MON\
+(unsigned) mon_get_number_of_insns
+(mon *monitor,
+ int cpu_nr);
+
+INLINE_MON\
+(void) mon_print_info
 (psim *system,
  mon *monitor,
  int verbose);
This page took 0.025439 seconds and 4 git commands to generate.