Using virtual machines in modern computing environments with limited architectural support