change c_swi_handler to use local read/write