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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_47/] [or1ksim/] [cpu/] [common/] [labels.h] - Diff between revs 1419 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 1419 Rev 1765
/* labels.h -- Abstract entities header file handling labels
/* labels.h -- Abstract entities header file handling labels
   Copyright (C) 2001 Marko Mlinar, markom@opencores.org
   Copyright (C) 2001 Marko Mlinar, markom@opencores.org
 
 
This file is part of OpenRISC 1000 Architectural Simulator.
This file is part of OpenRISC 1000 Architectural Simulator.
 
 
This program is free software; you can redistribute it and/or modify
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
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 2 of the License, or
(at your option) any later version.
(at your option) any later version.
 
 
This program is distributed in the hope that it will be useful,
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
GNU General Public License for more details.
 
 
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
 
 
#ifndef _LABELS_H_
#ifndef _LABELS_H_
#define _LABELS_H_
#define _LABELS_H_
 
 
#define LABELS_HASH_SIZE 119
#define LABELS_HASH_SIZE 119
 
 
/* Structure for holding one label per particular memory location */
/* Structure for holding one label per particular memory location */
struct label_entry {
struct label_entry {
  char *name;
  char *name;
  oraddr_t addr;
  oraddr_t addr;
  struct label_entry *next;
  struct label_entry *next;
};
};
 
 
struct breakpoint_entry {
struct breakpoint_entry {
  oraddr_t addr;
  oraddr_t addr;
  struct breakpoint_entry *next;
  struct breakpoint_entry *next;
};
};
 
 
/* Label handling */
/* Label handling */
void init_labels();
void init_labels();
void add_label (oraddr_t addr, char *name);
void add_label (oraddr_t addr, char *name);
struct label_entry *get_label (oraddr_t addr);
struct label_entry *get_label (oraddr_t addr);
struct label_entry *find_label (char *name);
struct label_entry *find_label (char *name);
 
 
/* Searches mem array for a particular label and returns label's address.
/* Searches mem array for a particular label and returns label's address.
   If label does not exist, returns 0. */
   If label does not exist, returns 0. */
oraddr_t eval_label (char *name);
oraddr_t eval_label (char *name);
 
 
/* Breakpoint handling */
/* Breakpoint handling */
void breakpoints_init ();
void breakpoints_init ();
void add_breakpoint (oraddr_t addr);
void add_breakpoint (oraddr_t addr);
void remove_breakpoint (oraddr_t addr);
void remove_breakpoint (oraddr_t addr);
void print_breakpoints ();
void print_breakpoints ();
int has_breakpoint (oraddr_t addr);
int has_breakpoint (oraddr_t addr);
void init_breakpoints ();
void init_breakpoints ();
 
 
extern struct breakpoint_entry *breakpoints;
extern struct breakpoint_entry *breakpoints;
#define CHECK_BREAKPOINTS (breakpoints)
#define CHECK_BREAKPOINTS (breakpoints)
 
 
#endif /* _LABELS_H_ */
#endif /* _LABELS_H_ */
 
 

powered by: WebSVN 2.1.0

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