Opened 14 years ago

Closed 12 years ago

#249 closed defect (fixed)

arm32 load/store decoder is too limited

Reported by: Jakub Jermář Owned by:
Priority: major Milestone: 0.6.0
Component: helenos/kernel/arm32 Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description

The function which is used to recognize load/store instructions on arm32, is_load_store_instruction(), does not recognize e.g. STRH instruction as load/store. The reason is that the decision making is based on the instruction's type field, which for STRH is 0 and the function recognizes only 2, 3, 4 and 6.

The impact of this limitation is that get_memory_access_type() is confused by this and panics the system because it thinks that the instruction which caused the page fault did not touch memory.

Change History (4)

comment:1 by Jakub Jermář, 13 years ago

Milestone: 0.5.00.5.1

comment:2 by Jakub Jermář, 12 years ago

Milestone: 0.5.00.5.1

comment:3 by Jan Vesely, 12 years ago

Proposed fix:
lp:~jan.vesely/helenos/fix-249

qemu integrator/cp works, but I'd like to have this tested on neo freerunner too.

Last edited 12 years ago by Jan Vesely (previous) (diff)

comment:4 by Jan Vesely, 12 years ago

Resolution: fixed
Status: newclosed

new decoder merged in mainline,1660

Note: See TracTickets for help on using tickets.