Fix wrwim masking (Luis Pureza)
[qemu] / target-sparc / exec.h
index 6b49ca7..c6ff950 100644 (file)
@@ -1,17 +1,40 @@
 #ifndef EXEC_SPARC_H
 #define EXEC_SPARC_H 1
+#include "config.h"
 #include "dyngen-exec.h"
 
 register struct CPUSPARCState *env asm(AREG0);
-register uint32_t T0 asm(AREG1);
-register uint32_t T1 asm(AREG2);
-register uint32_t T2 asm(AREG3);
+
+#define FT0 (env->ft0)
+#define FT1 (env->ft1)
+#define DT0 (env->dt0)
+#define DT1 (env->dt1)
+#define QT0 (env->qt0)
+#define QT1 (env->qt1)
 
 #include "cpu.h"
 #include "exec-all.h"
 
-void cpu_lock(void);
-void cpu_unlock(void);
-void cpu_loop_exit(void);
-void helper_flush(target_ulong addr);
+static inline void env_to_regs(void)
+{
+}
+
+static inline void regs_to_env(void)
+{
+}
+
+int cpu_sparc_handle_mmu_fault(CPUState *env1, target_ulong address, int rw,
+                               int mmu_idx, int is_softmmu);
+void do_interrupt(CPUState *env);
+
+static inline int cpu_halted(CPUState *env1) {
+    if (!env1->halted)
+        return 0;
+    if ((env1->interrupt_request & CPU_INTERRUPT_HARD) && (env1->psret != 0)) {
+        env1->halted = 0;
+        return 0;
+    }
+    return EXCP_HALTED;
+}
+
 #endif