Linux MIPS Architecture development
 help / color / mirror / Atom feed
From: Zhang Fuxin <fxzhang@ict.ac.cn>
To: "linux-mips@oss.sgi.com" <linux-mips@oss.sgi.com>
Subject: Re: Re: 8259 spurious interrupt (IRQ1,IRQ7,IRQ12..)
Date: Wed, 19 Sep 2001 16:37:35 +0800	[thread overview]
Message-ID: <200109190838.f8J8cIe21408@oss.sgi.com> (raw)

hi,Jun Sun,
在 2001-09-18 10:09:00 you wrote:
>Zhang Fuxin wrote:
>> 
>> hi,all
>>   I have finally been able to get a copy of sgi cvs code:).Now I have
>> changed my p6032 code to use new[time,pci,irq] code and it seems a
>> lot cleaner.But still problems.
>
>Cool.  Very glad to hear that.
Thank you for encourage:). I am new to mips and kernel programming,the code 
may still look very dirty for your eyes.But i will try my best.
>
>>   I keep seeing spurious interrupt when starting xwindows.And
>> sometimes without x. If the machine is doing heavy io(e.g.,unzip &
>> untar mozilla source) when I startx,it will probably enter an
>> endless loop of spurious interrupt or lead to unaligned instruction
>> access shortly after(with epc=0x1,ra=0x1) and die.
>>   I have seen spurious IRQ1,IRQ7 and IRQ12,and the endless loop case
>> is IRQ12--ps2 mouse interrupt.
>>   Can somebody give me a clue? What I know is that 8259 may generate
>> spurious IRQ7 & IRQ15. But how can the others happen,buggy hw?And
>> what may cause a kernel unaligned instruction access?
>
>Are you using arch/mips/i8259.c file?
Yes.
>
>One possibility is your irq dispatching code.  If it loops to deliver all
>pending interrupts, what you described may happen (assuming there is a real
>hardware connecting to those irq sources).
I have checked the p6032 manual.It says it has an intel FW82371AB("PIIX 4") 
south bridge chip,a National Semiconductor PC97307-ICE/VUL multi I/O 
controller which includes dual serial ports and rtc,PC mouse/keyb etc,connect 
to the PIIX 4.

 My irq dispatching code is very simple,it just read the IRR,count the first
irq number and call do_IRQ.
  /*
 * the first level int-handler will jump here if it is a 8259A irq
 */
asmlinkage void i8259A_irqdispatch(struct pt_regs *regs)
{
        int isr, irq;

        isr = inb(0x20);

        irq = ffz (~isr);

        if (irq == 2) {
                isr = inb(0xa0);
                irq = 8 + ffz(~isr);
        }

        do_IRQ(irq,regs);
}


 
>
>> 
>>   My hw is p6032 rev.B eval board with idtRC64474 cpu.
>> 
>>   BTW,is that current code has no support for different PCI & CPU
>> address space?In p6032 default setting,PCI memory address 0 is
>> CPU physical address 0x10000000,and main memory is 0-0x10000000
>> for CPU,but 0x80000000-0x90000000 for pci. So I have to change
>> ioremap,virt_to_bus & bus_to_virt. I think this problem should
>> exist in many nonpc hw,could you point me a clean way?
>> 
>
>For now, we do assume PCI memeory space is identical to physical address
>space.  To remove the restriction cleanly is not a small task.
>
>It is typically much easier to modify PCI device BARS so that they do coincide
>with the same physical address.   You can control that by using the correct
>starting address for PCI MEM space in pci_auto.c resource assignment.  
It seems a good way to solve the ioremap problem and X problem.But virt_to_bus
& bus_to_virt problem remains?

Thank you very much.

>
>Jun

Regards
            Zhang Fuxin
            fxzhang@ict.ac.cn

             reply	other threads:[~2001-09-19  8:38 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-09-19  8:37 Zhang Fuxin [this message]
2001-09-19 19:39 ` 8259 spurious interrupt (IRQ1,IRQ7,IRQ12..) Jun Sun
  -- strict thread matches above, loose matches on Subject: below --
2001-09-19 10:27 Phil Thompson
2001-09-19 16:41 ` Ralf Baechle
2001-09-20  1:52 Zhang Fuxin
2001-09-20  8:45 Phil Thompson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200109190838.f8J8cIe21408@oss.sgi.com \
    --to=fxzhang@ict.ac.cn \
    --cc=linux-mips@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox