mem_vtop
mem_vtop_t mem_vtop;
mem_vtop.m_as = as;
mem_vtop.m_va = (void *)addr;
if (ioctl(kd->kvm_kmemfd, MEM_VTOP, &mem_vtop) == 0)
return ((uint64_t)mem_vtop.m_pfn * getpagesize() +
mem_vtop_t mem_vtop;
if (copyin((void *)data, &mem_vtop, sizeof (mem_vtop_t)))
mem_vtop.m_as = (struct as *)(uintptr_t)vtop32.m_as;
mem_vtop.m_va = (void *)(uintptr_t)vtop32.m_va;
if (mem_vtop.m_as != NULL)
if (mem_vtop.m_as == &kas) {
pfn = hat_getpfnum(kas.a_hat, mem_vtop.m_va);
if (mem_vtop.m_as == NULL) {
mem_vtop.m_as = p->p_as;
if (p->p_as == mem_vtop.m_as) {
if (as == mem_vtop.m_as) {
if ((uintptr_t)mem_vtop.m_va -
pfn = hat_getpfnum(as->a_hat, mem_vtop.m_va);
mem_vtop.m_pfn = pfn;
if (copyout(&mem_vtop, (void *)data, sizeof (mem_vtop_t)))
vtop32.m_pfn = mem_vtop.m_pfn;
mem_vtop_t mem_vtop;
mem_vtop.m_as = as;
mem_vtop.m_va = va;
mem_vtop.m_pfn = pfn;
dumpvp_write(&mem_vtop, sizeof (mem_vtop_t));
mem_vtop_t mem_vtop;
mem_vtop.m_as = &kas;
mem_vtop.m_va = HYPERVISOR_shared_info;
mem_vtop.m_pfn = pfn;
dumpvp_write(&mem_vtop, sizeof (mem_vtop_t));
mem_vtop_t mem_vtop;
mem_vtop.m_as = &kas;
mem_vtop.m_va = (void *)va;
mem_vtop.m_pfn = (pfn_t)xpv_dump_pages | PFN_IS_FOREIGN_MFN;
dumpvp_write(&mem_vtop, sizeof (mem_vtop_t));
mem_vtop.m_as = &kas;
mem_vtop.m_va = HYPERVISOR_shared_info;
mem_vtop.m_pfn = (pfn_t)xpv_dump_pages | PFN_IS_FOREIGN_MFN;
dumpvp_write(&mem_vtop, sizeof (mem_vtop_t));