1/1

|
or1ksim minor issues
by Unknown on Oct 22, 2004 |
Not available! | ||
|
Attached is a patchfile that deals with a couple of
minor issues in or1ksim. I think they are associated with the recent "facelift" for "strict memory access statistics" They don't stop it working, it just complains when it shouldn't. There was a check for a non-aligned accesses for an 8-bit access. The check for the 16-bit access was checking both of the bottom 2 address bits, not just the lowest. (Obviously cut-and-paste issues.) Also an error message mentioning 16-bit access when it's a 32-bit access. regards Adrian -------------- next part -------------- Index: cpu/common/abstract.c =================================================================== --- cpu/common/abstract.c (revision 57) +++ cpu/common/abstract.c (working copy) @@ -343,7 +343,7 @@ *breakpoint += CheckDebugUnit(DebugLoadAddress,memaddr); /* 28/05/01 CZ */ temp = evalsim_mem32_void(memaddr); if (!cur_area) { - PRINTF("EXCEPTION: read out of memory (16-bit access to %.8lx)\n", memaddr); + PRINTF("EXCEPTION: read out of memory (32-bit access to %.8lx)\n", memaddr); except_handle(EXCEPT_BUSERR, cur_vadd); temp = 0; } @@ -517,7 +517,7 @@ { unsigned long temp; - if (memaddr & 3) { + if (memaddr & 1) { PRINTF("%s:%d %s(): ERR unaligned access\n", __FILE__, __LINE__, __FUNCTION__); return 0; } @@ -587,11 +587,6 @@ { unsigned char temp; - if (memaddr & 3) { - PRINTF("%s:%d %s(): ERR unaligned access\n", __FILE__, __LINE__, __FUNCTION__); - return 0; - } - cur_vadd = memaddr; if (through_mmu) |
|||
|
or1ksim minor issues
by Unknown on Oct 22, 2004 |
Not available! | ||
|
* Adrian Wise (adrian@adrianwise.co.uk) wrote:
Attached is a patchfile that deals with a couple of
minor issues in or1ksim. I think they are associated with the recent "facelift" for "strict memory access statistics" They don't stop it working, it just complains when it shouldn't. There was a check for a non-aligned accesses for an 8-bit access. The check for the 16-bit access was checking both of the bottom 2 address bits, not just the lowest. (Obviously cut-and-paste issues.) Also an error message mentioning 16-bit access when it's a 32-bit access. nice catch. applied with some additional corrections for set_direct16, 32... best regards, p. |
|||
1/1

