Hi,
sorry to disturb you, I have a question to consult with you,
why does Jailhouse not call paging_destroy() to unmap the address when
it finishes accessing the physical address? as shown in [1] that
handing mmio subpage access.
I think it is better to unmap the address after finishing MMIO access.
[1]:
static enum mmio_result mmio_handle_subpage(void *arg, struct mmio_access *mmio)
{
........
err = paging_create(&this_cpu_data()->pg_structs, page_phys, PAGE_SIZE,
TEMPORARY_MAPPING_BASE,
PAGE_DEFAULT_FLAGS | PAGE_FLAG_DEVICE,
PAGING_NON_COHERENT | PAGING_NO_HUGE);
if (err)
goto invalid_access;
....................
return MMIO_HANDLED;
invalid_access:
panic_printk("FATAL: Invalid MMIO %s, address: %lx, size: %x\n",
mmio->is_write ? "write" : "read",
(unsigned long)mem->phys_start + mmio->address,
mmio->size);
return MMIO_ERROR;
}
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jailhouse-dev/CABSBigSdOnywGHkoVUkN599HZOu8g7XYiRLo%3D_QVRbr1XsqL_g%40mail.gmail.com.