This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: HAL_INTERRUPT_ACKNOWLEDGE on mips


"Andy Dyer" <adyer@righthandtech.com> writes:

> looking in hal/mips/arch/current/include/hal_intr.h
> I see the generic implementation of HAL_INTERRUPT_ACKNOWLEDGE
> for mips tries to write back into the Cause register
> (CP0 register $13), presumably to clear the IP[7:2]
> bits.
> 
> All of the books I have handy say that the only fields
> in that register that are writable are IP[1:0]
> (sometimes used to allow s/w to generate interrupts)
> and those aren't touched by this code.
> 
> Is there some variant where this isn't true or can this
> code be removed?

I suspect that this was the case in the TX39, the very first MIPS
target we supported. It has some non-standard features, including the
way it uses the IP bits in the status and cause registers.

In reality, not many targets actually use this set of macros since
they usually have a separate interrupt controller and redefine them.

Maybe it should be tidied up, the TX39 is obsolete and we no longer
have any way of running executables. However, its doing no real harm,
and just in case it is actually used by some other platform, it is
probably best left alone for now.

-- 
Nick Garnett                    eCos Kernel Architect
http://www.ecoscentric.com      The eCos and RedBoot experts


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]