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
    from Rev 431 to Rev 432
    Reverse comparison

Rev 431 → Rev 432

/trunk/or1ksim/configure
1,14 → 1,16
#! /bin/sh
# From configure.ac Id: configure.ac 420 2010-11-11 14:43:33Z jeremybennett using automake version AC_ACVERSION.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.64 for or1ksim 2010-11-11.
# Generated by GNU Autoconf 2.65 for or1ksim 2010-11-25.
#
# Report bugs to <openrisc@opencores.org>.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
# Foundation, Inc.
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
#
697,7 → 699,8
 
 
 
exec 7<&0 </dev/null 6>&1
test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1
 
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
719,8 → 722,8
# Identity of this package.
PACKAGE_NAME='or1ksim'
PACKAGE_TARNAME='or1ksim'
PACKAGE_VERSION='2010-11-11'
PACKAGE_STRING='or1ksim 2010-11-11'
PACKAGE_VERSION='2010-11-25'
PACKAGE_STRING='or1ksim 2010-11-25'
PACKAGE_BUGREPORT='openrisc@opencores.org'
PACKAGE_URL=''
 
1473,7 → 1476,7
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures or1ksim 2010-11-11 to adapt to many kinds of systems.
\`configure' configures or1ksim 2010-11-25 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
1544,7 → 1547,7
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of or1ksim 2010-11-11:";;
short | recursive ) echo "Configuration of or1ksim 2010-11-25:";;
esac
cat <<\_ACEOF
 
1579,7 → 1582,7
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
CCAS assembler compiler command (defaults to CC)
1651,8 → 1654,8
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
or1ksim configure 2010-11-11
generated by GNU Autoconf 2.64
or1ksim configure 2010-11-25
generated by GNU Autoconf 2.65
 
Copyright (C) 2009 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
1719,7 → 1722,7
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_compile
 
1756,7 → 1759,7
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_cpp
 
1891,7 → 1894,7
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_run
 
1968,7 → 1971,7
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_link
 
2306,7 → 2309,7
 
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_compute_int
cat >config.log <<_ACEOF
2313,8 → 2316,8
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by or1ksim $as_me 2010-11-11, which was
generated by GNU Autoconf 2.64. Invocation command line was
It was created by or1ksim $as_me 2010-11-25, which was
generated by GNU Autoconf 2.65. Invocation command line was
 
$ $0 $@
 
2567,7 → 2570,7
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
2576,9 → 2579,9
done
 
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
2985,8 → 2988,8
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
2993,12 → 2996,10
 
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
 
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
 
;
return 0;
3005,12 → 3006,12
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
# The possible output files:
3072,10 → 3073,10
else
ac_file=''
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then :
$as_echo "$as_me: failed program was:" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
 
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
3083,51 → 3084,18
{ as_fn_set_status 77
as_fn_error "C compiler cannot create executables
See \`config.log' for more details." "$LINENO" 5; }; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
 
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
 
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
 
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
3160,7 → 3128,7
as_fn_error "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." "$LINENO" 5; }
fi
rm -f conftest$ac_cv_exeext
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
 
3167,6 → 3135,65
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
 
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
 
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then :
4512,13 → 4539,13
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:4515: $ac_compile\"" >&5)
(eval echo "\"\$as_me:4542: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:4518: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval echo "\"\$as_me:4545: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:4521: output\"" >&5)
(eval echo "\"\$as_me:4548: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
5723,7 → 5750,7
;;
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 5726 "configure"' > conftest.$ac_ext
echo '#line 5753 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
6985,11 → 7012,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:6988: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7015: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:6992: \$? = $ac_status" >&5
echo "$as_me:7019: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
7324,11 → 7351,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7327: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7354: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:7331: \$? = $ac_status" >&5
echo "$as_me:7358: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
7429,11 → 7456,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7432: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7459: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7436: \$? = $ac_status" >&5
echo "$as_me:7463: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
7484,11 → 7511,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7487: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7514: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7491: \$? = $ac_status" >&5
echo "$as_me:7518: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
9867,7 → 9894,7
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 9870 "configure"
#line 9897 "configure"
#include "confdefs.h"
 
#if HAVE_DLFCN_H
9963,7 → 9990,7
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 9966 "configure"
#line 9993 "configure"
#include "confdefs.h"
 
#if HAVE_DLFCN_H
10504,6 → 10531,7
 
fi
 
test -d ./--version && rmdir ./--version
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
10511,7 → 10539,6
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
test -d ./--version && rmdir ./--version
MKDIR_P="$ac_install_sh -d"
fi
fi
10690,7 → 10717,7
 
# Define the identity of the package.
PACKAGE='or1ksim'
VERSION='2010-11-11'
VERSION='2010-11-25'
 
 
cat >>confdefs.h <<_ACEOF
11358,8 → 11385,8
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
13709,8 → 13736,8
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by or1ksim $as_me 2010-11-11, which was
generated by GNU Autoconf 2.64. Invocation command line was
This file was extended by or1ksim $as_me 2010-11-25, which was
generated by GNU Autoconf 2.65. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
13750,6 → 13777,7
 
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
13772,10 → 13800,11
 
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
or1ksim config.status 2010-11-11
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
or1ksim config.status 2010-11-25
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
 
Copyright (C) 2009 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
13813,6 → 13842,8
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
14287,7 → 14318,7
t delim
:nl
h
s/\(.\{148\}\).*/\1/
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
14301,7 → 14332,7
t nl
:delim
h
s/\(.\{148\}\).*/\1/
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
/trunk/or1ksim/sim-config.h
142,6 → 142,7
{
int enabled; /* Is interrupt controller enabled? */
int edge_trigger; /* Are interrupts edge triggered? */
int use_nmi; /* Do we have non-maskable interrupts? */
} pic;
 
struct
/trunk/or1ksim/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
645,7 → 645,7
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
670,7 → 670,7
fi; test -z "$$fail"
 
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
834,7 → 834,8
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
878,17 → 879,17
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
/trunk/or1ksim/port/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/debug/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/cpu/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
292,7 → 292,7
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
317,7 → 317,7
fi; test -z "$$fail"
 
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
/trunk/or1ksim/cpu/or32/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/cpu/dlx/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/cpu/common/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/cpu/or1k/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/cpu/or1k/sprs.c
159,6 → 159,13
cpu_state.sprs[SPR_PICSR] = prev_val;
break;
case SPR_PICMR:
/* If we have non-maskable interrupts, then the bottom two bits are always
one. */
if (config.pic.use_nmi)
{
cpu_state.sprs[SPR_SR] |= 0x00000003;
}
 
if(cpu_state.sprs[SPR_SR] & SPR_SR_IEE)
pic_ints_en();
break;
/trunk/or1ksim/cpu/or1k/spr-defs.h
153,7 → 153,6
 
/* PIC group */
#define SPR_PICMR (SPRGROUP_PIC + 0)
#define SPR_PICPR (SPRGROUP_PIC + 1)
#define SPR_PICSR (SPRGROUP_PIC + 2)
 
/* Tick Timer group */
569,12 → 568,6
#define SPR_PICMR_IUM 0xfffffffc /* Interrupt unmask */
 
/*
* Bit definitions for PICPR
*
*/
#define SPR_PICPR_IPRIO 0xfffffffc /* Interrupt priority */
 
/*
* Bit definitions for PICSR
*
*/
/trunk/or1ksim/tick/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/softfloat/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/libtoplevel.c
219,9 → 219,9
}
}
 
/* Clear any interrupts as requested. For edge triggered interrupts this
will happen in the same cycle. For level triggered, it must be an
explicit call. */
/* Clear any interrupts as requested. This only applies to level
sensitive interrupts. Edge triggered are cleared by writing to
PICSR. */
if (0 != runtime.sim.ext_int_clr)
{
for (i = 0; i < num_ints; i++)
348,8 → 348,8
/*---------------------------------------------------------------------------*/
/*!Trigger an edge triggered interrupt
 
This function is appropriate for edge triggered interrupts, which are taken
and then immediately cleared.
This function is appropriate for edge triggered interrupts. These are
cleared by writing to the PICSR SPR.
 
@note There is no check that the specified interrupt number is reasonable
(i.e. <= 31).
367,7 → 367,6
else
{
runtime.sim.ext_int_set |= 1 << i; // Better not be > 31!
runtime.sim.ext_int_clr |= 1 << i; // Better not be > 31!
}
} /* or1ksim_interrupt () */
 
/trunk/or1ksim/cache/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/argtable2/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/configure.ac
28,7 → 28,7
 
# Use a full version number (x.y.z, possibly with "rcn" as a suffix) when
# preparing a release, otherwise use a the date version (yyyy-mm-dd).
AC_INIT([or1ksim], [2010-11-11], [openrisc@opencores.org])
AC_INIT([or1ksim], [2010-11-25], [openrisc@opencores.org])
AC_CONFIG_MACRO_DIR([m4])
 
# Generically use extensions such as _GNU_SOURCE if available.
/trunk/or1ksim/doc/or1ksim.info
1,5 → 1,5
This is ../../or1ksim/doc/or1ksim.info, produced by makeinfo version
4.13 from ../../or1ksim/doc/or1ksim.texi.
This is ../../doc/or1ksim.info, produced by makeinfo version 4.13 from
../../doc/or1ksim.texi.
 
INFO-DIR-SECTION Embedded development
START-INFO-DIR-ENTRY
64,7 → 64,7
Unpack the software and create a _separate_ directory in which to build
it:
 
tar jxf or1ksim-2010-11-11.tar.bz2
tar jxf or1ksim-2010-11-25.tar.bz2
mkdir builddir_or1ksim
cd builddir_or1ksim
 
81,7 → 81,7
OpenRISC 1000 32-bit architecture. If this argument is omitted, it will
default to OpenRISC 1000 32-bit with a warning
 
../or1ksim-2010-11-11/configure --target=or32-uclinux ...
../or1ksim-2010-11-25/configure --target=or32-uclinux ...
 
There are several other options available, many of which are standard
to GNU `configure' scripts. Use `configure --help' to see all the
522,12 → 522,11
functions exported by the Or1ksim library. These are:
 
