[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/10] target-alpha: Enable NPTL.
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 06/10] target-alpha: Enable NPTL. |
Date: |
Mon, 12 Apr 2010 16:17:22 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
configure | 1 +
linux-user/syscall.c | 2 +-
target-alpha/cpu.h | 29 ++++++++++++++++++-----------
3 files changed, 20 insertions(+), 12 deletions(-)
diff --git a/configure b/configure
index 966cd7d..7c60731 100755
--- a/configure
+++ b/configure
@@ -2433,6 +2433,7 @@ case "$target_arch2" in
;;
alpha)
target_phys_bits=64
+ target_nptl="yes"
;;
arm|armeb)
TARGET_ARCH=arm
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index a03e432..050a418 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5768,7 +5768,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
ret = get_errno(fsync(arg1));
break;
case TARGET_NR_clone:
-#if defined(TARGET_SH4)
+#if defined(TARGET_SH4) || defined(TARGET_ALPHA)
ret = get_errno(do_fork(cpu_env, arg1, arg2, arg3, arg5, arg4));
#elif defined(TARGET_CRIS)
ret = get_errno(do_fork(cpu_env, arg2, arg1, arg3, arg4, arg5));
diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h
index 8afe16d..c397930 100644
--- a/target-alpha/cpu.h
+++ b/target-alpha/cpu.h
@@ -411,15 +411,6 @@ static inline int cpu_mmu_index (CPUState *env)
return (env->ps >> 3) & 3;
}
-#if defined(CONFIG_USER_ONLY)
-static inline void cpu_clone_regs(CPUState *env, target_ulong newsp)
-{
- if (newsp)
- env->ir[30] = newsp;
- /* FIXME: Zero syscall return value. */
-}
-#endif
-
#include "cpu-all.h"
#include "exec-all.h"
@@ -477,7 +468,7 @@ enum {
IR_S4 = 13,
IR_S5 = 14,
IR_S6 = 15,
-#define IR_FP IR_S6
+ IR_FP = IR_S6,
IR_A0 = 16,
IR_A1 = 17,
IR_A2 = 18,
@@ -490,7 +481,7 @@ enum {
IR_T11 = 25,
IR_RA = 26,
IR_T12 = 27,
-#define IR_PV IR_T12
+ IR_PV = IR_T12,
IR_AT = 28,
IR_GP = 29,
IR_SP = 30,
@@ -531,4 +522,20 @@ static inline void cpu_get_tb_cpu_state(CPUState *env,
target_ulong *pc,
*flags = env->ps;
}
+#if defined(CONFIG_USER_ONLY)
+static inline void cpu_clone_regs(CPUState *env, target_ulong newsp)
+{
+ if (newsp) {
+ env->ir[IR_SP] = newsp;
+ }
+ env->ir[IR_V0] = 0;
+ env->ir[IR_A3] = 0;
+}
+
+static inline void cpu_set_tls(CPUState *env, target_ulong newtls)
+{
+ env->unique = newtls;
+}
+#endif
+
#endif /* !defined (__CPU_ALPHA_H__) */
--
1.6.2.5
- [Qemu-devel] [PATCH 13/13] target-alpha: Implement RPCC., (continued)
- [Qemu-devel] [PATCH 13/13] target-alpha: Implement RPCC., Richard Henderson, 2010/04/07
- [Qemu-devel] [PATCH 12/13] target-alpha: Fix load-locked/store-conditional., Richard Henderson, 2010/04/07
- [Qemu-devel] [PATCH 00/10] target-alpha improvments, version 5, Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 03/10] target-alpha: Implement cvtlq inline., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 05/10] target-alpha: Update commentary for opcode 0x1A., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 04/10] target-alpha: Emit goto_tb opcodes., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 08/10] target-alpha: Fix load-locked/store-conditional., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 07/10] target-alpha: Indicate NORETURN status when raising exception., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 01/10] target-alpha: Implement cpys{, n, e} inline., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 06/10] target-alpha: Enable NPTL.,
Richard Henderson <=
- [Qemu-devel] [PATCH 10/10] Implement cpu_get_real_ticks for Alpha., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 02/10] target-alpha: Implement rs/rc properly., Richard Henderson, 2010/04/12
- [Qemu-devel] [PATCH 09/10] target-alpha: Implement RPCC., Richard Henderson, 2010/04/12