virt_rmb
virt_rmb(); /* Make sure that the version is read before the steal */
virt_rmb(); /* Make sure that the steal is read before the next version */
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb(); /* Ensure we see queued responses up to 'rp'. */
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb(); /* ordering required respective to backend */
virt_rmb(); /* Hypervisor can set upcall pending. */
virt_rmb(); /* Ensure word is up-to-date before reading head. */
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();
virt_rmb();