[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/4] linux-user: Add support for big-endian aarch64
From: |
Michael Weiser |
Subject: |
[Qemu-devel] [PATCH 1/4] linux-user: Add support for big-endian aarch64 |
Date: |
Tue, 19 Dec 2017 16:16:33 +0100 |
Enable big-endian mode for data accesses on aarch64 for big-endian linux
user mode. Activate it for all execution levels as documented by ARM:
Set the SCTLR EE bit for ELs 1 through 3. Additionally set bit E0E in
EL1 to enable it in EL0 as well.
Signed-off-by: Michael Weiser <address@hidden>
---
linux-user/main.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/linux-user/main.c b/linux-user/main.c
index 2fd2a143ed..7ea863260d 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -4611,6 +4611,12 @@ int main(int argc, char **argv, char **envp)
}
env->pc = regs->pc;
env->xregs[31] = regs->sp;
+#ifdef TARGET_WORDS_BIGENDIAN
+ env->cp15.sctlr_el[1] |= SCTLR_E0E;
+ for (i = 1; i < 4; ++i) {
+ env->cp15.sctlr_el[i] |= SCTLR_EE;
+ }
+#endif
}
#elif defined(TARGET_ARM)
{
--
2.15.1
- [Qemu-devel] [PATCH 0/4] Add aarch64_be-linux-user target, Michael Weiser, 2017/12/19
- [Qemu-devel] [PATCH 4/4] configure: Add aarch64_be-linux-user target, Michael Weiser, 2017/12/19
- [Qemu-devel] [PATCH 3/4] linux-user: Fix endianess of aarch64 signal trampoline, Michael Weiser, 2017/12/19
- [Qemu-devel] [PATCH 1/4] linux-user: Add support for big-endian aarch64,
Michael Weiser <=
- [Qemu-devel] [PATCH 2/4] linux-user: Add separate aarch64_be uname, Michael Weiser, 2017/12/19
- Re: [Qemu-devel] [PATCH 0/4] Add aarch64_be-linux-user target, Laurent Vivier, 2017/12/19
- Re: [Qemu-devel] [PATCH 0/4] Add aarch64_be-linux-user target, Richard Henderson, 2017/12/20
- Re: [Qemu-devel] [PATCH 0/4] Add aarch64_be-linux-user target, no-reply, 2017/12/20