diff options
author | Marek Vasut <marex@denx.de> | 2017-01-18 23:01:42 +0100 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2017-01-24 13:10:35 -0800 |
commit | a0a839b65b61a51934b9c2c197fa058c319cc94a (patch) | |
tree | 925ce4031c19b9e10cc8927c934a4e90a6f7dff6 /linux-user/nios2/target_cpu.h | |
parent | 3f0c3423093fe7a07af3806cc773bf7d71adf8c9 (diff) | |
download | qemu-a0a839b65b61a51934b9c2c197fa058c319cc94a.zip qemu-a0a839b65b61a51934b9c2c197fa058c319cc94a.tar.gz qemu-a0a839b65b61a51934b9c2c197fa058c319cc94a.tar.bz2 |
nios2: Add usermode binaries emulation
Add missing bits for qemu-user required for emulating Altera Nios2
userspace binaries.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chris Wulff <crwulff@gmail.com>
Cc: Jeff Da Silva <jdasilva@altera.com>
Cc: Ley Foon Tan <lftan@altera.com>
Cc: Sandra Loosemore <sandra@codesourcery.com>
Cc: Yves Vandervennet <yvanderv@altera.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Message-Id: <20170118220146.489-4-marex@denx.de>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'linux-user/nios2/target_cpu.h')
-rw-r--r-- | linux-user/nios2/target_cpu.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/linux-user/nios2/target_cpu.h b/linux-user/nios2/target_cpu.h new file mode 100644 index 0000000..20ab479 --- /dev/null +++ b/linux-user/nios2/target_cpu.h @@ -0,0 +1,39 @@ +/* + * Nios2 specific CPU ABI and functions for linux-user + * + * Copyright (c) 2016 Marek Vasut <marex@denx.de> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef TARGET_CPU_H +#define TARGET_CPU_H + +static inline void cpu_clone_regs(CPUNios2State *env, target_ulong newsp) +{ + if (newsp) { + env->regs[R_SP] = newsp; + } + env->regs[R_RET0] = 0; +} + +static inline void cpu_set_tls(CPUNios2State *env, target_ulong newtls) +{ + /* + * Linux kernel 3.10 does not pay any attention to CLONE_SETTLS + * in copy_thread(), so QEMU need not do so either. + */ +} + +#endif |