summaryrefslogblamecommitdiffstats
path: root/target-sparc/exec.h
blob: c84e0558ae712ad6749cdfd6a07085225208f425 (plain) (tree)
1
2
3
4
5
6
7
8
9
10

                      
                   
                        

                                              
 


                     



                                       
                 
                                 
 


                                                            
                                        


 

                                              
                 
                             
                         




                       
      
#ifndef EXEC_SPARC_H
#define EXEC_SPARC_H 1
#include "config.h"
#include "dyngen-exec.h"

register struct CPUSPARCState *env asm(AREG0);

#include "cpu.h"
#include "exec-all.h"

#if !defined(CONFIG_USER_ONLY)
#include "softmmu_exec.h"
#endif /* !defined(CONFIG_USER_ONLY) */

/* op_helper.c */
void do_interrupt(CPUState *env);

static inline int cpu_has_work(CPUState *env1)
{
    return (env1->interrupt_request & CPU_INTERRUPT_HARD) &&
           cpu_interrupts_enabled(env1);
}


static inline int cpu_halted(CPUState *env1) {
    if (!env1->halted)
        return 0;
    if (cpu_has_work(env1)) {
        env1->halted = 0;
        return 0;
    }
    return EXCP_HALTED;
}

#endif