summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Gaisler <jiri@gaisler.se>2020-11-27 16:18:25 +0100
committerJiri Gaisler <jiri@gaisler.se>2020-11-27 16:18:25 +0100
commit416cfac77679c69ea79ecc207f72a4693186a6ca (patch)
tree74f5223bf03e48b406e8c24d35870d89349166a0
parentAdd networking support using host tap device (diff)
downloadsis-416cfac77679c69ea79ecc207f72a4693186a6ca.tar.bz2
Add %asr22/23 support to leon32.24
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--sparc.c25
-rw-r--r--version.texi8
4 files changed, 34 insertions, 21 deletions
diff --git a/configure b/configure
index 2a5c40b..f8c16f9 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for sis 2.23.
+# Generated by GNU Autoconf 2.69 for sis 2.24.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='sis'
PACKAGE_TARNAME='sis'
-PACKAGE_VERSION='2.23'
-PACKAGE_STRING='sis 2.23'
+PACKAGE_VERSION='2.24'
+PACKAGE_STRING='sis 2.24'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1283,7 +1283,7 @@ if test "$ac_init_help" = "long"; then
# 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 sis 2.23 to adapt to many kinds of systems.
+\`configure' configures sis 2.24 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1354,7 +1354,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of sis 2.23:";;
+ short | recursive ) echo "Configuration of sis 2.24:";;
esac
cat <<\_ACEOF
@@ -1444,7 +1444,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-sis configure 2.23
+sis configure 2.24
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1742,7 +1742,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by sis $as_me 2.23, which was
+It was created by sis $as_me 2.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2569,7 +2569,7 @@ fi
# Define the identity of the package.
PACKAGE='sis'
- VERSION='2.23'
+ VERSION='2.24'
cat >>confdefs.h <<_ACEOF
@@ -4911,7 +4911,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by sis $as_me 2.23, which was
+This file was extended by sis $as_me 2.24, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4977,7 +4977,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-sis config.status 2.23
+sis config.status 2.24
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 7ace20e..be4ca31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([sis], [2.23])
+AC_INIT([sis], [2.24])
AC_CONFIG_SRCDIR([sis.c])
AC_CONFIG_AUX_DIR([build-aux])
AC_CONFIG_HEADERS(config.h)
diff --git a/sparc.c b/sparc.c
index 82a9ed4..9f046ab 100644
--- a/sparc.c
+++ b/sparc.c
@@ -845,17 +845,27 @@ sparc_dispatch_instruction (sregs)
*rdd = sregs->psr;
break;
case RDY:
- *rdd = sregs->y;
if (cputype == CPU_LEON3)
{
- int rs1_is_asr = (sregs->inst >> 14) & 0x1f;
- if (0 == rs1_is_asr)
- *rdd = sregs->y;
- else if (17 == rs1_is_asr)
+ rs1 = (sregs->inst >> 14) & 0x1f;
+ switch (rs1)
{
+ case 0:
+ *rdd = sregs->y;
+ break;
+ case 17:
*rdd = sregs->asr17;
+ break;
+ case 22:
+ *rdd = (uint32) (sregs->simtime >> 32);
+ break;
+ case 23:
+ *rdd = (uint32) (sregs->simtime & 0xffffffff);
+ break;
}
}
+ else
+ *rdd = sregs->y;
break;
case RDWIM:
if (!(sregs->psr & PSR_S))
@@ -2058,8 +2068,11 @@ sparc_display_ctrl (struct pstate *sregs)
static void
sparc_display_special (struct pstate *sregs)
{
- printf ("\n cache ctrl : %08X\n asr17 : %08X\n\n",
+ printf ("\n cache ctrl : %08X\n asr17 : %08X",
sregs->cache_ctrl, sregs->asr17);
+ printf ("\n asr22 : %08X\n asr23 : %08X\n\n",
+ (uint32) (sregs->simtime >> 32),
+ (uint32) sregs->simtime & 0xffffffff);
}
static void
diff --git a/version.texi b/version.texi
index d00f73d..9074a5e 100644
--- a/version.texi
+++ b/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 25 October 2020
-@set UPDATED-MONTH October 2020
-@set EDITION 2.23
-@set VERSION 2.23
+@set UPDATED 9 November 2020
+@set UPDATED-MONTH November 2020
+@set EDITION 2.24
+@set VERSION 2.24