@aziz on x86-64 you either globally enable or disable paging (and thus virtual memory) using CR0. This then sets the behavior of *all* instructions referring to memory.
This requires you to set up a proper page table pointer in CR3,
and will then be used by the MMU to map virtual to physical address space.
You can explicitly load/flush cache lines on x86-64.