This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] sim: always enable modulo memory


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=cdf850e9d953f765f600e1ecae61664eab5ae7f1

commit cdf850e9d953f765f600e1ecae61664eab5ae7f1
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Tue Nov 17 00:19:56 2015 -0800

    sim: always enable modulo memory
    
    Having this be a config option doesn't make sense: the code size is
    pretty much the same (as all the logic is still active), and if it's
    disabled, the sim throws an error if you try to use it.  That means
    we can't break sims that weren't using it before by enabling it all
    the time.

Diff:
---
 sim/bfin/ChangeLog      |  4 ++++
 sim/bfin/tconfig.h      |  4 ----
 sim/common/ChangeLog    |  8 ++++++++
 sim/common/sim-config.h |  4 ----
 sim/common/sim-core.c   | 24 +++---------------------
 sim/common/sim-core.h   |  7 +++----
 sim/m68hc11/ChangeLog   |  4 ++++
 sim/m68hc11/sim-main.h  |  1 -
 sim/mips/ChangeLog      |  4 ++++
 sim/mips/sim-main.h     |  1 -
 sim/v850/ChangeLog      |  4 ++++
 sim/v850/sim-main.h     |  1 -
 12 files changed, 30 insertions(+), 36 deletions(-)

diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 4445006..ac4b774 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-17  Mike Frysinger  <vapier@gentoo.org>
+
+	* tconfig.h (WITH_MODULO_MEMORY): Delete.
+
 2015-11-15  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (SIM_OBJS): Delete sim-reason.o, sim-reg.o, and
diff --git a/sim/bfin/tconfig.h b/sim/bfin/tconfig.h
index d28fd8d..a3e6f7b 100644
--- a/sim/bfin/tconfig.h
+++ b/sim/bfin/tconfig.h
@@ -9,7 +9,3 @@
 
 /* ??? Temporary hack until model support unified.  */
 #define SIM_HAVE_MODEL
-
-/* Allows us to do the memory aliasing that some bfroms have:
-   {0xef000000 - 0xef100000} => {0xef000000 - 0xef000800}  */
-#define WITH_MODULO_MEMORY 1
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index 7c0ef37..ddf4558 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,3 +1,11 @@
+2015-11-17  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-main.h (WITH_MODULO_MEMORY): Delete.
+	* sim-core.c (new_sim_core_mapping): Always assign mask to modulo-1.
+	(sim_core_attach): Delete WITH_MODULO_MEMORY == 0 logic.
+	(sim_core_translate): Likewise.
+	* sim-core.h: Delete mention of WITH_MODULO_MEMORY.
+
 2015-11-16  Mike Frysinger  <vapier@gentoo.org>
 
 	* sim-close.c (__cgen_cpu_close, _cgen_cpu_close): Delete.
diff --git a/sim/common/sim-config.h b/sim/common/sim-config.h
index f4fe076..d34ae88 100644
--- a/sim/common/sim-config.h
+++ b/sim/common/sim-config.h
@@ -398,10 +398,6 @@ extern char *simulator_sysroot;
 #define WITH_CALLBACK_MEMORY		1
 #endif
 
