diff --git a/linux-user/main.c b/linux-user/main.c index 44af787d6610341ea5068e7e7d179301e13e31de..234a6dc6fc63d1672fdc3282fa3c33bcc501304b 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -1763,7 +1763,7 @@ void cpu_loop(CPUM68KState *env) env->dregs[3], env->dregs[4], env->dregs[5], - env->dregs[6]); + env->aregs[0]); } break; case EXCP_INTERRUPT: diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 72b80e3fbb07b39762ed23155ad6951835bdd115..a15c93567e19b26f155247bb35d32210cfde5ba7 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -4086,10 +4086,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, #endif #ifdef TARGET_NR_mmap2 case TARGET_NR_mmap2: -#if defined(TARGET_SPARC) || defined(TARGET_MIPS) +#ifndef MMAP_SHIFT #define MMAP_SHIFT 12 -#else -#define MMAP_SHIFT TARGET_PAGE_BITS #endif ret = get_errno(target_mmap(arg1, arg2, arg3, target_to_host_bitmask(arg4, mmap_flags_tbl), diff --git a/target-cris/cpu.h b/target-cris/cpu.h index 44d5ed7d614f83f0053cd82b9193019b1b28f5b8..ac042d5d2169f9a3fe1183db7c9a958b5186faf9 100644 --- a/target-cris/cpu.h +++ b/target-cris/cpu.h @@ -213,6 +213,7 @@ void register_cris_insns (CPUCRISState *env); /* CRIS uses 8k pages. */ #define TARGET_PAGE_BITS 13 +#define MMAP_SHIFT TARGET_PAGE_BITS #define CPUState CPUCRISState #define cpu_init cpu_cris_init