View | Details | Raw Unified | Return to bug 250802 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/amd64/vmm/io/ppt.c (+6 lines)
Lines 452-459 ppt_map_mmio(struct vm *vm, int bus, int slot, int func, Link Here
452
	struct pptseg *seg;
452
	struct pptseg *seg;
453
	struct pptdev *ppt;
453
	struct pptdev *ppt;
454
454
455
bool mine = gpa == 0xd0000000;
456
if (mine) printf("ppt_map_mmio: pci0:%d:%d:%d\n", bus, slot, func);
455
	ppt = ppt_find(bus, slot, func);
457
	ppt = ppt_find(bus, slot, func);
456
	if (ppt != NULL) {
458
	if (ppt != NULL) {
459
 if (ppt->vm != vm && mine) printf("ppt_map_mmio: EBUSY\n");
457
		if (ppt->vm != vm)
460
		if (ppt->vm != vm)
458
			return (EBUSY);
461
			return (EBUSY);
459
462
Lines 465-475 ppt_map_mmio(struct vm *vm, int bus, int slot, int func, Link Here
465
					seg->gpa = gpa;
468
					seg->gpa = gpa;
466
					seg->len = len;
469
					seg->len = len;
467
				}
470
				}
471
if (mine) printf("ppt_map_mmio: vm_map_mmio %d\n", error);
468
				return (error);
472
				return (error);
469
			}
473
			}
470
		}
474
		}
475
if (mine) printf("ppt_map_mmio: ENOSPC\n");
471
		return (ENOSPC);
476
		return (ENOSPC);
472
	}
477
	}
478
if (mine) printf("ppt_map_mmio: ENOENT\n");
473
	return (ENOENT);
479
	return (ENOENT);
474
}
480
}
475
481
(-)b/sys/amd64/vmm/vmm.c (+1 lines)
Lines 650-655 vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa) Link Here
650
			return (true);		/* 'gpa' is sysmem or devmem */
650
			return (true);		/* 'gpa' is sysmem or devmem */
651
	}
651
	}
652
652
653
if (gpa >= 0xd0000000 && gpa < 0xe0000000) printf("ppt_is_mmio %#lx %d\n", gpa, ppt_is_mmio(vm, gpa));
653
	if (ppt_is_mmio(vm, gpa))
654
	if (ppt_is_mmio(vm, gpa))
654
		return (true);			/* 'gpa' is pci passthru mmio */
655
		return (true);			/* 'gpa' is pci passthru mmio */
655
656

Return to bug 250802