OpenCores
no use no use 1/1 no use no use
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.

no use no use 1/1 no use no use
© copyright 1999-2026 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.