Revision e9df014c target-ppc/helper.c

b/target-ppc/helper.c
1358 1358
    env->exception_index = -1;
1359 1359
}
1360 1360

  
1361
int ppc_hw_interrupt (CPUState *env)
1361
void ppc_hw_interrupt (CPUState *env)
1362 1362
{
1363 1363
    env->exception_index = -1;
1364

  
1365
    return 0;
1366 1364
}
1367 1365
#else /* defined (CONFIG_USER_ONLY) */
1368 1366
static void dump_syscall(CPUState *env)
......
1927 1925
    env->exception_index = EXCP_NONE;
1928 1926
}
1929 1927

  
1930
int ppc_hw_interrupt (CPUState *env)
1928
void ppc_hw_interrupt (CPUPPCState *env)
1931 1929
{
1932 1930
    int raised = 0;
1933 1931

  
......
1940 1938
    /* Raise it */
1941 1939
    if (env->pending_interrupts & (1 << PPC_INTERRUPT_RESET)) {
1942 1940
        /* External reset / critical input */
1941
        /* XXX: critical input should be handled another way.
1942
         *      This code is not correct !
1943
         */
1943 1944
        env->exception_index = EXCP_RESET;
1944 1945
        env->pending_interrupts &= ~(1 << PPC_INTERRUPT_RESET);
1945 1946
        raised = 1;
......
1984 1985
        /* External interrupt */
1985 1986
        } else if (env->pending_interrupts & (1 << PPC_INTERRUPT_EXT)) {
1986 1987
            env->exception_index = EXCP_EXTERNAL;
1988
            /* Taking an external interrupt does not clear the external
1989
             * interrupt status
1990
             */
1991
#if 0
1987 1992
            env->pending_interrupts &= ~(1 << PPC_INTERRUPT_EXT);
1993
#endif
1988 1994
            raised = 1;
1989 1995
        }
1990 1996
#if 0 // TODO
......
1999 2005
        env->error_code = 0;
2000 2006
        do_interrupt(env);
2001 2007
    }
2002
    
2003
    return raised;
2004 2008
}
2005 2009
#endif /* !CONFIG_USER_ONLY */

Also available in: Unified diff