-- `or1ksim.h': int or1ksim_init (int ARGC, char *ARGV, void
*CLASS_PTR,
int (*UPR)(void *CLASS_PTR, unsigned long int ADDR, unsigned char
MASK[], unsigned char RDATA[], int DATA_LEN), int (*UPW)(void
*CLASS_PTR, unsigned long int ADDR, unsigned char MASK[], unsigned
char WDATA[], int DATA_LEN))
 
*CLASS_PTR, int (*UPR)(void *CLASS_PTR, unsigned long int
ADDR, unsigned char MASK[], unsigned char RDATA[], int
DATA_LEN), int (*UPW)(void *CLASS_PTR, unsigned long int
ADDR, unsigned char MASK[], unsigned char WDATA[], int
DATA_LEN))
The initialization function is supplied with a vector of arguments,
which are interpreted as arguments to the standalone version (see
*note Standalone Simulator: Standalone Simulator.), a pointer to
609,20 → 608,24
 
-- `or1ksim.h': void or1ksim_interrupt (int I)
Generate an edge-triggered interrupt on interrupt line I. The
interrupt is then immediately cleared automatically. A warning
will be generated and the interrupt request ignored if level
sensitive interrupts have been configured with the programmable
interrupt controller (*note Interrupt Configuration: Interrupt
Configuration.).
interrupt must be cleared separately by clearing the corresponding
bit in the PICSR SPR. Until the interrupt is cleared, any further
interrupts on the same line will be ignored with a warning. A
warning will be generated and the interrupt request ignored if
level sensitive interrupts have been configured with the
programmable interrupt controller (*note Interrupt Configuration:
Interrupt Configuration.).
 
 
-- `or1ksim.h': void or1ksim_interrupt_set (int I)
Assert a level-triggered interrupt on interrupt line I. The
interrupt must be cleared separately by an explicit call to
`or1ksim_interrupt_clear'. A warning will be generated, and the
interrupt request ignored if edge sensitive interrupts have been
configured with the programmable interrupt controller (*note
Interrupt Configuration: Interrupt Configuration.).
`or1ksim_interrupt_clear'. Until the interrupt is cleared, any
further setting of interrupts on the same line will be ignored
with a warning. A warning will be generated, and the interrupt
request ignored if edge sensitive interrupts have been configured
with the programmable interrupt controller (*note Interrupt
Configuration: Interrupt Configuration.).
 
 
-- `or1ksim.h': void or1ksim_interrupt_clear (int I)
642,9 → 645,8
processor clock cycles to complete.
 
 
-- `or1ksim.h': double or1ksim_jtag_shift_ir (unsigned
char *JREG, int NUM_BITS)
 
-- `or1ksim.h': double or1ksim_jtag_shift_ir (unsigned char *JREG, int
NUM_BITS)
Shift the supplied register through the JTAG instruction register.
Return the (model) time taken for this action. The register is
supplied as a byte vector, with the least significant bits in the
656,9 → 658,8
bits 11-8 in the least significant 4 bits of byte 1.
 
 
-- `or1ksim.h': double or1ksim_jtag_shift_dr (unsigned
char *JREG, int NUM_BITS)
 
-- `or1ksim.h': double or1ksim_jtag_shift_dr (unsigned char *JREG, int
NUM_BITS)
Shift the supplied register through the JTAG data register.
Return the (model) time taken for this action. The register is
supplied as a byte vector, with the least significant bits in the
670,9 → 671,8
bits 11-8 in the least significant 4 bits of byte 1.
 
 
-- `or1ksim.h': int or1ksim_read_mem (unsigned
long int ADDR, unsigned char *BUF, int LEN)
 
-- `or1ksim.h': int or1ksim_read_mem (unsigned long int ADDR, unsigned
char *BUF, int LEN)
Read LEN bytes from ADDR, placing the result in BUF. Return LEN
on success and 0 on failure.
 
679,9 → 679,8
Note: This function was added in Or1ksim 0.5.0.
 
 
-- `or1ksim.h': int or1ksim_write_mem (unsigned
long int ADDR, const unsigned char *BUF, int LEN)
 
-- `or1ksim.h': int or1ksim_write_mem (unsigned long int ADDR, const
unsigned char *BUF, int LEN)
Write LEN bytes to ADDR, taking the data from BUF. Return LEN on
success and 0 on failure.
 
688,9 → 687,8
Note: This function was added in Or1ksim 0.5.0.
 
 
-- `or1ksim.h': int or1ksim_read_spr (int SPRNUM, unsigned
long int *SPRVAL_PTR)
 
-- `or1ksim.h': int or1ksim_read_spr (int SPRNUM, unsigned long int
*SPRVAL_PTR)
Read the SPR specified by SPRNUM, placing the result in
SPRVAL_PTR. Return non-zero on success and 0 on failure.
 
697,9 → 695,8
Note: This function was added in Or1ksim 0.5.0.
 
 
-- `or1ksim.h': int or1ksim_write_spr (int SPRNUM, unsigned
long int SPRVA)
 
-- `or1ksim.h': int or1ksim_write_spr (int SPRNUM, unsigned long int
SPRVA)
Write SPRVAL to the SPR specified by SPRNUM. Return non-zero on
success and 0 on failure.
 
706,9 → 703,8
Note: This function was added in Or1ksim 0.5.0.
 
 
-- `or1ksim.h': int or1ksim_read_reg (int REGNUM, unsigned
long int *REGVAL_PTR)
 
-- `or1ksim.h': int or1ksim_read_reg (int REGNUM, unsigned long int
*REGVAL_PTR)
Read the general purpose register specified by REGNUM, placing the
result in REGVAL_PTR. Return non-zero on success and 0 on failure.
 
715,9 → 711,8
Note: This function was added in Or1ksim 0.5.0.
 
 
-- `or1ksim.h': int or1ksim_write_reg (int REGNUM, unsigned
long int REGVA)
 
-- `or1ksim.h': int or1ksim_write_reg (int REGNUM, unsigned long int
REGVA)
Write REGVAL to the general purpose register specified by REGNUM.
Return non-zero on success and 0 on failure.
 
724,9 → 719,7
Note: This function was added in Or1ksim 0.5.0.
 
 
-- `or1ksim.h': void or1ksim_set_stall_state (int
STATE)
 
-- `or1ksim.h': void or1ksim_set_stall_state (int STATE)
Set the processor's state according to STATE (1 = stalled, 0 = not
stalled).
 
1549,23 → 1542,29
If 1 (true, the default), the programmable interrupt controller is
edge triggered. If 0 (false), it is level triggered.
 
Note: When configured to be edge triggered, interrupts must
be cleared in the PICSR by the processor writing a '0' to the
appropriate bit.
The library interface (*note Simulator Library: Simulator Library.)
provides different functions for setting the different types of
interrupt, and a function to clear level sensitive interrupts. Edge
sensitive interrupts must be cleared by clearing the corresponding
bit in the PICSR SPR.
 
When configured to be level triggered, the interrupt must be
cleared by lowering the peripheral's IRQ line. Writing '0' to
the PICSR has no effect.
Internal functions to set and clear interrupts are also provided
for peripherals implemented within Or1ksim. *Note Interrupts
Internal: Interrupts Internal for more details.
 
Peripherals can call the function `report_interrupt' to
signal an interrupt request. When configured for level
triggered interrupts, the function `clear_interrupt' will
clear the appropriate bit in the PICSR. `clear_interrupt' has
no effect when Or1ksim is configured for edge triggered
interrupts - interrupts must be cleared by the processor
writing '0' to the appropriate bit in the PICSR in this case.
`use_nmi = 0|1'
If 1 (true, the default), interrupt lines 0 and 1 are
non-maskable. In other words the least significant 2 bits of the
PICMR SPR are hard-wired to 1. If 0 (false), all interrupt lines
are treated as equivalent.
 
Note: These are not non-maskable in the true sense that they
will pre-empt other interrupts. Rather they can never be
masked out using the PICMR register. It is up the interrupt
exception handler to give these interrupt lines priority, and
indeed to decide on the priority order in general.
 
 

File: or1ksim.info, Node: Power Management Configuration, Next: Branch Prediction Configuration, Prev: Interrupt Configuration, Up: Core OpenRISC Configuration
 
2975,7 → 2974,31
that function will be called with the data stucture pointer as
argument.
 
