virt/kvm/coalesced_mmio.c

Source file repositories/reference/linux-study-clean/virt/kvm/coalesced_mmio.c

File Facts

System
Linux kernel
Corpus path
virt/kvm/coalesced_mmio.c
Extension
.c
Size
4708 bytes
Lines
191
Domain
Kernel Services
Bucket
virt
Inferred role
Kernel Services: implementation source
Status
source implementation candidate

Why This File Exists

Shared kernel service surface used by multiple subsystems, including helpers, cryptography, virtualization support, and async I/O infrastructure.

Dependency Surface

Detected Declarations

Annotated Snippet

coalesced_mmio_in_range(dev, zone->addr, zone->size)) {
			r = kvm_io_bus_unregister_dev(kvm,
				zone->pio ? KVM_PIO_BUS : KVM_MMIO_BUS, &dev->dev);
			/*
			 * On failure, unregister destroys all devices on the
			 * bus, including the target device. There's no need
			 * to restart the walk as there aren't any zones left.
			 */
			if (r)
				break;
		}
	}

	mutex_unlock(&kvm->slots_lock);

	/*
	 * Ignore the result of kvm_io_bus_unregister_dev(), from userspace's
	 * perspective, the coalesced MMIO is most definitely unregistered.
	 */
	return 0;
}

Annotation

Implementation Notes