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

Subversion Repositories or1k

[/] [or1k/] [tags/] [rel-0-3-0-rc2/] [or1ksim/] [cpu/] [common/] [execute.h] - Blame information for rev 1434

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 cvs
/* execute.h -- Header file for architecture dependent execute.c
2
   Copyright (C) 1999 Damjan Lampret, lampret@opencores.org
3
 
4
This file is part of OpenRISC 1000 Architectural Simulator.
5
 
6
This program is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2 of the License, or
9
(at your option) any later version.
10
 
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
GNU General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with this program; if not, write to the Free Software
18
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
19
 
20 1432 nogj
struct cpu_state {
21
  /* General purpose registers. */
22
  uorreg_t reg[MAX_GPRS];
23
 
24
  /* Sprs */
25
  uorreg_t sprs[MAX_SPRS];
26
 
27
  /* Effective address of instructions that have an effective address.  This is
28
   * only used to get dump_exe_log correct */
29
  oraddr_t insn_ea;
30
 
31
  /* Is current instruction in execution in a delay slot? */
32
  int delay_insn;
33
 
34
  /* Program counter (and translated PC) */
35
  oraddr_t pc;
36
 
37
  /* Delay instruction effective address register */
38
  oraddr_t pc_delay;
39
 
40
  /* Decoding of the just executed instruction.  Only used in analysis(). */
41
  struct iqueue_entry iqueue;
42
 
43
  /* decoding of the instruction that was executed before this one.  Only used
44
   * in analysis(). */
45
  struct iqueue_entry icomplet;
46
};
47
 
48
extern struct cpu_state cpu_state;
49
 
50 50 lampret
#define CURINSN(INSN) (strcmp(cur->insn, (INSN)) == 0)
51
 
52 138 markom
/*extern machword eval_operand(char *srcoperand,int* breakpoint);
53
extern void set_operand(char *dstoperand, unsigned long value,int* breakpoint);*/
54 560 markom
void dumpreg();
55
inline void dump_exe_log();
56
inline int cpu_clock ();
57
void cpu_reset ();
58 1350 nogj
uorreg_t evalsim_reg(unsigned int regno);
59 1434 nogj
void setsim_reg(unsigned int regno, uorreg_t value);
60 2 cvs
 
61 1350 nogj
extern oraddr_t pcnext;
62 1308 phoenix
int depend_operands(struct iqueue_entry *prev, struct iqueue_entry *next);

powered by: WebSVN 2.1.0

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