_Interrupts_
An internal peripheral can model the effect of an interrupt being
asserted by calling `report_interrupt'. This is used for both edge
and level sensitive interrupts.
 
The effect is to set the corresponding bit in the PICSR SPR and to
queue an interrupt exception to take place after the current
instruction completes execution.
 
Externally, the different interrupts require different mechanisms
for clearing. Level sensitive interrupts should be cleared by
deasserting the interrupt line, edge sensitive interrupts by
clearing the corresponding bit in the PICSR SPR.
 
Internally this amounts to the same thing (clearing the PICSPR
bit), so a single function is provided, `clear_interrupt'. Note
however that when level sensitive interrupts are configured, PICSR
is read only, and can only be cleared by calling
`clear_interrupt'. Using the two functions provided will ensure
the peripheral works correctly whichever type of interrupt is used.
 
Note: Until an interrupt is cleared, all subsequent
interrupts are ignored with a warning.
 
 

File: or1ksim.info, Node: Internal Debugging, Next: Regression Testing, Prev: Concepts, Up: Code Internals
 
3697,6 → 3720,7
* channel (UART configuration): UART Configuration. (line 29)
* clear breakpoint (Interactive CLI): Interactive Command Line.
(line 57)
* clear_interrupt: Concepts. (line 20)
* clkcycle (simulator configuration): Simulator Behavior. (line 115)
* cm (Interactive CLI): Interactive Command Line.
(line 54)
3986,6 → 4010,7
* internal debugging: Internal Debugging. (line 6)
* interrupt controller configuration: Interrupt Configuration.
(line 6)
* interrupts: Concepts. (line 20)
* irq (ATA/ATAPI configuration): Disc Interface Configuration.
(line 36)
* irq (DMA configuration): DMA Configuration. (line 34)
4011,7 → 4036,7
(line 156)
* log_enabled (verification API configuration): Verification API Configuration.
(line 28)
* long: Simulator Library. (line 95)
* long: Simulator Library. (line 94)
* make file for tests: Regression Testing. (line 27)
* mc (memory configuration): Memory Configuration.
(line 133)
4056,6 → 4081,7
* mprofile (Interactive CLI): Interactive Command Line.
(line 173)
* mprofile (simulator configuration): Simulator Behavior. (line 29)
* mtspr: Concepts. (line 20)
* mwdma (ATA/ATAPI device configuration): Disc Interface Configuration.
(line 132)
* name (generic peripheral configuration): Generic Peripheral Configuration.
4069,25 → 4095,25
* nways (cache configuration): Cache Configuration. (line 22)
* nways (MMU configuration): Memory Management Configuration.
(line 22)
* or1ksim_get_time_period: Simulator Library. (line 85)
* or1ksim_init: Simulator Library. (line 15)
* or1ksim_interrupt: Simulator Library. (line 100)
* or1ksim_interrupt_clear: Simulator Library. (line 118)
* or1ksim_interrupt_set: Simulator Library. (line 109)
* or1ksim_is_le: Simulator Library. (line 90)
* or1ksim_jtag_reset: Simulator Library. (line 127)
* or1ksim_jtag_shift_dr: Simulator Library. (line 149)
* or1ksim_jtag_shift_ir: Simulator Library. (line 135)
* or1ksim_read_mem: Simulator Library. (line 163)
* or1ksim_read_reg: Simulator Library. (line 199)
* or1ksim_get_time_period: Simulator Library. (line 84)
* or1ksim_init: Simulator Library. (line 19)
* or1ksim_interrupt: Simulator Library. (line 99)
* or1ksim_interrupt_clear: Simulator Library. (line 121)
* or1ksim_interrupt_set: Simulator Library. (line 110)
* or1ksim_is_le: Simulator Library. (line 89)
* or1ksim_jtag_reset: Simulator Library. (line 130)
* or1ksim_jtag_shift_dr: Simulator Library. (line 152)
* or1ksim_jtag_shift_ir: Simulator Library. (line 139)
* or1ksim_read_mem: Simulator Library. (line 165)
* or1ksim_read_reg: Simulator Library. (line 197)
* or1ksim_read_spr: Simulator Library. (line 181)
* or1ksim_reset_duration: Simulator Library. (line 70)
* or1ksim_run: Simulator Library. (line 59)
* or1ksim_set_stall_state: Simulator Library. (line 217)
* or1ksim_set_time_point: Simulator Library. (line 81)
* or1ksim_write_mem: Simulator Library. (line 172)
* or1ksim_write_reg: Simulator Library. (line 208)
* or1ksim_write_spr: Simulator Library. (line 190)
* or1ksim_reset_duration: Simulator Library. (line 69)
* or1ksim_run: Simulator Library. (line 58)
* or1ksim_set_stall_state: Simulator Library. (line 212)
* or1ksim_set_time_point: Simulator Library. (line 80)
* or1ksim_write_mem: Simulator Library. (line 173)
* or1ksim_write_reg: Simulator Library. (line 205)
* or1ksim_write_spr: Simulator Library. (line 189)
* output rediretion: Concepts. (line 7)
* overflow flag setting by instructions: Configuring the Build.
(line 133)
4197,6 → 4223,7
(line 52)
* Remote Serial Protocol, --srv: Standalone Simulator.
(line 60)
* report_interrupt: Concepts. (line 20)
* reset (Interactive CLI): Interactive Command Line.
(line 63)
* reset hooks: Concepts. (line 13)
4391,6 → 4418,8
* unstall the processor (Interactive CLI): Interactive Command Line.
(line 78)
* upr (CPU configuration): CPU Configuration. (line 21)
* use_nmi (interrupt controller): Interrupt Configuration.
(line 30)
* ustates (cache configuration): Cache Configuration. (line 33)
* ustates (MMU configuration): Memory Management Configuration.
(line 41)
4426,55 → 4455,56
 

Tag Table:
Node: Top830
Node: Installation1240
Node: Preparation1487
Node: Configuring the Build1782
Node: Build and Install7926
Node: Known Issues8704
Node: Usage9759
Node: Standalone Simulator9973
Node: Profiling Utility14537
Node: Memory Profiling Utility15447
Node: Simulator Library16812
Node: Configuration26895
Node: Configuration File Format27507
Node: Configuration File Preprocessing27892
Node: Configuration File Syntax28189
Node: Simulator Configuration30974
Node: Simulator Behavior31265
Node: Verification API Configuration35846
Node: CUC Configuration37786
Node: Core OpenRISC Configuration39778
Node: CPU Configuration40280
Node: Memory Configuration44399
Node: Memory Management Configuration51121
Node: Cache Configuration53498
Node: Interrupt Configuration55884
Node: Power Management Configuration57446
Node: Branch Prediction Configuration58723
Node: Debug Interface Configuration60083
Node: Peripheral Configuration62426
Node: Memory Controller Configuration63052
Node: UART Configuration66832
Node: DMA Configuration70351
Node: Ethernet Configuration72218
Node: GPIO Configuration76300
Node: Display Interface Configuration77933
Node: Frame Buffer Configuration80242
Node: Keyboard Configuration82106
Node: Disc Interface Configuration84344
Node: Generic Peripheral Configuration89448
Node: Interactive Command Line91743
Node: Verification API98717
Node: Code Internals103147
Node: Coding Conventions103730
Node: Global Data Structures108157
Node: Concepts110814
Ref: Output Redirection110959
Node: Internal Debugging111498
Node: Regression Testing112022
Node: GNU Free Documentation License115811
Node: Index138218
Node: Top814
Node: Installation1224
Node: Preparation1471
Node: Configuring the Build1766
Node: Build and Install7910
Node: Known Issues8688
Node: Usage9743
Node: Standalone Simulator9957
Node: Profiling Utility14521
Node: Memory Profiling Utility15431
Node: Simulator Library16796
Node: Configuration27201
Node: Configuration File Format27813
Node: Configuration File Preprocessing28198
Node: Configuration File Syntax28495
Node: Simulator Configuration31280
Node: Simulator Behavior31571
Node: Verification API Configuration36152
Node: CUC Configuration38092
Node: Core OpenRISC Configuration40084
Node: CPU Configuration40586
Node: Memory Configuration44705
Node: Memory Management Configuration51427
Node: Cache Configuration53804
Node: Interrupt Configuration56190
Node: Power Management Configuration58023
Node: Branch Prediction Configuration59300
Node: Debug Interface Configuration60660
Node: Peripheral Configuration63003
Node: Memory Controller Configuration63629
Node: UART Configuration67409
Node: DMA Configuration70928
Node: Ethernet Configuration72795
Node: GPIO Configuration76877
Node: Display Interface Configuration78510
Node: Frame Buffer Configuration80819
Node: Keyboard Configuration82683
Node: Disc Interface Configuration84921
Node: Generic Peripheral Configuration90025
Node: Interactive Command Line92320
Node: Verification API99294
Node: Code Internals103724
Node: Coding Conventions104307
Node: Global Data Structures108734
Node: Concepts111391
Ref: Output Redirection111536
Ref: Interrupts Internal112074
Node: Internal Debugging113227
Node: Regression Testing113751
Node: GNU Free Documentation License117540
Node: Index139947

End Tag Table
/trunk/or1ksim/doc/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/doc/or1ksim.texi
647,12 → 647,15
The header file @file{or1ksim.h} contains appropriate declarations of
the functions exported by the @value{OR1KSIM} library. These are:
 
@deftypefn {@file{or1ksim.h}} int or1ksim_init (int @var{argc}, char *@var{argv}, void *@var{class_ptr},
int (*@var{upr})(void *@var{class_ptr}, unsigned long int @var{addr},
unsigned char @var{mask}[], unsigned char @var{rdata}[], int
@var{data_len}), int (*@var{upw})(void *@var{class_ptr}, unsigned long
int @var{addr}, unsigned char @var{mask}[], unsigned char @var{wdata}[],
int @var{data_len}))
@deftypefn {@file{or1ksim.h}} int or1ksim_init (int @var{argc}, @
char *@var{argv}, void *@var{class_ptr}, @
int (*@var{upr})(void *@var{class_ptr}, @
unsigned long int @var{addr}, unsigned char @var{mask}[], @
unsigned char @var{rdata}[], int @var{data_len}), @
int (*@var{upw})(void *@var{class_ptr}, @
unsigned long int @var{addr}, @
unsigned char @var{mask}[], unsigned char @var{wdata}[], @
int @var{data_len}))
 
The initialization function is supplied with a vector of arguments,
which are interpreted as arguments to the standalone version (see
753,21 → 756,25
 
@deftypefn {@file{or1ksim.h}} void or1ksim_interrupt (int @var{i})
 
Generate an edge-triggered interrupt on interrupt line @var{i}. The interrupt
is then immediately cleared automatically. A warning will be generated and the
interrupt request ignored if level sensitive interrupts have been configured
with the programmable interrupt controller (@pxref{Interrupt Configuration, ,
Interrupt Configuration}).
Generate an edge-triggered interrupt on interrupt line @var{i}. The
interrupt must be cleared separately by clearing the corresponding bit
in the PICSR SPR. Until the interrupt is cleared, any further
interrupts on the same line will be ignored with a warning. A warning
will be generated and the interrupt request ignored if level sensitive
interrupts have been configured with the programmable interrupt
controller (@pxref{Interrupt Configuration, , Interrupt Configuration}).
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} void or1ksim_interrupt_set (int @var{i})
 
Assert a level-triggered interrupt on interrupt line @var{i}. The interrupt
must be cleared separately by an explicit call to
@code{or1ksim_interrupt_clear}. A warning will be generated, and the interrupt
request ignored if edge sensitive interrupts have been configured with the
programmable interrupt controller (@pxref{Interrupt Configuration, , Interrupt
Assert a level-triggered interrupt on interrupt line @var{i}. The
interrupt must be cleared separately by an explicit call to
@code{or1ksim_interrupt_clear}. Until the interrupt is cleared, any
further setting of interrupts on the same line will be ignored with a
warning. A warning will be generated, and the interrupt request ignored
if edge sensitive interrupts have been configured with the programmable
interrupt controller (@pxref{Interrupt Configuration, , Interrupt
Configuration}).
 
@end deftypefn
791,8 → 798,8
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} double or1ksim_jtag_shift_ir (unsigned
char *@var{jreg}, int @var{num_bits})
@deftypefn {@file{or1ksim.h}} double or1ksim_jtag_shift_ir @
(unsigned char *@var{jreg}, int @var{num_bits})
 
Shift the supplied register through the JTAG instruction register.
Return the (model) time taken for this action. The register is supplied
806,8 → 813,8
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} double or1ksim_jtag_shift_dr (unsigned
char *@var{jreg}, int @var{num_bits})
@deftypefn {@file{or1ksim.h}} double or1ksim_jtag_shift_dr @
(unsigned char *@var{jreg}, int @var{num_bits})
 
Shift the supplied register through the JTAG data register. Return the
(model) time taken for this action. The register is supplied as a byte
821,8 → 828,9
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} int or1ksim_read_mem (unsigned
long int @var{addr}, unsigned char *@var{buf}, int @var{len})
@deftypefn {@file{or1ksim.h}} int or1ksim_read_mem @
(unsigned long int @var{addr}, unsigned char *@var{buf}, @
int @var{len})
 
Read @var{len} bytes from @var{addr}, placing the result in @var{buf}.
Return @var{len} on success and 0 on failure.
833,8 → 841,9
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} int or1ksim_write_mem (unsigned
long int @var{addr}, const unsigned char *@var{buf}, int @var{len})
@deftypefn {@file{or1ksim.h}} int or1ksim_write_mem @
(unsigned long int @var{addr}, const unsigned char *@var{buf}, @
int @var{len})
 
Write @var{len} bytes to @var{addr}, taking the data from @var{buf}.
Return @var{len} on success and 0 on failure.
845,8 → 854,8
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} int or1ksim_read_spr (int @var{sprnum}, unsigned
long int *@var{sprval_ptr})
@deftypefn {@file{or1ksim.h}} int or1ksim_read_spr (int @var{sprnum}, @
unsigned long int *@var{sprval_ptr})
 
Read the SPR specified by @var{sprnum}, placing the result in
@var{sprval_ptr}. Return non-zero on success and 0 on failure.
857,8 → 866,8
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} int or1ksim_write_spr (int @var{sprnum}, unsigned
long int @var{sprva})
@deftypefn {@file{or1ksim.h}} int or1ksim_write_spr (int @var{sprnum}, @
unsigned long int @var{sprva})
 
Write @var{sprval} to the SPR specified by @var{sprnum}. Return
non-zero on success and 0 on failure.
869,8 → 878,8
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} int or1ksim_read_reg (int @var{regnum}, unsigned
long int *@var{regval_ptr})
@deftypefn {@file{or1ksim.h}} int or1ksim_read_reg (int @var{regnum}, @
unsigned long int *@var{regval_ptr})
 
Read the general purpose register specified by @var{regnum}, placing the
result in @var{regval_ptr}. Return non-zero on success and 0 on
882,8 → 891,8
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} int or1ksim_write_reg (int @var{regnum}, unsigned
long int @var{regva})
@deftypefn {@file{or1ksim.h}} int or1ksim_write_reg (int @var{regnum}, @
unsigned long int @var{regva})
 
Write @var{regval} to the general purpose register specified by
@var{regnum}. Return non-zero on success and 0 on failure.
894,8 → 903,7
 
@end deftypefn
 
@deftypefn {@file{or1ksim.h}} void or1ksim_set_stall_state (int
@var{state})
@deftypefn {@file{or1ksim.h}} void or1ksim_set_stall_state (int @var{state})
 
Set the processor's state according to @var{state} (1 = stalled, 0 = not
stalled).
1893,15 → 1901,30
If 1 (true, the default), the programmable interrupt controller is
edge triggered. If 0 (false), it is level triggered.
 
@quotation Note
When configured to be edge triggered, interrupts must be cleared in the PICSR by the processor writing a '0' to the appropriate bit.
The library interface (@pxref{Simulator Library, , Simulator Library})
provides different functions for setting the different types of
interrupt, and a function to clear level sensitive interrupts. Edge
sensitive interrupts must be cleared by clearing the corresponding bit
in the PICSR SPR.
 
When configured to be level triggered, the interrupt must be cleared by lowering the peripheral's IRQ line. Writing '0' to the PICSR has no effect.
Internal functions to set and clear interrupts are also provided for
peripherals implemented within Or1ksim. @xref{Interrupts Internal, ,
Interrupts Internal} for more details.
 
Peripherals can call the function @code{report_interrupt} to signal an interrupt request. When configured for level triggered interrupts, the function @code{clear_interrupt} will clear the appropriate bit in the PICSR. @code{clear_interrupt} has no effect when @value{OR1KSIM} is configured for edge triggered interrupts - interrupts must be cleared by the processor writing '0' to the appropriate bit in the PICSR in this case.
@item use_nmi = 0|1
@cindex @code{use_nmi} (interrupt controller)
If 1 (true, the default), interrupt lines 0 and 1 are non-maskable. In
other words the least significant 2 bits of the PICMR SPR are hard-wired
to 1. If 0 (false), all interrupt lines are treated as equivalent.
 
@quotation Note
These are not non-maskable in the true sense that they will pre-empt
other interrupts. Rather they can never be masked out using the PICMR
register. It is up the interrupt exception handler to give these
interrupt lines priority, and indeed to decide on the priority order in
general.
@end quotation
 
 
@end table
 
@node Power Management Configuration
3658,6 → 3681,37
function and pointer to a data structure as arguments. On reset that
function will be called with the data stucture pointer as argument.
 
@anchor{Interrupts Internal}
@item Interrupts
@cindex interrupts
@findex report_interrupt
@findex clear_interrupt
@findex mtspr
An internal peripheral can model the effect of an interrupt being
asserted by calling @code{report_interrupt}. This is used for both edge
and level sensitive interrupts.
 
The effect is to set the corresponding bit in the PICSR SPR and to queue
an interrupt exception to take place after the current instruction
completes execution.
 
Externally, the different interrupts require different mechanisms for
clearing. Level sensitive interrupts should be cleared by deasserting
the interrupt line, edge sensitive interrupts by clearing the
corresponding bit in the PICSR SPR.
 
Internally this amounts to the same thing (clearing the PICSPR bit), so
a single function is provided, @code{clear_interrupt}. Note however that
when level sensitive interrupts are configured, PICSR is read only, and
can only be cleared by calling @code{clear_interrupt}. Using the two
functions provided will ensure the peripheral works correctly whichever
type of interrupt is used.
 
@quotation Note
Until an interrupt is cleared, all subsequent interrupts are ignored
with a warning.
@end quotation
 
@end table
 
@node Internal Debugging
/trunk/or1ksim/doc/version.texi
1,4 → 1,4
@set UPDATED 22 November 2010
@set UPDATED 25 November 2010
@set UPDATED-MONTH November 2010
@set EDITION 2010-11-11
@set VERSION 2010-11-11
@set EDITION 2010-11-25
@set VERSION 2010-11-25
/trunk/or1ksim/cuc/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/pic/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/pic/pic.c
45,49 → 45,91
#include "sched.h"
 
 
/* FIXME: This ugly hack will be removed once the bus architecture gets written
*/
struct pic pic_state_int = { 1, 1 };
/* -------------------------------------------------------------------------- */
/* Reset the PIC.
 
struct pic *pic_state = &pic_state_int;
 
/* Reset. It initializes PIC registers. */
Sets registers to consistent values. */
/* -------------------------------------------------------------------------- */
void
pic_reset (void)
{
PRINTFQ ("Resetting PIC.\n");
cpu_state.sprs[SPR_PICMR] = 0;
cpu_state.sprs[SPR_PICPR] = 0;
cpu_state.sprs[SPR_PICSR] = 0;
}
cpu_state.sprs[SPR_PICMR] = config.pic.use_nmi ? 0x00000003 : 0x00000000;
cpu_state.sprs[SPR_PICSR] = 0x00000000;
 
/* Handles the reporting of an interrupt if it had to be delayed */
} /* pic_reset () */
 
 
/* -------------------------------------------------------------------------- */
/* Handle the reporting of an interrupt
 
PIC interrupts are scheduled to take place after the current instruction
has completed execution.
 
@param[in] dat Data associated with the exception (not used) */
/* -------------------------------------------------------------------------- */
static void
pic_rep_int (void *dat)
{
/* printf ("Handling interrupt PICSR: 0x%08x\n", cpu_state.sprs[SPR_PICSR]);
*/
 
if (cpu_state.sprs[SPR_PICSR])
{
except_handle (EXCEPT_INT, cpu_state.sprs[SPR_EEAR_BASE]);
}
}
} /* pic_rep_int () */
 
/* Called whenever interrupts get enabled */
 
/* -------------------------------------------------------------------------- */
/* Enable interrupts.
 
Called whenever interrupts get enabled, or when PICMR is written.
 
@todo Not sure if calling whenever PICMR is written is a good
idea. However, so long as interrupts are properly cleared, it should
not be a problem. */
/* -------------------------------------------------------------------------- */
void
pic_ints_en (void)
{
if ((cpu_state.sprs[SPR_PICMR] & cpu_state.sprs[SPR_PICSR]))
SCHED_ADD (pic_rep_int, NULL, 0);
}
{
SCHED_ADD (pic_rep_int, NULL, 0);
}
} /* pic_ints_en () */
 
/* Asserts interrupt to the PIC. */
/* WARNING: If this is called during a simulated instruction (ie. from a read/
* write mem callback), the interrupt will be delivered after the instruction
* has finished executeing */
 
/* -------------------------------------------------------------------------- */
/*!Assert an interrupt to the PIC
 
OpenRISC supports both edge and level triggered interrupt. The only
difference is how the interrupt is cleared. For edge triggered, it is by
clearing the corresponding bit in PICSR. For level triggered it is by
deasserting the interrupt line.
 
For integrated peripherals, these amount to the same thing (using
clear_interrupt ()). For external peripherals, the library provides two
distinct interfaces.
 
An interrupt disables any power management activity.
 
We warn if an interrupt is received on a line that already has an interrupt
pending.
 
@note If this is called during a simulated instruction (ie. from a read/
write mem callback), the interrupt will be delivered after the
instruction has finished executing.
 
@param[in] line The interrupt being asserted. */
/* -------------------------------------------------------------------------- */
void
report_interrupt (int line)
{
uint32_t lmask = 1 << line;
 
/* printf ("Interrupt reported on line %d\n", line); */
 
/* Disable doze and sleep mode */
cpu_state.sprs[SPR_PMR] &= ~(SPR_PMR_DME | SPR_PMR_SME);
 
99,31 → 141,47
return;
}
 
/* We can't take another interrupt if the previous one has not been
cleared. */
if (cpu_state.sprs[SPR_PICSR] & lmask)
{
/* Interrupt already signaled and pending */
fprintf (stderr, "Warning: Int line %d did not change state\n", line);
PRINTF ("Warning: Int on line %d pending: ignored\n", line);
return;
}
cpu_state.sprs[SPR_PICSR] |= lmask;
 
if ((cpu_state.sprs[SPR_PICMR] & lmask) || line < 2)
if (cpu_state.sprs[SPR_SR] & SPR_SR_IEE)
/* If we are enabled in the mask, and interrupts are globally enabled in the
SR, schedule the interrupt to take place after the next instruction. */
if ((cpu_state.sprs[SPR_PICMR] & lmask) &&
(cpu_state.sprs[SPR_SR] & SPR_SR_IEE))
{
/* printf ("Scheduling interrupt on line %d\n", line); */
SCHED_ADD (pic_rep_int, NULL, 0);
}
}
} /* report_interrupt () */
 
/* Clears an int on a pic line */
 
/* -------------------------------------------------------------------------- */
/* Clear an interrupt on a PIC line.
 
Logically this is different for a level sensitive interrupt (it lowers the
input line) and an edge sensitive interrupt (it clears the PICSR bit).
 
However within Or1ksim, these are implemented through the same operation -
clearing the bit in PICSR.
 
@param[in] line The interrupt being cleared. */
/* -------------------------------------------------------------------------- */
void
clear_interrupt (int line)
{
/* When level triggered, clear corresponding bit in PICSR */
if (!config.pic.edge_trigger)
{
cpu_state.sprs[SPR_PICSR] &= ~(1 << line);
}
}
cpu_state.sprs[SPR_PICSR] &= ~(1 << line);
 
} /* clear_interrupt */
 
 
/*----------------------------------------------------[ PIC configuration ]---*/
 
 
169,6 → 227,21
 
 
/*---------------------------------------------------------------------------*/
/*!Enable or disable non-maskable interrupts
 
@param[in] val The value to use
@param[in] dat The config data structure (not used here) */
/*---------------------------------------------------------------------------*/
static void
pic_use_nmi (union param_val val,
void *dat)
{
config.pic.use_nmi = val.int_val;
 
} /* pic_use_nmi() */
 
 
/*---------------------------------------------------------------------------*/
/*!Initialize a new interrupt controller configuration
 
ALL parameters are set explicitly to default values in init_defconfig() */
180,5 → 253,6
 
reg_config_param (sec, "enabled", PARAMT_INT, pic_enabled);
reg_config_param (sec, "edge_trigger", PARAMT_INT, pic_edge_trigger);
reg_config_param (sec, "use_nmi", PARAMT_INT, pic_use_nmi);
 
} /* reg_pic_sec() */
/trunk/or1ksim/NEWS
11,6 → 11,10
New option --trace provides a one line dump of instruction executed and any
register or memory location changed after each instruction.
 
A new configuration option "use_nmi" is added to the programmable interrupt
controller (PIC). This causes interrupt lines 0 and 1 to be non-maskable, but
only in the sense that the corresponding bits in PICMR are hard-wired to 1.
 
New config setting for memory initialization "exitnops" fills memory with
"l.nop 1", which will cause the simulator to exit. Good for tracking pointer
corruption.
/trunk/or1ksim/pm/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/ChangeLog
1,19 → 1,52
2010-11-25 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* configure: Regenerated.
* configure.ac: Updated version.
* cpu/or1k/sprs.c (mtspr): Setting PICMR considers NMI usage.
* doc/or1ksim.texi <Interrupt Configuration>: Documented the PIC
use_nmi config.
* libtoplevel.c (or1ksim_interrupt): Does not clear interrupts
immediately.
* NEWS: Updated regarding PIC configuration.
* pic/pic.c (pic_reset): Reference to PICPR
removed. Initialization considers NMI use.
(report_interrupt): NMI now handled through PICMR, rather than
directly in the code.
(pic_use_nmi): Created.
(pic_reg_sec): Added "use_nmi" option.
* sim-config.c (init_defconfig): config.pic.use_nmi initialized.
* sim-config.h <config.pic>: New entry use_nmi added.
 
2010-11-24 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* configure: Regenerated.
* configure.ac: Updated version.
* doc/or1ksim.texi: More clarification of interrupt behavior when
edge or level triggered.
* pic/pic.c (report_interrupt): Improved warning when interrupt is
reported while previous one is pending.
(clear_interrupt): Now works for both level and edge triggered
interrupts.
 
2010-11-22 Julius Baxter <julius@opencores.org>
 
* cpu/common/execute.h <cpu_state>: removed pic_lines variable.
* cpu/or1k/sprs.c: Added comment clarifying PICSR behavior.
* pic/pic.c: Removed use of pic_lines variable, added commenting
* pic/pic.c: Removed use of pic_lines variable, added commenting
clarifying behavior.
<clear_interrupt>: only clear PICSR when level triggered.
* doc/or1ksim.texi (Interrupt Configuration): Added clarification of
* doc/or1ksim.texi (Interrupt Configuration): Added clarification of
interrupt behavior when edge or level triggered.
 
2010-11-22 Julius Baxter <julius@opencores.org>
 
* peripheral/eth.c (eth_miim_trans): comment out debug printf()s
* cpu/or32/generate.c (generate_body): Add except_handle call to all
* cpu/or32/generate.c (generate_body): Add except_handle call to all
generated illegal instruction cases.
 
2010-11-19 Julius Baxter <julius@opencores.org>
* peripheral/eth.c: Added new variable phy_addr to device struct and
 
* peripheral/eth.c: Added new variable phy_addr to device struct and
ability to set it in config script section. <eth_miim_trans>: function
to emulate MIIM transactions, mainly PHYID regs at the moment.
* peripheral/eth.h: Added MIIM bus defines.
/trunk/or1ksim/testsuite/libsim.tests/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/libsim.tests/int-edge.exp
27,104 → 27,146
# Run the library edge triggered interrupts in a number of ways.
 
# Sequence of independent interrupts
run_libsim "int-edge simple 1" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 3" \
"PICSR 0x00000008 -> 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-edge" "int-edge.cfg" \
"int-logger/int-logger-edge" "2" "2" "3"
run_libsim "int-edge simple 1" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 3" \
"PICSR = 0x00000008" \
"Clearing interrupt 3" \
"Cleared PICSR is 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest" "int-edge.cfg" \
"int-logger/int-logger" "-e" "2" "2" "3"
 
run_libsim "int-edge simple 2" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 7" \
"PICSR 0x00000080 -> 0x00000000" \
"Triggering interrupt 17" \
"PICSR 0x00020000 -> 0x00000000" \
"Triggering interrupt 31" \
"PICSR 0x80000000 -> 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-edge" "int-edge.cfg" \
"int-logger/int-logger-edge" "2" "7" "17" "31"
run_libsim "int-edge simple 2" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 7" \
"PICSR = 0x00000080" \
"Clearing interrupt 7" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 17" \
"PICSR = 0x00020000" \
"Clearing interrupt 17" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 31" \
"PICSR = 0x80000000" \
"Clearing interrupt 31" \
"Cleared PICSR is 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest" "int-edge.cfg" \
"int-logger/int-logger" "-e" "2" "7" "17" "31"
 
# Duplicated interrupts
run_libsim "int-edge duplicated 1" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 4" \
"PICSR 0x00000010 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-edge" "int-edge.cfg" \
"int-logger/int-logger-edge" "2" "2" "4" "2"
run_libsim "int-edge duplicated 1" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 4" \
"PICSR = 0x00000010" \
"Clearing interrupt 4" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest" "int-edge.cfg" \
"int-logger/int-logger" "-e" "2" "2" "4" "2"
 
run_libsim "int-edge duplicated 2" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Triggering interrupt 2" \
"PICSR 0x00000004 -> 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-edge" "int-edge.cfg" \
"int-logger/int-logger-edge" "2" "2" "2" "2" "2" "2" "2" "2" "2"
run_libsim "int-edge duplicated 2" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 2" \
"PICSR = 0x00000004" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest" "int-edge.cfg" \
"int-logger/int-logger" "-e" "2" "2" "2" "2" "2" "2" "2" "2" "2"
 
# All from upcalls
run_libsim "int-edge all upcall" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 7" \
"PICSR 0x00000080 -> 0x00000000" \
"Triggering interrupt 17" \
"PICSR 0x00020000 -> 0x00000000" \
"Triggering interrupt 31" \
"PICSR 0x80000000 -> 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-edge" "int-edge.cfg" \
"int-logger/int-logger-edge" "20" "7" "17" "31"
run_libsim "int-edge all upcall" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 20" \
"PICSR = 0x00100000" \
"Clearing interrupt 2" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 7" \
"PICSR = 0x00000080" \
"Clearing interrupt 7" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 17" \
"PICSR = 0x00020000" \
"Clearing interrupt 17" \
"Cleared PICSR is 0x00000000" \
"Triggering interrupt 31" \
"PICSR = 0x80000000" \
"Clearing interrupt 31" \
"Cleared PICSR is 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest" "int-edge.cfg" \
"int-logger/int-logger" "-e" "20" "7" "17" "31"
 
# Check the boundaries of acceptable interrupt numbers
run_libsim "int-edge check boundaries" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Triggering interrupt 0" \
"PICSR 0x00000001 -> 0x00000000" \
"Triggering interrupt 1" \
"PICSR 0x00000002 -> 0x00000000" \
"Triggering interrupt 31" \
"PICSR 0x80000000 -> 0x00000000" \
"Warning: Invalid interrupt # 32 - ignored" \
"Triggering interrupt 31" \
"PICSR 0x80000000 -> 0x00000000" \
"Triggering interrupt 1" \
"PICSR 0x00000002 -> 0x00000000" \
"Triggering interrupt 0" \
"PICSR 0x00000001 -> 0x00000000" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-edge" "int-edge.cfg" \
"int-logger/int-logger-edge" "10" "0" "1" "31" "32" "31" "1" "0"
run_libsim "int-edge check boundaries" \
[list "Warning: Invalid interrupt # 0 to raise: Exiting."] \
"lib-inttest/lib-inttest" "int-edge.cfg" \
"int-logger/int-logger" "-e" "10" "0" "1" "31" "32" "31" "1" "0"
/trunk/or1ksim/testsuite/libsim.tests/int-level.exp
31,83 → 31,32
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Raising interrupt 1" \
"Triggering interrupt 1" \
"PICSR = 0x00000002" \
"Clearing interrupt 1" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-level" "int-level.cfg" \
"int-logger/int-logger-level" "+1" "-1"
"lib-inttest/lib-inttest" "int-level.cfg" \
"int-logger/int-logger" "-l" "1"
 
run_libsim "int-level simple 2" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Raising interrupt 7" \
"Triggering interrupt 7" \
"PICSR = 0x00000080" \
"Clearing interrupt 7" \
"Raising interrupt 17" \
"Triggering interrupt 17" \
"PICSR = 0x00020000" \
"Clearing interrupt 17" \
"Raising interrupt 31" \
"Triggering interrupt 31" \
"PICSR = 0x80000000" \
"Clearing interrupt 31" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-level" "int-level.cfg" \
"int-logger/int-logger-level" "+7" "-7" "+17" "-17" "+31" "-31"
"lib-inttest/lib-inttest" "int-level.cfg" \
"int-logger/int-logger" "-l" "7" "17" "31"
 
# Uncleared interrupt (this only matches the first two reports or PICSR, there
# are many)
run_libsim "int-level uncleared interrupt" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Raising interrupt 1" \
"PICSR = 0x00000002" \
"PICSR = 0x00000002" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-level" "int-level.cfg" \
"int-logger/int-logger-level" "+1"
 
# Clearing the wrong interrupt
run_libsim "int-level wrong clear" \
[list "Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Raising interrupt 31" \
"PICSR = 0x80000000" \
"Clearing interrupt 1" \
"PICSR = 0x80000000" \
"Clearing interrupt 31" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-level" "int-level.cfg" \
"int-logger/int-logger-level" "+31" "-1" "-31"
 
# Check the boundaries of acceptable interrupt numbers
run_libsim "int-level check boundaries" \
[list "Warning: Invalid interrupt # 32 to raise." \
"Warning: Invalid interrupt # 32 to clear." \
"Initalization succeeded." \
"Starting interrupt handler" \
"Enabling interrupts." \
"Raising interrupt 0" \
"PICSR = 0x00000001" \
"Clearing interrupt 0" \
"Raising interrupt 1" \
"PICSR = 0x00000002" \
"Clearing interrupt 1" \
"Raising interrupt 31" \
"PICSR = 0x80000000" \
"Clearing interrupt 31" \
"Raising interrupt 31" \
"PICSR = 0x80000000" \
"Clearing interrupt 31" \
"Raising interrupt 1" \
"PICSR = 0x00000002" \
"Clearing interrupt 1" \
"Raising interrupt 0" \
"PICSR = 0x00000001" \
"Clearing interrupt 0" \
"Test completed successfully."] \
"lib-inttest/lib-inttest-level" "int-level.cfg" \
"int-logger/int-logger-level" "+0" "-0" "+1" "-1" "+31" "-31" "+32" "-32" \
"+31" "-31" "+1" "-1" "+0" "-0"
[list "Warning: Invalid interrupt # 0 to raise: Exiting."] \
"lib-inttest/lib-inttest" "int-level.cfg" \
"int-logger/int-logger" "-l" "0" "1" "31" "32" "31" "1" "0"
/trunk/or1ksim/testsuite/test-code-or1k/eth/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/configure
1,13 → 1,15
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.64 for or1ksim-testsuite 2010-11-11.
# Generated by GNU Autoconf 2.65 for or1ksim-testsuite 2010-11-25.
#
# Report bugs to <openrisc@opencores.org>.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
# Foundation, Inc.
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
676,7 → 678,8
 
 
 
exec 7<&0 </dev/null 6>&1
test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1
 
# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
698,8 → 701,8
# Identity of this package.
PACKAGE_NAME='or1ksim-testsuite'
PACKAGE_TARNAME='or1ksim-testsuite'
PACKAGE_VERSION='2010-11-11'
PACKAGE_STRING='or1ksim-testsuite 2010-11-11'
PACKAGE_VERSION='2010-11-25'
PACKAGE_STRING='or1ksim-testsuite 2010-11-25'
PACKAGE_BUGREPORT='openrisc@opencores.org'
PACKAGE_URL=''
 
1421,7 → 1424,7
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures or1ksim-testsuite 2010-11-11 to adapt to many kinds of systems.
\`configure' configures or1ksim-testsuite 2010-11-25 to adapt to many kinds of systems.
 
Usage: $0 [OPTION]... [VAR=VALUE]...
 
1492,7 → 1495,7
 
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of or1ksim-testsuite 2010-11-11:";;
short | recursive ) echo "Configuration of or1ksim-testsuite 2010-11-25:";;
esac
cat <<\_ACEOF
 
1525,7 → 1528,7
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
CCAS assembler compiler command (defaults to CC)
1597,8 → 1600,8
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
or1ksim-testsuite configure 2010-11-11
generated by GNU Autoconf 2.64
or1ksim-testsuite configure 2010-11-25
generated by GNU Autoconf 2.65
 
Copyright (C) 2009 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
1645,7 → 1648,7
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_compile
 
1691,7 → 1694,7
# left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_link
 
1759,7 → 1762,7
ac_retval=1
fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_cpp
 
1801,7 → 1804,7
fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval
as_fn_set_status $ac_retval
 
} # ac_fn_c_try_run
 
2022,8 → 2025,8
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
 
It was created by or1ksim-testsuite $as_me 2010-11-11, which was
generated by GNU Autoconf 2.64. Invocation command line was
It was created by or1ksim-testsuite $as_me 2010-11-25, which was
generated by GNU Autoconf 2.65. Invocation command line was
 
$ $0 $@
 
2276,7 → 2279,7
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
2285,9 → 2288,9
done
 
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
2812,8 → 2815,8
... rest of stderr output deleted ...
10q' conftest.err >conftest.er1
cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
done
2820,12 → 2823,10
 
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
 
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
 
;
return 0;
2832,12 → 2833,12
}
_ACEOF
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out"
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition
# of exeext.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
# The possible output files:
2899,10 → 2900,10
else
ac_file=''
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then :
$as_echo "$as_me: failed program was:" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
 
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
2910,51 → 2911,18
{ as_fn_set_status 77
as_fn_error "C compiler cannot create executables
See \`config.log' for more details." "$LINENO" 5; }; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
$as_echo_n "checking for C compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext
 
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
$as_echo_n "checking whether the C compiler works... " >&6; }
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
 
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
 
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link"
2987,7 → 2955,7
as_fn_error "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." "$LINENO" 5; }
fi
rm -f conftest$ac_cv_exeext
rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; }
 
2994,6 → 2962,65
rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
 
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
 
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then :
3841,13 → 3868,13
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
(eval echo "\"\$as_me:3844: $ac_compile\"" >&5)
(eval echo "\"\$as_me:3871: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
(eval echo "\"\$as_me:3847: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval echo "\"\$as_me:3874: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
(eval echo "\"\$as_me:3850: output\"" >&5)
(eval echo "\"\$as_me:3877: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
5053,7 → 5080,7
;;
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 5056 "configure"' > conftest.$ac_ext
echo '#line 5083 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
6583,11 → 6610,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:6586: $lt_compile\"" >&5)
(eval echo "\"\$as_me:6613: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:6590: \$? = $ac_status" >&5
echo "$as_me:6617: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
6922,11 → 6949,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:6925: $lt_compile\"" >&5)
(eval echo "\"\$as_me:6952: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
echo "$as_me:6929: \$? = $ac_status" >&5
echo "$as_me:6956: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
7027,11 → 7054,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7030: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7057: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7034: \$? = $ac_status" >&5
echo "$as_me:7061: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
7082,11 → 7109,11
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:7085: $lt_compile\"" >&5)
(eval echo "\"\$as_me:7112: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
echo "$as_me:7089: \$? = $ac_status" >&5
echo "$as_me:7116: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
9465,7 → 9492,7
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 9468 "configure"
#line 9495 "configure"
#include "confdefs.h"
 
#if HAVE_DLFCN_H
9561,7 → 9588,7
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 9564 "configure"
#line 9591 "configure"
#include "confdefs.h"
 
#if HAVE_DLFCN_H
10102,6 → 10129,7
 
fi
 
test -d ./--version && rmdir ./--version
if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p"
else
10109,7 → 10137,6
# value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is
# removed, or if the value is a relative name.
test -d ./--version && rmdir ./--version
MKDIR_P="$ac_install_sh -d"
fi
fi
10288,7 → 10315,7
 
# Define the identity of the package.
PACKAGE='or1ksim-testsuite'
VERSION='2010-11-11'
VERSION='2010-11-25'
 
 
cat >>confdefs.h <<_ACEOF
11715,8 → 11742,8
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by or1ksim-testsuite $as_me 2010-11-11, which was
generated by GNU Autoconf 2.64. Invocation command line was
This file was extended by or1ksim-testsuite $as_me 2010-11-25, which was
generated by GNU Autoconf 2.65. Invocation command line was
 
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
11756,6 → 11783,7
 
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
11778,10 → 11806,11
 
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
or1ksim-testsuite config.status 2010-11-11
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
or1ksim-testsuite config.status 2010-11-25
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
 
Copyright (C) 2009 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
11819,6 → 11848,8
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
12299,7 → 12330,7
t delim
:nl
h
s/\(.\{148\}\).*/\1/
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
12313,7 → 12344,7
t nl
:delim
h
s/\(.\{148\}\).*/\1/
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
/trunk/or1ksim/testsuite/test-code-or1k/basic/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
370,7 → 370,7
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
395,7 → 395,7
fi; test -z "$$fail"
 
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
559,7 → 559,8
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
603,17 → 604,17
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
/trunk/or1ksim/testsuite/test-code-or1k/cbasic/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mc-common/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/except/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/tick/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/functest/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mem-test/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/ext/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/kbdtest/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mycompress/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/upcalls/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/cache/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/configure.ac
24,7 → 24,7
# directory. This uses a different tool chain, so has its own configuration
# script. Process this file with autoconf to produce a configure script.
 
AC_INIT([or1ksim-testsuite], [2010-11-11], [openrisc@opencores.org])
AC_INIT([or1ksim-testsuite], [2010-11-25], [openrisc@opencores.org])
AC_CONFIG_MACRO_DIR([m4])
 
AC_PROG_LIBTOOL
/trunk/or1ksim/testsuite/test-code-or1k/testfloat/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/fp/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
trunk/or1ksim/testsuite/test-code-or1k/int-logger/int-logger-level.c Property changes : Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -Id \ No newline at end of property Index: trunk/or1ksim/testsuite/test-code-or1k/int-logger/int-logger-edge.c =================================================================== --- trunk/or1ksim/testsuite/test-code-or1k/int-logger/int-logger-edge.c (revision 431) +++ trunk/or1ksim/testsuite/test-code-or1k/int-logger/int-logger-edge.c (nonexistent) @@ -1,132 +0,0 @@ -/* int-logger-edge.c. Test of Or1ksim handling of edge triggered interrupts - - Copyright (C) 2010 Embecosm Limited - - Contributors various OpenCores participants - Contributor Jeremy Bennett - - This file is part of OpenRISC 1000 Architectural Simulator. - - 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 3 of the License, or (at your option) - any later version. - - This program 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 this program. If not, see . */ - -/* ---------------------------------------------------------------------------- - This code is commented throughout for use with Doxygen. - --------------------------------------------------------------------------*/ - -#include "support.h" -#include "spr-defs.h" -#include "board.h" - - -/* --------------------------------------------------------------------------*/ -/*!Write a memory mapped register - - @param[in] addr Memory mapped address - @param[in] value Value to set */ -/* --------------------------------------------------------------------------*/ -static void -setreg (unsigned long addr, - unsigned char value) -{ - *((volatile unsigned char *) addr) = value; - -} /* setreg () */ - - -/* --------------------------------------------------------------------------*/ -/*!Read a memory mapped register - - @param[in] addr Memory mapped address - - @return Value read */ -/* --------------------------------------------------------------------------*/ -unsigned long -getreg (unsigned long addr) -{ - return *((volatile unsigned char *) addr); - -} /* getreg () */ - - -/* --------------------------------------------------------------------------*/ -/*!Generic interrupt handler - - This should receive the interrupt exception. Report the value in PICSR, - then clear the interrupt and reporting it again */ -/* --------------------------------------------------------------------------*/ -static void -interrupt_handler () -{ - unsigned long int old_picsr = mfspr (SPR_PICSR); - mtspr (SPR_PICSR, 0); - unsigned long int new_picsr = mfspr (SPR_PICSR); - - printf ("PICSR 0x%08lx -> 0x%08lx\n", old_picsr, new_picsr); - -} /* interrupt_handler () */ - - -/* --------------------------------------------------------------------------*/ -/*!Main program to set up interrupt handler - - We make a series of upcalls, after 500 us and then every 1000us, which - prompt some interrupts. By doing this, our upcalls should always be well - clear of any calling function interrupt generation, which is on millisecond - boundaries. - - @return The return code from the program (always zero). */ -/* --------------------------------------------------------------------------*/ -int -main () -{ - printf ("Starting interrupt handler\n"); - excpt_int = (unsigned long)interrupt_handler; - - /* Enable interrupts */ - printf ("Enabling interrupts.\n"); - mtspr (SPR_SR, mfspr(SPR_SR) | SPR_SR_IEE); - mtspr (SPR_PICMR, 0xffffffff); - - /* Loop forever, upcalling at the desired intervals. */ - unsigned long int start = read_timer (); - - while (1) - { - static int do_read_p = 1; - static long int end_time = 500; - - while ((read_timer () - start) < end_time) - { - } - - /* Do our memory mapped upcall, alternating reads and writes. */ - if (do_read_p) - { - (void)getreg (GENERIC_BASE); - do_read_p = 0; - } - else - { - setreg (GENERIC_BASE, 0); - do_read_p = 1; - } - - /* Wait 1000us before next upcall. */ - end_time += 1000; - } - - /* We don't actually ever return */ - return 0; - -} /* main () */
trunk/or1ksim/testsuite/test-code-or1k/int-logger/int-logger-edge.c Property changes : Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -Id \ No newline at end of property Index: trunk/or1ksim/testsuite/test-code-or1k/int-logger/Makefile.in =================================================================== --- trunk/or1ksim/testsuite/test-code-or1k/int-logger/Makefile.in (revision 431) +++ trunk/or1ksim/testsuite/test-code-or1k/int-logger/Makefile.in (revision 432) @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -58,7 +58,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -check_PROGRAMS = int-logger-edge$(EXEEXT) int-logger-level$(EXEEXT) +check_PROGRAMS = int-logger$(EXEEXT) subdir = int-logger DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -72,20 +72,12 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -am_int_logger_edge_OBJECTS = int-logger-edge.$(OBJEXT) -int_logger_edge_OBJECTS = $(am_int_logger_edge_OBJECTS) -int_logger_edge_DEPENDENCIES = ../except/except.lo \ - ../support/libsupport.la -int_logger_edge_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ +am_int_logger_OBJECTS = int-logger.$(OBJEXT) +int_logger_OBJECTS = $(am_int_logger_OBJECTS) +int_logger_DEPENDENCIES = ../except/except.lo ../support/libsupport.la +int_logger_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(int_logger_edge_LDFLAGS) $(LDFLAGS) -o $@ -am_int_logger_level_OBJECTS = int-logger-level.$(OBJEXT) -int_logger_level_OBJECTS = $(am_int_logger_level_OBJECTS) -int_logger_level_DEPENDENCIES = ../except/except.lo \ - ../support/libsupport.la -int_logger_level_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(int_logger_level_LDFLAGS) $(LDFLAGS) -o $@ + $(int_logger_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/../../depcomp am__depfiles_maybe = depfiles @@ -99,8 +91,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(int_logger_edge_SOURCES) $(int_logger_level_SOURCES) -DIST_SOURCES = $(int_logger_edge_SOURCES) $(int_logger_level_SOURCES) +SOURCES = $(int_logger_SOURCES) +DIST_SOURCES = $(int_logger_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -219,16 +211,11 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -int_logger_edge_SOURCES = int-logger-edge.c -int_logger_edge_LDFLAGS = -T$(srcdir)/../default.ld -int_logger_edge_LDADD = ../except/except.lo \ - ../support/libsupport.la +int_logger_SOURCES = int-logger.c +int_logger_LDFLAGS = -T$(srcdir)/../default.ld +int_logger_LDADD = ../except/except.lo \ + ../support/libsupport.la -int_logger_level_SOURCES = int-logger-level.c -int_logger_level_LDFLAGS = -T$(srcdir)/../default.ld -int_logger_level_LDADD = ../except/except.lo \ - ../support/libsupport.la - all: all-am .SUFFIXES: @@ -272,12 +259,9 @@ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -int-logger-edge$(EXEEXT): $(int_logger_edge_OBJECTS) $(int_logger_edge_DEPENDENCIES) - @rm -f int-logger-edge$(EXEEXT) - $(int_logger_edge_LINK) $(int_logger_edge_OBJECTS) $(int_logger_edge_LDADD) $(LIBS) -int-logger-level$(EXEEXT): $(int_logger_level_OBJECTS) $(int_logger_level_DEPENDENCIES) - @rm -f int-logger-level$(EXEEXT) - $(int_logger_level_LINK) $(int_logger_level_OBJECTS) $(int_logger_level_LDADD) $(LIBS) +int-logger$(EXEEXT): $(int_logger_OBJECTS) $(int_logger_DEPENDENCIES) + @rm -f int-logger$(EXEEXT) + $(int_logger_LINK) $(int_logger_OBJECTS) $(int_logger_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -285,8 +269,7 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int-logger-edge.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int-logger-level.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/int-logger.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
/trunk/or1ksim/testsuite/test-code-or1k/int-logger/Makefile.am
24,21 → 24,12
# -----------------------------------------------------------------------------
 
 
# Test programs which report on interrupts received. One for edge triggered,
# one for level triggered.
check_PROGRAMS = int-logger-edge \
int-logger-level
# Test program which reports on interrupts received.
check_PROGRAMS = int-logger
 
int_logger_edge_SOURCES = int-logger-edge.c
int_logger_SOURCES = int-logger.c
 
int_logger_edge_LDFLAGS = -T$(srcdir)/../default.ld
int_logger_LDFLAGS = -T$(srcdir)/../default.ld
 
int_logger_edge_LDADD = ../except/except.lo \
../support/libsupport.la
 
int_logger_level_SOURCES = int-logger-level.c
 
int_logger_level_LDFLAGS = -T$(srcdir)/../default.ld
 
int_logger_level_LDADD = ../except/except.lo \
../support/libsupport.la
int_logger_LDADD = ../except/except.lo \
../support/libsupport.la
/trunk/or1ksim/testsuite/test-code-or1k/loop/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mc-dram/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mc-ssram/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/acv-uart/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/inst-set-test/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/fbtest/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/ChangeLog
1,3 → 1,20
2010-11-25 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* configure: Regenerated.
* configure.ac: Updated version.
* support/spr-defs.h: References to PICPR removed.
 
2010-11-24 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* configure: Regenerated.
* configure.ac: Updated version.
* int-logger/int-logger-edge.c: Deleted.
* int-logger/int-logger-level.c: Deleted.
* int-logger/int-logger.c: Created.
* int-logger/Makefile.am: Changed to create a single program,
int-logger.
* int-logger/Makefile.in: Regenerated.
 
2010-11-11 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* configure: Regenerated.
/trunk/or1ksim/testsuite/test-code-or1k/local-global/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mul/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mmu/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/cfg/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/dmatest/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/except-test/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/acv-gpio/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/dhry/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/uos/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/int-test/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/flag/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/exit/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mc-sync/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/mc-async/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/support/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code-or1k/support/spr-defs.h
153,7 → 153,6
 
/* PIC group */
#define SPR_PICMR (SPRGROUP_PIC + 0)
#define SPR_PICPR (SPRGROUP_PIC + 1)
#define SPR_PICSR (SPRGROUP_PIC + 2)
 
/* Tick Timer group */
569,12 → 568,6
#define SPR_PICMR_IUM 0xfffffffc /* Interrupt unmask */
 
/*
* Bit definitions for PICPR
*
*/
#define SPR_PICPR_IPRIO 0xfffffffc /* Interrupt priority */
 
/*
* Bit definitions for PICSR
*
*/
/trunk/or1ksim/testsuite/test-code-or1k/aclocal.m4
1,4 → 1,4
# generated automatically by aclocal 1.11 -*- Autoconf -*-
# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
 
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
13,8 → 13,8
 
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
[m4_warning([this file was generated for autoconf 2.64.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
[m4_warning([this file was generated for autoconf 2.65.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
34,7 → 34,7
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.11], [],
m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
 
50,7 → 50,7
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.11])dnl
[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
/trunk/or1ksim/testsuite/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
317,7 → 317,7
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
342,7 → 342,7
fi; test -z "$$fail"
 
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
/trunk/or1ksim/testsuite/config/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/lib/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/or1ksim.tests/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/ChangeLog
1,3 → 1,18
2010-11-25 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* libsim.tests/int-edge.exp: Updated for new interrupt interface.
* libsim.tests/int-level.exp: Updated for new interrupt interface.
* README: Updated to change number of interrupt tests in library.
 
2010-11-24 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* test-code/lib-inttest/Makefile.am: Updated to use lib-inttest.c
to build a single program.
* test-code/lib-inttest/Makefile.in: Regenerated.
* test-code/lib-inttest/lib-inttest.c: Created.
* test-code/lib-inttest/lib-inttest-edge.c: Deleted.
* test-code/lib-inttest/lib-inttest-level.c: Deleted.
 
2010-09-07 Jeremy Bennett <jeremy.bennett@embecosm.com>
 
* libsim.tests/int-edge.exp <int-edge simple 1>: Increase time
/trunk/or1ksim/testsuite/test-code/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
301,7 → 301,7
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
326,7 → 326,7
fi; test -z "$$fail"
 
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
/trunk/or1ksim/testsuite/test-code/lib-iftest/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code/lib-upcalls/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/testsuite/test-code/lib-jtag/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
trunk/or1ksim/testsuite/test-code/lib-inttest/lib-inttest-level.c Property changes : Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -Id \ No newline at end of property Index: trunk/or1ksim/testsuite/test-code/lib-inttest/lib-inttest-edge.c =================================================================== --- trunk/or1ksim/testsuite/test-code/lib-inttest/lib-inttest-edge.c (revision 431) +++ trunk/or1ksim/testsuite/test-code/lib-inttest/lib-inttest-edge.c (nonexistent) @@ -1,230 +0,0 @@ -/* lib-inttest-edge.c. Test of Or1ksim library edge triggered interrupt funcs. - - Copyright (C) 1999-2006 OpenCores - Copyright (C) 2010 Embecosm Limited - - Contributors various OpenCores participants - Contributor Jeremy Bennett - - This file is part of OpenRISC 1000 Architectural Simulator. - - 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 3 of the License, or (at your option) - any later version. - - This program 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 this program. If not, see . */ - -/* ---------------------------------------------------------------------------- - This code is commented throughout for use with Doxygen. - --------------------------------------------------------------------------*/ - -#include -#include - -#include "or1ksim.h" - - -/*! Number of interrupts in PIC */ -#define NUM_INTS 32 - -/*! Globally shared pointer to the interrupts */ -char **intv; - -/*! Number of interrupts to process */ -int intc; - - -/* --------------------------------------------------------------------------*/ -/*!Trigger the next interrupt - - Generate the next edge triggered interrupt. Put out a message if doing so, - and warn if the interrupt would be invalid. - - @return 1 (true) if an interrupt was triggered, 0 (false) otherwise. */ -/* --------------------------------------------------------------------------*/ -static int -do_next_int () -{ - static int next_int = 0; /* Next interrupt to process */ - - while (next_int < intc) - { - int inum = atoi (intv[next_int++]); - - if ((0 <= inum) && (inum < NUM_INTS)) - { - printf ("Triggering interrupt %d\n", inum); - or1ksim_interrupt (inum); - return 1; - } - else - { - printf ("Warning: Invalid interrupt # %d - ignored\n", inum); - } - } - - return 0; /* No more interrupts to trigger */ - -} /* do_next_int () */ - - -/* --------------------------------------------------------------------------*/ -/*!Read upcall - - Upcall from Or1ksim to read a word from an external peripheral. If called - this will trigger an interrupt. - - @param[in] class_ptr A handle pass back from the initalization. Intended - for C++ callers, not used here. - @param[in] addr Address to read from. Ignored here. - @param[in] mask Byte mask for the read. Ignored here. - @param[out] rdata Buffer for the data read. Ignored here. - @param[in] data_len Number of bytes in mask and rdata. - - @return Zero on success, non-zero on failure. Always zero here. */ -/* --------------------------------------------------------------------------*/ -static int -read_upcall (void *class_ptr, - unsigned long int addr, - unsigned char mask[], - unsigned char rdata[], - int data_len) -{ - do_next_int (); - - return 0; /* Success */ - -} /* read_upcall () */ - - -/* --------------------------------------------------------------------------*/ -/*!Write upcall - - Upcall from Or1ksim to write a word to an external peripheral. If called - this will trigger an interrupt. - - @param[in] class_ptr A handle pass back from the initalization. Intended - for C++ callers, not used here. - @param[in] addr Address to write to. Ignored here. - @param[in] mask Byte mask for the write. Ignored here. - @param[in] wdata The data to write. Ignored here. - @param[in] data_len Number of bytes in mask and rdata. - - @return Zero on success, non-zero on failure. Always zero here. */ -/* --------------------------------------------------------------------------*/ -static int -write_upcall (void *class_ptr, - unsigned long int addr, - unsigned char mask[], - unsigned char wdata[], - int data_len) -{ - do_next_int (); - - return 0; /* Success */ - -} /* write_upcall () */ - - -/* --------------------------------------------------------------------------*/ -/*!Main program - - Build an or1ksim program using the library which loads a program and config - from the command line, and then drives interrupts. Usage: - - lib-inttest-edge ... - - is run for repeated perios of , during which it - will make upcalls. Between each period and during each upcall an edge based - interrupt will be triggered, until all interrupts listed have been - triggered. - - @param[in] argc Number of elements in argv - @param[in] argv Vector of program name and arguments - - @return Return code for the program. */ -/* --------------------------------------------------------------------------*/ -int -main (int argc, - char *argv[]) -{ - /* Parse args */ - if (argc < 5) - { - fprintf (stderr, - "usage: lib-inttest-edge " - " ...\n"); - return 1; - } - - int duration_ms = atoi (argv[3]); - double duration = (double) duration_ms / 1.0e3; - - if (duration_ms <= 0) - { - fprintf (stderr, "ERROR. Duration must be positive number of ms\n"); - return 1; - } - - /* Dummy argv array to pass arguments to or1ksim_init. Varies depending on - whether an image file is specified. */ - int dummy_argc; - char *dummy_argv[5]; - - dummy_argv[0] = "libsim"; - dummy_argv[1] = "-q"; - dummy_argv[2] = "-f"; - dummy_argv[3] = argv[1]; - dummy_argv[4] = argv[2]; - - dummy_argc = 5; - - /* Initialize the program. Put the initialization message afterwards, or it - will get swamped by the Or1ksim header. */ - if (0 == or1ksim_init (dummy_argc, dummy_argv, NULL, &read_upcall, - &write_upcall)) - { - printf ("Initalization succeeded.\n"); - } - else - { - printf ("Initalization failed.\n"); - return 1; - } - - /* Do each interrupt in turn. Set up the shared pointer to the interrupts - and counter. */ - intv = &(argv[4]); - intc = argc - 4; - - do - { - /* Run the code */ - if (OR1KSIM_RC_OK != or1ksim_run (duration)) - { - printf ("ERROR: run failed\n"); - return 1; - } - } - while (do_next_int ()); - - /* One more run, to allow interrupt handler enough time to finish - processing. */ - if (OR1KSIM_RC_OK != or1ksim_run (duration)) - { - printf ("ERROR: run failed\n"); - return 1; - } - - /* All interrupts should have been handled. */ - printf ("Test completed successfully.\n"); - return 0; - -} /* main () */
trunk/or1ksim/testsuite/test-code/lib-inttest/lib-inttest-edge.c Property changes : Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:keywords ## -1 +0,0 ## -Id \ No newline at end of property Index: trunk/or1ksim/testsuite/test-code/lib-inttest/Makefile.in =================================================================== --- trunk/or1ksim/testsuite/test-code/lib-inttest/Makefile.in (revision 431) +++ trunk/or1ksim/testsuite/test-code/lib-inttest/Makefile.in (revision 432) @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11 from Makefile.am. +# Makefile.in generated by automake 1.11.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -59,7 +59,7 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -check_PROGRAMS = lib-inttest-edge$(EXEEXT) lib-inttest-level$(EXEEXT) +check_PROGRAMS = lib-inttest$(EXEEXT) subdir = testsuite/test-code/lib-inttest DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -73,12 +73,9 @@ CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = -am_lib_inttest_edge_OBJECTS = lib-inttest-edge.$(OBJEXT) -lib_inttest_edge_OBJECTS = $(am_lib_inttest_edge_OBJECTS) -lib_inttest_edge_DEPENDENCIES = $(top_builddir)/libsim.la -am_lib_inttest_level_OBJECTS = lib-inttest-level.$(OBJEXT) -lib_inttest_level_OBJECTS = $(am_lib_inttest_level_OBJECTS) -lib_inttest_level_DEPENDENCIES = $(top_builddir)/libsim.la +am_lib_inttest_OBJECTS = lib-inttest.$(OBJEXT) +lib_inttest_OBJECTS = $(am_lib_inttest_OBJECTS) +lib_inttest_DEPENDENCIES = $(top_builddir)/libsim.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -92,9 +89,8 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ -SOURCES = $(lib_inttest_edge_SOURCES) $(lib_inttest_level_SOURCES) -DIST_SOURCES = $(lib_inttest_edge_SOURCES) \ - $(lib_inttest_level_SOURCES) +SOURCES = $(lib_inttest_SOURCES) +DIST_SOURCES = $(lib_inttest_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -230,14 +226,8 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ - -# Edge based interrupt -lib_inttest_edge_SOURCES = lib-inttest-edge.c -lib_inttest_edge_LDADD = $(top_builddir)/libsim.la - -# Level based interrupt -lib_inttest_level_SOURCES = lib-inttest-level.c -lib_inttest_level_LDADD = $(top_builddir)/libsim.la +lib_inttest_SOURCES = lib-inttest.c +lib_inttest_LDADD = $(top_builddir)/libsim.la all: all-am .SUFFIXES: @@ -281,12 +271,9 @@ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -lib-inttest-edge$(EXEEXT): $(lib_inttest_edge_OBJECTS) $(lib_inttest_edge_DEPENDENCIES) - @rm -f lib-inttest-edge$(EXEEXT) - $(LINK) $(lib_inttest_edge_OBJECTS) $(lib_inttest_edge_LDADD) $(LIBS) -lib-inttest-level$(EXEEXT): $(lib_inttest_level_OBJECTS) $(lib_inttest_level_DEPENDENCIES) - @rm -f lib-inttest-level$(EXEEXT) - $(LINK) $(lib_inttest_level_OBJECTS) $(lib_inttest_level_LDADD) $(LIBS) +lib-inttest$(EXEEXT): $(lib_inttest_OBJECTS) $(lib_inttest_DEPENDENCIES) + @rm -f lib-inttest$(EXEEXT) + $(LINK) $(lib_inttest_OBJECTS) $(lib_inttest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -294,8 +281,7 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib-inttest-edge.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib-inttest-level.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib-inttest.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
/trunk/or1ksim/testsuite/test-code/lib-inttest/Makefile.am
24,17 → 24,8
# -----------------------------------------------------------------------------
 
 
# Test programs of the library interrupt driving functions. Two versions, one
# to drive edge based interrupts, one to drive level based interrupts.
check_PROGRAMS = lib-inttest-edge \
lib-inttest-level
# Test program of the library interrupt driving functions.
check_PROGRAMS = lib-inttest
 
# Edge based interrupt
lib_inttest_edge_SOURCES = lib-inttest-edge.c
 
lib_inttest_edge_LDADD = $(top_builddir)/libsim.la
 
# Level based interrupt
lib_inttest_level_SOURCES = lib-inttest-level.c
 
lib_inttest_level_LDADD = $(top_builddir)/libsim.la
lib_inttest_SOURCES = lib-inttest.c
lib_inttest_LDADD = $(top_builddir)/libsim.la
/trunk/or1ksim/testsuite/README
12,8 → 12,8
Tests are provided for the standalone simulator (or1ksim) and for the library
(libsim.a).
 
At the time of writing a total of 2,539 tests compile, run and pass. That
figure is broken down into 2,275 tests of the standalone simulator and 264
At the time of writing a total of 2,537 tests compile, run and pass. That
figure is broken down into 2,275 tests of the standalone simulator and 262
tests of the library
 
Configuration and make files are provided for further test programs. These
87,10 → 87,10
testfloat 40 tests of detailed floating point behavior
tick: 19 tests of the OR1K tick timer.
 
A total of 264 tests of the libsim library:
A total of 262 tests of the libsim library:
 
int-edge: 6 tests of edge triggered interrupts.
int-level: 5 tests of level triggered interrupts.
int-level: 3 tests of level triggered interrupts.
lib-iftest: 1 test of the basic library interface functions.
jtag-basic: 17 tests of JTAG reset and instruction selection
jtag-go-command-read: 60 tests of JTAG GO_COMMAND for reading
/trunk/or1ksim/peripheral/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
400,7 → 400,7
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
425,7 → 425,7
fi; test -z "$$fail"
 
$(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \
@fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
/trunk/or1ksim/peripheral/channels/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/mmu/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/vapi/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/bpb/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/sim-config.c
364,6 → 364,7
/* Programmable Interrupt Controller */
config.pic.enabled = 0;
config.pic.edge_trigger = 1;
config.pic.use_nmi = 1;
 
if (config.pic.enabled)
{
/trunk/or1ksim/support/Makefile.in
1,4 → 1,4
# Makefile.in generated by automake 1.11 from Makefile.am.
# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@
 
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
/trunk/or1ksim/aclocal.m4
1,4 → 1,4
# generated automatically by aclocal 1.11 -*- Autoconf -*-
# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
 
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
13,8 → 13,8
 
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
[m4_warning([this file was generated for autoconf 2.64.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
[m4_warning([this file was generated for autoconf 2.65.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
34,7 → 34,7
[am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.11], [],
m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
 
50,7 → 50,7
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.11])dnl
[AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])

powered by: WebSVN 2.1.0

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