-#ifndef WITH_MODULO_MEMORY
-#define WITH_MODULO_MEMORY              0
-#endif
-
 
 
 /* Alignment:
diff --git a/sim/common/sim-core.c b/sim/common/sim-core.c
index 43e9076..724a036 100644
--- a/sim/common/sim-core.c
+++ b/sim/common/sim-core.c
@@ -157,10 +157,7 @@ new_sim_core_mapping (SIM_DESC sd,
   new_mapping->base = addr;
   new_mapping->nr_bytes = nr_bytes;
   new_mapping->bound = addr + (nr_bytes - 1);
-  if (modulo == 0)
-    new_mapping->mask = (unsigned) 0 - 1;
-  else
-    new_mapping->mask = modulo - 1;
+  new_mapping->mask = modulo - 1;
   new_mapping->buffer = buffer;
   new_mapping->free_buffer = free_buffer;
   new_mapping->device = device;
@@ -298,17 +295,6 @@ sim_core_attach (SIM_DESC sd,
   if (cpu != NULL)
     sim_io_error (sd, "sim_core_map_attach - processor specific memory map not yet supported");
 
-  /* verify modulo memory */
-  if (!WITH_MODULO_MEMORY && modulo != 0)
-    {
-#if (WITH_DEVICES)
-      device_error (client, "sim_core_attach - internal error - modulo memory disabled");
-#endif
-#if (WITH_HW)
-      sim_hw_abort (sd, client, "sim_core_attach - internal error - modulo memory disabled");
-#endif
-      sim_io_error (sd, "sim_core_attach - internal error - modulo memory disabled");
-    }
   if (client != NULL && modulo != 0)
     {
 #if (WITH_DEVICES)
@@ -497,12 +483,8 @@ STATIC_INLINE_SIM_CORE\
 sim_core_translate (sim_core_mapping *mapping,
 		    address_word addr)
 {
-  if (WITH_MODULO_MEMORY)
-    return (void *)((unsigned8 *) mapping->buffer
-		    + ((addr - mapping->base) & mapping->mask));
-  else
-    return (void *)((unsigned8 *) mapping->buffer
-		    + addr - mapping->base);
+  return (void *)((unsigned8 *) mapping->buffer
+		  + ((addr - mapping->base) & mapping->mask));
 }
 
 
diff --git a/sim/common/sim-core.h b/sim/common/sim-core.h
index 64d2508..a60e60a 100644
--- a/sim/common/sim-core.h
+++ b/sim/common/sim-core.h
@@ -119,10 +119,9 @@ extern SIM_RC sim_core_install (SIM_DESC sd);
    translated into ADDRESS_SPACE:OFFSET before being passed to the
    client device.
 
-   MODULO - when the simulator has been configured WITH_MODULO support
-   and is greater than zero, specifies that accesses to the region
-   [ADDR .. ADDR+NR_BYTES) should be mapped onto the sub region [ADDR
-   .. ADDR+MODULO).  The modulo value must be a power of two.
+   MODULO - Specifies that accesses to the region [ADDR .. ADDR+NR_BYTES)
+   should be mapped onto the sub region [ADDR .. ADDR+MODULO).  The modulo
+   value must be a power of two.
 
    DEVICE - When non NULL, indicates that this is a callback memory
    space and specified device's memory callback handler should be
diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog
index 1f8d0cf..8e2d1a5 100644
--- a/sim/m68hc11/ChangeLog
+++ b/sim/m68hc11/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-17  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-main.h (WITH_MODULO_MEMORY): Delete.
+
 2015-11-15  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.
diff --git a/sim/m68hc11/sim-main.h b/sim/m68hc11/sim-main.h
index d1fc582..be33b48 100644
--- a/sim/m68hc11/sim-main.h
+++ b/sim/m68hc11/sim-main.h
@@ -20,7 +20,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifndef _SIM_MAIN_H
 #define _SIM_MAIN_H
 
-#define WITH_MODULO_MEMORY 1
 #define WITH_WATCHPOINTS 1
 #define SIM_HANDLES_LMA 1
 
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 706b0fc..d37ab7a 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-17  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-main.h (WITH_MODULO_MEMORY): Delete.
+
 2015-11-15  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.
diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h
index adf60c7..bb64dcb 100644
--- a/sim/mips/sim-main.h
+++ b/sim/mips/sim-main.h
@@ -22,7 +22,6 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* hobble some common features for moment */
 #define WITH_WATCHPOINTS 1
-#define WITH_MODULO_MEMORY 1
 
 
 #define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog
index 6e94282..7efd9d1 100644
--- a/sim/v850/ChangeLog
+++ b/sim/v850/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-17  Mike Frysinger  <vapier@gentoo.org>
+
+	* sim-main.h (WITH_MODULO_MEMORY): Delete.
+
 2015-11-15  Mike Frysinger  <vapier@gentoo.org>
 
 	* Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.
diff --git a/sim/v850/sim-main.h b/sim/v850/sim-main.h
index 5127d28..0c041ba 100644
--- a/sim/v850/sim-main.h
+++ b/sim/v850/sim-main.h
@@ -4,7 +4,6 @@
 /* General config options */
 
 #define WITH_CORE
-#define WITH_MODULO_MEMORY 1
 #define WITH_WATCHPOINTS 1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]