[ECOS] Re: NIOS2 kernel tests failing

Nick Garnett nickg@ecoscentric.com
Tue Jan 2 17:27:00 GMT 2007


 Grant Edwards <grante@visi.com> writes:

> There are no memory alignment or bus-error exceptions in the
> NIOS2 processor and misaligned accesses are forbidden.  The
> CPU's reference manual states that misaligned accesses result
> in "undefined operation".  Strict interpreation of that allows
> the CPU to do absolutely anything when a misaligned operation
> occurs.  My guess is that instruction execution continues
> normally with an undefined value in the destination register,
> but the spec is pretty clear that it's simply not allowed, and
> CPU can do absolutely anything if it does happen.

The usual thing that happens is that the CPU ignores the least
significant 1 or 2 bits of the address, so misaligned accesses are
converted to aligned accesses silently. This used to be the default
for ARM, but it now has an option to raise an alignment exception.

> The only hardware exceptions that can be caused by software
> are:
> 
>  trap
>  break
>  valid but unimplemented instruction

Sadly, it looks like you are out of luck. Disabling the hardware part
of these tests seems the only thing to do.

-- 
Nick Garnett                                     eCos Kernel Architect
http://www.ecoscentric.com                The eCos and RedBoot experts
http://www.ecoscentric.com/legal        Legal info, address and number


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list