Re: cause IP zero on interrupt

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 2011-10-21 at 16:39 -0400, David Daney wrote:
> On 10/21/2011 01:18 PM, Noor wrote:
> > what does it mean if cause register IP bits are zero after
> > interrupt exception  has already been invoked ?
> >
> 
> It might mean that something was asserting a '1' on to those bits, but 
> quit doing so before you could read the cause register, or it could be 
> that you get random interrupt exceptions for no reason at all.
> 

In my case it was the following:

diff --git
a/arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
b/arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
index dedef7d..7500c55 100644
--- a/arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
+++ b/arch/mips/include/asm/mach-cavium-octeon/kernel-entry-init.h
@@ -63,6 +63,10 @@
        # CN30XX Disable instruction prefetching
        or  v0, v0, 0x2000
 skip:
+#ifdef CONFIG_ERICSSON_ASE
+       # Set CvmCtl[IPTI] to 7
+       ori     v0, v0, (7 << 4)
+#endif
        # First clear off CvmCtl[IPPCI] bit and move the performance
        # counters interrupt to IRQ 6
        li      v1, ~(7 << 7)

This should not be needed in the Linux code, but CvmCtl[IPTI] was set to
0 by ROMMON.

Guenter





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux