[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/26] linux-user: Add support for big-endian aarch64
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PULL 01/26] linux-user: Add support for big-endian aarch64 |
Date: |
Thu, 11 Jan 2018 13:37:57 +0000 |
From: Michael Weiser <address@hidden>
Enable big-endian mode for data accesses on aarch64 for big-endian linux
user mode. Activate it for all exception 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>
Reviewed-by: Richard Henderson <address@hidden>
Message-id: address@hidden
Signed-off-by: Peter Maydell <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 99a551b..450eb3c 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -4629,6 +4629,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.7.4
- [Qemu-devel] [PULL 00/26] target-arm queue, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 08/26] target/arm: Fix stlxp for aarch64_be, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 11/26] imx_fec: Refactor imx_eth_enable_rx(), Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 09/26] Virt: ACPI: fix qemu assert due to re-assigned table data address, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 05/26] linux-user: Add aarch64_be magic numbers to qemu-binfmt-conf.sh, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 13/26] imx_fec: Move Tx frame buffer away from the stack, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 04/26] configure: Add aarch64_be-linux-user target, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 01/26] linux-user: Add support for big-endian aarch64,
Peter Maydell <=
- [Qemu-devel] [PULL 18/26] imx_fec: Use correct length for packet size, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 10/26] imx_fec: Do not link to netdev, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 03/26] linux-user: Fix endianess of aarch64 signal trampoline, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 12/26] imx_fec: Change queue flushing heuristics, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 19/26] imx_fec: Fix a typo in imx_enet_receive(), Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 15/26] imx_fec: Use MIN instead of explicit ternary operator, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 14/26] imx_fec: Use ENET_FTRL to determine truncation length, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 16/26] imx_fec: Emulate SHIFT16 in ENETx_RACC, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 07/26] linux-user: Activate armeb handler registration, Peter Maydell, 2018/01/11
- [Qemu-devel] [PULL 06/26] linux-user: Separate binfmt arm CPU families, Peter Maydell, 2018/01/11