* interp.c (load_mem): If we get a load from an out of range

address, abort.
        (store_mem): Likewise for stores.
        (max_mem): New variable.
This commit is contained in:
Jeff Law 1997-05-16 22:37:02 +00:00
parent efc02f6657
commit 234a9a49cf
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,10 @@
Fri May 16 16:36:17 1997 Jeffrey A Law (law@cygnus.com)
* interp.c (load_mem): If we get a load from an out of range
address, abort.
(store_mem): Likewise for stores.
(max_mem): New variable.
Tue May 6 13:24:36 1997 Jeffrey A Law (law@cygnus.com)
* mn10300_sim.h: Fix ordering of bits in the PSW.

View File

@ -33,6 +33,7 @@ struct hash_entry
#endif
};
static int max_mem = 0;
struct hash_entry hash_table[MAX_HASH+1];
@ -241,6 +242,9 @@ load_mem_big (addr, len)
{
uint8 *p = addr + State.mem;
if (addr > max_mem)
abort ();
switch (len)
{
case 1:
@ -263,6 +267,9 @@ load_mem (addr, len)
{
uint8 *p = addr + State.mem;
if (addr > max_mem)
abort ();
switch (len)
{
case 1:
@ -286,6 +293,9 @@ store_mem (addr, len, data)
{
uint8 *p = addr + State.mem;
if (addr > max_mem)
abort ();
switch (len)
{
case 1:
@ -314,6 +324,7 @@ sim_size (power)
if (State.mem)
free (State.mem);
max_mem = 1 << power;
State.mem = (uint8 *) calloc (1, 1 << power);
if (!State.mem)
{