Lines Matching refs:cfg
134 struct virtio_pci_common_cfg cfg; member
1167 dev->mmio->cfg.queue_enable = 0; in reset_device()
1771 static void save_vq_config(const struct virtio_pci_common_cfg *cfg, in save_vq_config() argument
1774 vq->pci_config = *cfg; in save_vq_config()
1777 static void restore_vq_config(struct virtio_pci_common_cfg *cfg, in restore_vq_config() argument
1783 memcpy((void *)cfg + off, (void *)&vq->pci_config + off, in restore_vq_config()
1784 sizeof(*cfg) - off); in restore_vq_config()
1879 case offsetof(struct virtio_pci_mmio, cfg.device_feature_select): in emulate_mmio_write()
1888 d->mmio->cfg.device_feature = d->features; in emulate_mmio_write()
1890 d->mmio->cfg.device_feature = (d->features >> 32); in emulate_mmio_write()
1892 d->mmio->cfg.device_feature = 0; in emulate_mmio_write()
1894 case offsetof(struct virtio_pci_mmio, cfg.guest_feature_select): in emulate_mmio_write()
1898 case offsetof(struct virtio_pci_mmio, cfg.guest_feature): in emulate_mmio_write()
1899 if (d->mmio->cfg.guest_feature_select == 0) { in emulate_mmio_write()
1903 assert(d->mmio->cfg.guest_feature_select == 1); in emulate_mmio_write()
1917 case offsetof(struct virtio_pci_mmio, cfg.device_status): { in emulate_mmio_write()
1933 if (d->mmio->cfg.device_status & ~val) in emulate_mmio_write()
1935 d->mmio->cfg.device_status, val); in emulate_mmio_write()
1944 && !(d->mmio->cfg.device_status & VIRTIO_CONFIG_S_DRIVER_OK)) in emulate_mmio_write()
1978 switch (val & ~d->mmio->cfg.device_status) { in emulate_mmio_write()
1989 d->mmio->cfg.device_status, val); in emulate_mmio_write()
1991 if (d->mmio->cfg.device_status != prev) in emulate_mmio_write()
1993 d->mmio->cfg.device_status, val); in emulate_mmio_write()
1996 switch (val & ~d->mmio->cfg.device_status) { in emulate_mmio_write()
2007 case offsetof(struct virtio_pci_mmio, cfg.queue_select): in emulate_mmio_write()
2016 d->mmio->cfg.queue_size = 0; in emulate_mmio_write()
2020 if (d->mmio->cfg.queue_size) in emulate_mmio_write()
2021 save_vq_config(&d->mmio->cfg, in emulate_mmio_write()
2022 vq_by_num(d, d->mmio->cfg.queue_select)); in emulate_mmio_write()
2024 restore_vq_config(&d->mmio->cfg, vq); in emulate_mmio_write()
2026 case offsetof(struct virtio_pci_mmio, cfg.queue_size): in emulate_mmio_write()
2035 if (d->mmio->cfg.queue_enable) in emulate_mmio_write()
2038 case offsetof(struct virtio_pci_mmio, cfg.queue_msix_vector): in emulate_mmio_write()
2040 case offsetof(struct virtio_pci_mmio, cfg.queue_enable): { in emulate_mmio_write()
2041 struct virtqueue *vq = vq_by_num(d, d->mmio->cfg.queue_select); in emulate_mmio_write()
2063 if (d->mmio->cfg.device_status & VIRTIO_CONFIG_S_DRIVER_OK) in emulate_mmio_write()
2066 d->mmio->cfg.queue_enable = val; in emulate_mmio_write()
2067 save_vq_config(&d->mmio->cfg, vq); in emulate_mmio_write()
2071 case offsetof(struct virtio_pci_mmio, cfg.queue_notify_off): in emulate_mmio_write()
2073 case offsetof(struct virtio_pci_mmio, cfg.queue_desc_lo): in emulate_mmio_write()
2074 case offsetof(struct virtio_pci_mmio, cfg.queue_desc_hi): in emulate_mmio_write()
2075 case offsetof(struct virtio_pci_mmio, cfg.queue_avail_lo): in emulate_mmio_write()
2076 case offsetof(struct virtio_pci_mmio, cfg.queue_avail_hi): in emulate_mmio_write()
2077 case offsetof(struct virtio_pci_mmio, cfg.queue_used_lo): in emulate_mmio_write()
2078 case offsetof(struct virtio_pci_mmio, cfg.queue_used_hi): in emulate_mmio_write()
2085 if (d->mmio->cfg.queue_enable) in emulate_mmio_write()
2096 if (!(d->mmio->cfg.device_status & VIRTIO_CONFIG_S_FEATURES_OK)) in emulate_mmio_write()
2150 if (!(d->mmio->cfg.device_status & VIRTIO_CONFIG_S_DRIVER)) in emulate_mmio_write()
2152 if (d->mmio->cfg.device_status & VIRTIO_CONFIG_S_FEATURES_OK) in emulate_mmio_write()
2192 case offsetof(struct virtio_pci_mmio, cfg.device_feature_select): in emulate_mmio_read()
2193 case offsetof(struct virtio_pci_mmio, cfg.device_feature): in emulate_mmio_read()
2194 case offsetof(struct virtio_pci_mmio, cfg.guest_feature_select): in emulate_mmio_read()
2195 case offsetof(struct virtio_pci_mmio, cfg.guest_feature): in emulate_mmio_read()
2207 if (!(d->mmio->cfg.device_status & VIRTIO_CONFIG_S_DRIVER)) in emulate_mmio_read()
2211 case offsetof(struct virtio_pci_mmio, cfg.msix_config): in emulate_mmio_read()
2213 case offsetof(struct virtio_pci_mmio, cfg.num_queues): in emulate_mmio_read()
2215 case offsetof(struct virtio_pci_mmio, cfg.device_status): in emulate_mmio_read()
2219 case offsetof(struct virtio_pci_mmio, cfg.config_generation): in emulate_mmio_read()
2239 if (!(d->mmio->cfg.device_status & VIRTIO_CONFIG_S_DRIVER_OK)) in emulate_mmio_read()
2273 if (!(d->mmio->cfg.device_status & VIRTIO_CONFIG_S_DRIVER)) in emulate_mmio_read()
2400 vq->dev->mmio->cfg.num_queues++; in add_pci_virtqueue()
2542 bar_offset = offsetof(struct virtio_pci_mmio, cfg); in init_pci_config()
2543 bar_len = sizeof(((struct virtio_pci_mmio *)0)->cfg); in init_pci_config()