Efficient virtual memory sharing via on-accelerator page table walking in heterogeneous embedded SoCs