Пример #1
0
static int virtio_mmio_write(struct virtio_mmio_dev *m,
			     u32 offset, u32 src_mask, u32 src)
{
	src = src & ~src_mask;

	/* Device specific config write */
	if (offset >= VMM_VIRTIO_MMIO_CONFIG) {
		offset -= VMM_VIRTIO_MMIO_CONFIG;
		return vmm_virtio_config_write(&m->dev, offset, &src, 4);
	}

	return virtio_mmio_config_write(m, offset, &src, 4);
}
Пример #2
0
static int virtio_mmio_write(struct vmm_emudev *edev,
			     physical_addr_t offset,
			     void *src, u32 src_len)
{
	struct virtio_mmio_dev *m = edev->priv;

	/* Device specific config write */
	if (offset >= VIRTIO_MMIO_CONFIG) {
		offset -= VIRTIO_MMIO_CONFIG;
		return virtio_config_write(&m->dev, (u32)offset, src, src_len);
	}

	return virtio_mmio_config_write(m, (u32)offset, src, src_len);
}