Lines Matching full:swp
8 * Implements emulation of the SWP/SWPB instructions using load-exclusive and
12 * Syntax of SWP{B} instruction: SWP{B}<c> <Rt>, <Rt2>, [<Rn>]
33 * Error-checking SWP macros implemented using ldrex{b}/strex{b}
73 * the SWP and SWPB variants (bit set means SWPB).
85 seq_printf(m, "Emulated SWP:\t\t%lu\n", swpcounter); in proc_status_show()
87 seq_printf(m, "Aborted SWP{B}:\t\t%lu\n", abtcounter); in proc_status_show()
108 pr_debug("SWP{B} emulation: access caused memory abort!\n"); in set_segfault()
123 /* SWP to unaligned address not permitted */ in emulate_swpX()
124 pr_debug("SWP instruction on unaligned pointer!\n"); in emulate_swpX()
176 /* If unconditional encoding - not a SWP, undef */ in swp_handler()
183 pr_debug("\"%s\" (%ld) uses deprecated SWP{B} instruction\n", in swp_handler()
198 /* Check access in reasonable access range for both SWP and SWPB */ in swp_handler()
200 pr_debug("SWP{B} emulation: access to %p not allowed!\n", in swp_handler()
211 * instruction following the SWP{B}. in swp_handler()
227 * Only emulate SWP/SWPB executed in ARM state/User mode.
228 * The kernel must be SWP free and SWP{B} does not exist in Thumb/ThumbEE.
253 pr_notice("Registering SWP/SWPB emulation handler\n"); in swp_emulation_init()