[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-ppc
Subject:    Re: [freebsd-ppc] psim bug
From:       "David O'Brien" <obrien () FreeBSD ! ORG>
Date:       2002-09-30 15:48:39
[Download RAW message or body]

Can you make a GDB bug report?  If so I can work on getting psim fixed.
http://sources.redhat.com/gdb/bugs/

On Fri, Sep 20, 2002 at 07:11:40PM +0200, Joshua LeVasseur wrote:
> Has anyone noticed a problem with psim's external interrupt delivery?  
> psim refuses to raise an external interrupt (on behalf of my IPIs) if 
> the simulator has a pending decrementer interrupt.  The bug is in 
> interrupts.c:external_interrupt().  It uses a logical inversion where 
> it should perform a bitwise inversion:
> 
>     if (!ints->pending_interrupts & external_interrupt_pending) {
>       ints->pending_interrupts |= external_interrupt_pending;
>       if (cpu_registers(processor)->msr & msr_external_interrupt_enable)
>         schedule_hardware_interrupt_delivery(processor);
>     }
> 
> The if-clause is superfluous, so I removed it:
> 
>     ints->pending_interrupts |= external_interrupt_pending;
>     if (cpu_registers(processor)->msr & msr_external_interrupt_enable)
>       schedule_hardware_interrupt_delivery(processor);
> 
> Now external interrupt delivery functions as expected.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ppc" in the body of the message
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic