URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 17 to Rev 18
- ↔ Reverse comparison
Rev 17 → Rev 18
/trunk/or1ksim/configure
453,7 → 453,7
|
# A filename unique to this package, relative to the directory that |
# configure is in, which we can look for to find out if srcdir is correct. |
ac_unique_file=cpu/or1k/execute.c |
ac_unique_file=cpu/or32/execute.c |
|
# Find the source files, if location was not specified. |
if test -z "$srcdir"; then |
782,7 → 782,7
|
PACKAGE=or1ksim |
|
VERSION=1.1 |
VERSION=1.2 |
|
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then |
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; } |
868,8 → 868,8
|
|
|
# From configure.in for or1ksim-1.1, version 2.14, from autoconf version 2.13 |
SIMVERSION=1.1 |
# From configure.in for or1ksim-1.2, version 2.14, from autoconf version 2.13 |
SIMVERSION=1.2 |
|
|
|
1907,7 → 1907,8
|
|
case "$target_cpu" in |
or1k*) CPU_ARCH=or1k;; |
or32*) CPU_ARCH=or32;; |
or16*) CPU_ARCH=or16;; |
dlx*) CPU_ARCH=dlx;; |
esac |
|
2019,7 → 2020,8
ac_given_INSTALL="$INSTALL" |
|
trap 'rm -fr `echo "Makefile bpb/Makefile cache/Makefile cpu/Makefile |
cpu/common/Makefile cpu/or1k/Makefile cpu/dlx/Makefile |
cpu/common/Makefile cpu/or32/Makefile cpu/or16/Makefile |
cpu/dlx/Makefile |
support/Makefile mmu/Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 |
EOF |
cat >> $CONFIG_STATUS <<EOF |
2134,7 → 2136,8
cat >> $CONFIG_STATUS <<EOF |
|
CONFIG_FILES=\${CONFIG_FILES-"Makefile bpb/Makefile cache/Makefile cpu/Makefile |
cpu/common/Makefile cpu/or1k/Makefile cpu/dlx/Makefile |
cpu/common/Makefile cpu/or32/Makefile cpu/or16/Makefile |
cpu/dlx/Makefile |
support/Makefile mmu/Makefile"} |
EOF |
cat >> $CONFIG_STATUS <<\EOF |
/trunk/or1ksim/Makefile.in
122,7 → 122,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/sim-config.P .deps/toplevel.P |
SOURCES = $(sim_SOURCES) |
132,7 → 132,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
334,7 → 334,7
top_distdir=`cd $(distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/configure.in
5,13 → 5,13
dnl |
dnl Process this file with autoconf to produce a configure script. |
|
AC_INIT(cpu/or1k/execute.c) |
AC_INIT(cpu/or32/execute.c) |
AC_CANONICAL_SYSTEM |
AM_INIT_AUTOMAKE(or1ksim, 1.1) |
AM_INIT_AUTOMAKE(or1ksim, 1.2) |
AM_CONFIG_HEADER(config.h) |
|
AC_REVISION([for or1ksim-1.1, version 2.14, from autoconf version] AC_ACVERSION) |
SIMVERSION=1.1 |
AC_REVISION([for or1ksim-1.2, version 2.14, from autoconf version] AC_ACVERSION) |
SIMVERSION=1.2 |
|
dnl make sure we are using a recent autoconf version |
AC_PREREQ(2.10) |
86,7 → 86,8
|
dnl yuck |
case "$target_cpu" in |
or1k*) CPU_ARCH=or1k;; |
or32*) CPU_ARCH=or32;; |
or16*) CPU_ARCH=or16;; |
dlx*) CPU_ARCH=dlx;; |
esac |
AC_SUBST(CPU_ARCH) |
98,7 → 99,8
|
|
AC_OUTPUT([Makefile bpb/Makefile cache/Makefile cpu/Makefile |
cpu/common/Makefile cpu/or1k/Makefile cpu/dlx/Makefile |
cpu/common/Makefile cpu/or32/Makefile cpu/or16/Makefile |
cpu/dlx/Makefile |
support/Makefile mmu/Makefile], |
[ |
# Makefile uses this timestamp file to record whether config.h is up to date. |
/trunk/or1ksim/cpu/Makefile.in
97,12 → 97,12
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
all: all-redirect |
.SUFFIXES: |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign cpu/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu cpu/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
207,7 → 207,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign cpu/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu cpu/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/cpu/dlx/Makefile.in
126,7 → 126,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/execute.P |
SOURCES = $(libarch_a_SOURCES) |
136,7 → 136,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign cpu/dlx/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu cpu/dlx/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
211,7 → 211,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign cpu/dlx/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu cpu/dlx/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/cpu/common/Makefile.in
126,7 → 126,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/abstract.P .deps/parse.P .deps/stats.P .deps/trace.P |
SOURCES = $(libcommon_a_SOURCES) |
136,7 → 136,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign cpu/common/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu cpu/common/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
211,7 → 211,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign cpu/common/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu cpu/common/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/cpu/common/abstract.c
76,11 → 76,25
unsigned long eval_label(char *label) |
{ |
int i; |
|
for(i = 0; i < MEMORY_LEN; i++) |
if (strcmp(label, mem[i].label) == 0) |
return i; |
|
char *plus; |
char *minus; |
int positive_offset = 0; |
int negative_offset = 0; |
|
if (plus = strchr(label, '+')) { |
*plus = '\0'; |
positive_offset = atoi(++plus); |
} |
|
if (minus = strchr(label, '-')) { |
*minus = '\0'; |
negative_offset = atoi(++minus); |
} |
|
for(i = 0; i < MEMORY_LEN; i++) |
if (strcmp(label, mem[i].label) == 0) |
return i+positive_offset-negative_offset; |
|
printf("\nINTERNAL ERROR: undefined label %s\n", label); |
cont_run = 0; |
return 0; |
/trunk/or1ksim/cpu/common/parse.c
24,18 → 24,10
|
#include "parse.h" |
#include "abstract.h" |
#include "arch.h" |
|
#define MAXLINE_LEN 18000 |
|
/* Struct labelref that is used in linked list for fixing label refs |
after program is loaded to memory. */ |
|
struct st_labelref { |
struct st_labelref *next; |
unsigned long addr; |
char label[100]; |
} *labelref = NULL; |
|
/* Unused mem memory marker. It is used when allocating program and data memory |
during parsing */ |
unsigned int freemem; |
106,51 → 98,13
mem[freemem].data = *str; |
} |
|
int is_str(char *str) |
{ |
char *c; |
|
for (c = str; *c != '\0'; c++) |
if (isalpha(*c)) |
return 1; |
|
return 0; |
} |
|
void handle_labelref(struct st_labelref *root) |
{ |
unsigned long label; |
struct st_labelref *tmp; |
|
while (root) { |
label = eval_label(root->label); |
mem[root->addr].data = (char) (label >> 24); |
mem[root->addr + 1].data = (char) (label >> 16); |
mem[root->addr + 2].data = (char) (label >> 8); |
mem[root->addr + 3].data = (char) (label); |
|
tmp = root->next; |
free(root); |
root = tmp; |
} |
} |
|
void adddataword(char *num) |
{ |
mem[freemem].data = (char) (atol(num) >> 24); |
mem[freemem + 1].data = (char) (atol(num) >> 16); |
mem[freemem + 2].data = (char) (atol(num) >> 8); |
mem[freemem + 3].data = (char) (atol(num)); |
|
if (is_str(num)) { |
struct st_labelref *new = malloc(sizeof(struct st_labelref)); |
strcpy(new->label, num); |
new->addr = freemem; |
new->next = labelref; |
labelref = new; |
} else { |
mem[freemem].data = (char) (atol(num) >> 24); |
mem[freemem + 1].data = (char) (atol(num) >> 16); |
mem[freemem + 2].data = (char) (atol(num) >> 8); |
mem[freemem + 3].data = (char) (atol(num)); |
} |
|
freemem += 4; |
} |
|
186,9 → 140,44
|
void addprogram(char *insn, char *operands) |
{ |
|
#ifdef __HALF_WORD_INSN__ |
int h_insn_is_word_flag=0; |
char insn_first2_char[3]; |
|
strcpy(mem[freemem].insn, insn); |
insn_first2_char[0]=insn[0]; |
insn_first2_char[1]=insn[1]; |
insn_first2_char[2]='\0'; |
|
if(strcmp("h.", insn_first2_char) == 0) { |
if(strcmp("h.load32u", insn) == 0 || |
strcmp("h.load16u", insn) == 0 || |
strcmp("h.load8u", insn) == 0 || |
strcmp("h.stor32", insn) == 0 || |
strcmp("h.stor16", insn) == 0 || |
strcmp("h.stor8", insn) == 0 || |
strcmp("h.jal", insn) == 0 || |
strcmp("h.mtsr", insn) == 0 || |
strcmp("h.mfsr", insn) == 0 || |
strcmp("h.movi16ze", insn) == 0 || |
strcmp("h.immhi16u", insn) == 0 || |
strcmp("h.addi16s", insn) == 0 || |
strcmp("h.subi16s", insn) == 0 || |
strcmp("h.xori16", insn) == 0 || |
strcmp("h.ori16", insn) == 0 || |
strcmp("h.andi16", insn) == 0 |
) |
h_insn_is_word_flag = 2; /* h.xxx insn AND occupy 4 bytes */ |
else |
h_insn_is_word_flag = 1; /* h.xxx insn AND occupy 2 bytes */ |
} |
else { |
h_insn_is_word_flag = 0; /* not h.xxx insn */ |
} |
#else |
strcpy(mem[freemem].insn, insn); |
#endif |
|
/* op1 */ |
if (*operands) |
strcpy(mem[freemem].op1, operands); |
197,7 → 186,11
*operands = '\0'; |
operands++; |
} else { |
#ifdef __HALF_WORD_INSN__ |
freemem += (h_insn_is_word_flag == 1) ? 2 : 4; |
#else |
freemem += 4; |
#endif |
return; |
} |
|
209,7 → 202,11
*operands = '\0'; |
operands++; |
} else { |
#ifdef __HALF_WORD_INSN__ |
freemem += (h_insn_is_word_flag == 1) ? 2 : 4; |
#else |
freemem += 4; |
#endif |
return; |
} |
|
221,7 → 218,11
*operands = '\0'; |
operands++; |
} else { |
#ifdef __HALF_WORD_INSN__ |
freemem += (h_insn_is_word_flag == 1) ? 2 : 4; |
#else |
freemem += 4; |
#endif |
return; |
} |
|
234,7 → 235,11
operands++; |
} |
|
freemem += 4; |
#ifdef __HALF_WORD_INSN__ |
freemem += (h_insn_is_word_flag == 1) ? 2 : 4; |
#else |
freemem += 4; |
#endif |
return; |
} |
|
259,15 → 264,14
i++; |
|
/* Get the first item from this line */ |
strtoken(inputline, item, 1); |
strtoken(inputline, item2, 2); |
strtoken(inputline, item, 1); /* opcode */ |
strtoken(inputline, item2, 2); /* all the remaining one/two/three operands */ |
|
/* Is this item empty? Nothing to process, so return. */ |
if (strlen(item) == 0) |
return; |
|
/* Is this item a label? If yes, add it to the label |
table and return immediately. */ |
/* Is this item a label? If yes, add it to the label table and return immediately. */ |
if (strstr(item, LABELEND_CHAR)) { |
addlabel(item); |
return; |
342,6 → 346,5
freemem = 0; |
memset(mem, 0, sizeof(mem)); |
readfile(filename); |
handle_labelref(labelref); |
return; |
} |
/trunk/or1ksim/config.sub
155,7 → 155,7
| hppa2.0 | alpha | we32k | ns16k | clipper | i370 | sh \ |
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \ |
| pdp11 | mips64el | mips64orion | mips64orionel \ |
| sparc | sparclet | sparclite | sparc64 | or1k | dlx) |
| sparc | sparclet | sparclite | sparc64 | or32 | or16 | dlx) |
basic_machine=$basic_machine-unknown |
;; |
# We use `pc' rather than `unknown' |
/trunk/or1ksim/README
24,8 → 24,8
interested. Some other things are strange or incomplete too (like |
C library emulation, currently supports only printf via simprintf). |
|
MMMU directory is not functional. Someday (Nov/1999 probably) it |
will be filled with code for virtual memory simulation. |
MMU directory is not functional. Someday it will be filled with code for |
virtual memory simulation. |
|
|
Installation |
34,7 → 34,7
To compile, run the configure script and specify the target architecture. |
Example: |
|
$ ./configure --target=or1k |
$ ./configure --target=or32 |
|
After that, just issue "make all" command. By default there should be no |
warnings. There is no "make install". Just use it from default location |
50,7 → 50,7
Simulator test |
============== |
|
Issue 'sim testbench/dhry.or1k' or 'sim testbench/dhry.dlx' to |
Issue 'sim testbench/dhry.or32' or 'sim testbench/dhry.dlx' to |
test simulator. See testbench/README for details about Dhrystone 2.1 |
benchmark. |
|
/trunk/or1ksim/mmu/Makefile.in
126,7 → 126,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/dmmu.P |
SOURCES = $(libmmu_a_SOURCES) |
136,7 → 136,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign mmu/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu mmu/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
211,7 → 211,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign mmu/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu mmu/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/cache/Makefile.in
126,7 → 126,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/dcache_model.P .deps/icache_model.P |
SOURCES = $(libcache_a_SOURCES) |
136,7 → 136,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign cache/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu cache/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
211,7 → 211,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign cache/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu cache/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/bpb/Makefile.in
126,7 → 126,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/branch_predict.P |
SOURCES = $(libbpb_a_SOURCES) |
136,7 → 136,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign bpb/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu bpb/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
211,7 → 211,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign bpb/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu bpb/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |
/trunk/or1ksim/toplevel.c
41,7 → 41,7
#include "execute.h" |
|
/* CVS revision number. */ |
static const char rcsrev[] = "$Revision: 1.4 $"; |
static const char rcsrev[] = "$Revision: 1.5 $"; |
|
/* Continuos run versus single step tracing switch. */ |
int cont_run; |
58,7 → 58,8
"pr", |
"pm", |
"pc", |
"brk", |
"reset", |
"break", |
"hist", |
"stats", |
"info", |
96,8 → 97,11
version() |
{ |
printf ("\n"); |
printf ("OpenRISC 1000 Architectural Simulator, revision %s\n", rcsrev); |
printf ("Copyright (C) 1999 Damjan Lampret, lampret@opencores.org\n"); |
printf ("OpenRISC 1000 (OR16+OR32) Architectural Simulator, %s\n", rcsrev); |
printf ("Copyright (C) 1999 Damjan Lampret, lampret@opencores.org\n"); |
printf ("Copyright (C) 2000 Damjan Lampret, lampret@opencores.org\n"); |
printf (" Jimmy Chen-Min Chen, jimmy87@sunplus.com.tw\n"); |
printf (" Johan Rydberg, johan.rydberg@insight.se\n"); |
printf ("Visit http://www.opencores.org for more information about "); |
printf ("OpenRISC 1000 and\nother open source cores.\n\n"); |
printf ("This software comes with ABSOLUTELY NO WARRANTY; for "); |
117,7 → 121,8
printf("dm <fromaddr> [<toaddr>] - display memory from <fromaddr> to <toaddr>\n"); |
printf("pm <addr> <value> - patch memory location <addr> with <value>\n"); |
printf("pc <value> - patch PC register with <value>\n"); |
printf("brk <addr> - toggle breakpoint at address <addr>\n"); |
printf("break <addr> - toggle breakpoint at address <addr>\n"); |
printf("reset - simulator reset\n"); |
printf("hist - execution history\n"); |
printf("stats <num|clear> - execution statistics num or clear it.\n"); |
printf("info - configuration info (caches etc.)\n"); |
258,6 → 263,9
if (strcmp(item1, "r") == 0) { /* dump regs */ |
dumpreg(); |
} else |
if (strcmp(item1, "reset") == 0) { /* reset simulator */ |
reset(); |
} else |
if (strcmp(item1, "hist") == 0) { /* dump history */ |
int i; |
for(i = HISTEXEC_LEN; i; i--) |
/trunk/or1ksim/support/Makefile.in
126,7 → 126,7
|
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) |
|
TAR = gtar |
TAR = tar |
GZIP_ENV = --best |
DEP_FILES = .deps/simprintf.P |
SOURCES = $(libsupport_a_SOURCES) |
136,7 → 136,7
.SUFFIXES: |
.SUFFIXES: .S .c .o .s |
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) |
cd $(top_srcdir) && $(AUTOMAKE) --foreign support/Makefile |
cd $(top_srcdir) && $(AUTOMAKE) --gnu support/Makefile |
|
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES) |
cd $(top_builddir) \ |
211,7 → 211,7
top_distdir=`cd $(top_distdir) && pwd`; \ |
distdir=`cd $(distdir) && pwd`; \ |
cd $(top_srcdir) \ |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign support/Makefile |
&& $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu support/Makefile |
@for file in $(DISTFILES); do \ |
d=$(srcdir); \ |
if test -d $$d/$$file; then \ |