diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-03-04 11:30:21 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-03-04 11:30:21 +0000 |
commit | e334bd3190f6c4ca12f1d40d316dc471c70009ab (patch) | |
tree | 6228fd057f6e3d4d35c0c322d2ead9ddf74ccd7c /target-arm/cpu.h | |
parent | 9886ecdf31165de2d4b8bccc1a220bd6ac8bc192 (diff) |
target-arm: implement BE32 mode in system emulation
System emulation only has a little-endian target; BE32 mode
is implemented by adjusting the low bits of the address
for every byte and halfword load and store. 64-bit accesses
flip the low and high words.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[PC changes:
* rebased against master (Jan 2016)
]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/cpu.h')
-rw-r--r-- | target-arm/cpu.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/target-arm/cpu.h b/target-arm/cpu.h index 279c91fefd..066ff678dc 100644 --- a/target-arm/cpu.h +++ b/target-arm/cpu.h @@ -2033,9 +2033,8 @@ static inline bool bswap_code(bool sctlr_b) #endif sctlr_b; #else - /* We do not implement BE32 mode for system-mode emulation, but - * anyway it would always do little-endian accesses with - * TARGET_WORDS_BIGENDIAN = 0. + /* All code access in ARM is little endian, and there are no loaders + * doing swaps that need to be reversed */ return 0; #endif |