swap: rework map_swap_page() again