aboutsummaryrefslogtreecommitdiff
path: root/target-sparc/exec.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-30 22:39:04 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-30 22:39:04 +0000
commitaf7bf89b1f525bb684f48ed0e847ad2d2d11c5e5 (patch)
treed82662323af4abbcc79a96d01940ddb39f89fe34 /target-sparc/exec.h
parent49be80301540be4445b2dc58d050a063988c85b4 (diff)
downloadqemu-af7bf89b1f525bb684f48ed0e847ad2d2d11c5e5.zip
qemu-af7bf89b1f525bb684f48ed0e847ad2d2d11c5e5.tar.gz
qemu-af7bf89b1f525bb684f48ed0e847ad2d2d11c5e5.tar.bz2
initial sparc64 support - sparc fixes (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1251 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/exec.h')
-rw-r--r--target-sparc/exec.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/target-sparc/exec.h b/target-sparc/exec.h
index f8edc17..1fa7d87 100644
--- a/target-sparc/exec.h
+++ b/target-sparc/exec.h
@@ -3,9 +3,15 @@
#include "dyngen-exec.h"
register struct CPUSPARCState *env asm(AREG0);
+#ifdef TARGET_SPARC64
+#define T0 (env->t0)
+#define T1 (env->t1)
+#define T2 (env->t2)
+#else
register uint32_t T0 asm(AREG1);
register uint32_t T1 asm(AREG2);
register uint32_t T2 asm(AREG3);
+#endif
#define FT0 (env->ft0)
#define FT1 (env->ft1)
#define FT2 (env->ft2)
@@ -32,17 +38,19 @@ void do_fsqrts(void);
void do_fsqrtd(void);
void do_fcmps(void);
void do_fcmpd(void);
-void do_ldd_kernel(uint32_t addr);
-void do_ldd_user(uint32_t addr);
-void do_ldd_raw(uint32_t addr);
+void do_ldd_kernel(target_ulong addr);
+void do_ldd_user(target_ulong addr);
+void do_ldd_raw(target_ulong addr);
void do_interrupt(int intno, int is_int, int error_code,
unsigned int next_eip, int is_hw);
void raise_exception_err(int exception_index, int error_code);
void raise_exception(int tt);
-void memcpy32(uint32_t *dst, const uint32_t *src);
-uint32_t mmu_probe(uint32_t address, int mmulev);
+void memcpy32(target_ulong *dst, const target_ulong *src);
+target_ulong mmu_probe(target_ulong address, int mmulev);
void dump_mmu(void);
void helper_debug();
+void do_wrpsr();
+void do_rdpsr();
/* XXX: move that to a generic header */
#if !defined(CONFIG_USER_ONLY)