Commit 192517f
authored
arm64: fix 32 bit memory operations (#63)
Ensure to use unsigned memory move instructions when moving 32 bit
data in a 64 bit register.
If the MSb of a 32 bit word in the memory is 1 the value is interpreted
as signed and stored as such in the 64 bit register.
E.g. moving the 0xe8000020 value from memory to register would result
such register being set to 0xffffffffe8000020. A successive access to
the memory based on such value will most probably trigger a memory
exception.1 parent 1b7ab88 commit 192517f
1 file changed
+9
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
| 10 | + | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
15 | | - | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | | - | |
| 18 | + | |
| 19 | + | |
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
| 25 | + | |
| 26 | + | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
0 commit comments