diff options
Diffstat (limited to 'sim/m68hc11')
-rw-r--r-- | sim/m68hc11/ChangeLog | 6 | ||||
-rw-r--r-- | sim/m68hc11/Makefile.in | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog index 21957ef..9c34d47 100644 --- a/sim/m68hc11/ChangeLog +++ b/sim/m68hc11/ChangeLog @@ -1,3 +1,9 @@ +2003-03-02 Stephane Carrez <stcarrez@nerim.fr> + + * Makefile.in (SIM_EXTRA_CFLAGS): Set WITH_TARGET_ADDRESS_BITSIZE + to 32 to support memory bank switching; temporarily use 32-bit for + WORD_BITSIZE to avoid a bug in sim-common. + 2003-03-01 Stephane Carrez <stcarrez@nerim.fr> * interp.c (sim_fetch_register): Only store a single byte for diff --git a/sim/m68hc11/Makefile.in b/sim/m68hc11/Makefile.in index a054a32..604c3a7 100644 --- a/sim/m68hc11/Makefile.in +++ b/sim/m68hc11/Makefile.in @@ -35,9 +35,15 @@ SIM_OBJS = $(M68HC11_OBJS) \ $(SIM_EXTRA_OBJS) SIM_PROFILE= -DPROFILE=1 -DWITH_PROFILE=-1 -SIM_EXTRA_CFLAGS = -DWITH_TARGET_WORD_BITSIZE=16 \ +# We must use 32-bit addresses to support memory bank switching. +# The WORD_BITSIZE is normally 16 but must be switched (temporarily) +# to 32 to avoid a bug in the sim-common which uses 'unsigned_word' +# instead of 'address_word' in some places (the result is a truncation +# of the 32-bit address to 16-bit; and this breaks the simulator). +SIM_EXTRA_CFLAGS = -DWITH_TARGET_WORD_BITSIZE=32 \ -DWITH_TARGET_CELL_BITSIZE=32 \ - -DWITH_TARGET_WORD_MSB=15 + -DWITH_TARGET_ADDRESS_BITSIZE=32 \ + -DWITH_TARGET_WORD_MSB=31 SIM_EXTRA_CLEAN = clean-extra SIM_EXTRA_OBJS = @m68hc11_extra_objs@ |