1. A method, comprising: detecting, by a processing device executing a hypervisor on a host machine, a protection fault at the hypervisor, the protection fault caused by a guest of the hypervisor attempting to write to an address marked as valid and read-only in a host page table entry at the hypervisor, the address associated with memory-mapped input-output (MMIO) for a virtual device of the guest; referencing a MMIO data structure of the hypervisor with the address corresponding to the protection fault; identifying, by the processing device, the virtual device and a MMIO-based instruction mapped to the address in the MMIO data structure; and executing, by the processing device, the MMIO-based instruction at the hypervisor on behalf of the guest.