Home
last modified time | relevance | path

Searched refs:vbar (Results 1 – 7 of 7) sorted by relevance

/hypervisor/include/dm/
A Dvpci.h199 static inline bool is_pci_io_bar(struct pci_vbar *vbar) in is_pci_io_bar() argument
201 return ((vbar->bar_type.io_space.indicator == 1U) && (!vbar->is_mem64hi)); in is_pci_io_bar()
204 static inline bool is_pci_mem_bar(struct pci_vbar *vbar) in is_pci_mem_bar() argument
206 return ((vbar->is_mem64hi) || ((vbar->bar_type.mem_space.indicator == 0U))); in is_pci_mem_bar()
210 static inline bool is_pci_reserved_bar(struct pci_vbar *vbar) in is_pci_reserved_bar() argument
212 …return (((vbar->bar_type.mem_space.indicator == 0U) && ((vbar->bar_type.mem_space.mem_type & 0x1U)… in is_pci_reserved_bar()
213 ((vbar->bar_type.io_space.indicator == 1U) && (vbar->bar_type.io_space.reserved == 1U))); in is_pci_reserved_bar()
216 static inline bool is_pci_mem32_bar(struct pci_vbar *vbar) in is_pci_mem32_bar() argument
218 …return ((vbar->bar_type.mem_space.indicator == 0U) && (vbar->bar_type.mem_space.mem_type == 0U) &&… in is_pci_mem32_bar()
221 static inline bool is_pci_mem64lo_bar(struct pci_vbar *vbar) in is_pci_mem64lo_bar() argument
[all …]
/hypervisor/dm/vpci/
A Dpci_pt.c203 struct pci_vbar *vbar; in vdev_pt_map_msix() local
235 vbar->size); in vdev_pt_unmap_mem_vbar()
257 vbar->size, in vdev_pt_map_mem_vbar()
279 allow_guest_pio_access(vm, (uint16_t)vbar->base_gpa, (uint32_t)(vbar->size)); in vdev_pt_allow_io_vbar()
297 deny_guest_pio_access(vm, (uint16_t)(vbar->base_gpa), (uint32_t)(vbar->size)); in vdev_pt_deny_io_vbar()
400 struct pci_vbar *vbar; in init_bars() local
477 vbar->size = vbar->size & ~(vbar->size - 1UL); in init_bars()
478 vbar->size = round_page_up(vbar->size); in init_bars()
486 vbar->mask = size32; in init_bars()
498 vbar->size = vbar->size & ~(vbar->size - 1UL); in init_bars()
[all …]
A Dvdev.c105 struct pci_vbar *vbar; in pci_vdev_update_vbar_base() local
110 vbar = &vdev->vbars[idx]; in pci_vdev_update_vbar_base()
113 if ((!is_pci_reserved_bar(vbar)) && !vbar->sizing) { in pci_vdev_update_vbar_base()
114 base = lo & vbar->mask; in pci_vdev_update_vbar_base()
118 if (!vbar->sizing) { in pci_vdev_update_vbar_base()
126 if (is_pci_io_bar(vbar)) { in pci_vdev_update_vbar_base()
135 if (is_pci_io_bar(vbar)) { in pci_vdev_update_vbar_base()
196 struct pci_vbar *vbar; in pci_vdev_write_vbar() local
200 vbar = &vdev->vbars[idx]; in pci_vdev_write_vbar()
202 bar = val & vbar->mask; in pci_vdev_write_vbar()
[all …]
A Divshmem.c349 ept_del_mr(vm, (uint64_t *)vm->arch_vm.nworld_eptp, vbar->base_gpa, vbar->size); in ivshmem_vbar_unmap()
351 unregister_mmio_emulation_handler(vm, vbar->base_gpa, (vbar->base_gpa + vbar->size)); in ivshmem_vbar_unmap()
392 vbar->base_gpa, vbar->size, EPT_RD | EPT_WR | EPT_WB | EPT_IGNORE_PAT); in ivshmem_vbar_map()
395 (vbar->base_gpa + vbar->size), vdev, false); in ivshmem_vbar_map()
399 (vbar->base_gpa + vbar->size), vdev, false); in ivshmem_vbar_map()
400 ept_del_mr(vm, (uint64_t *)vm->arch_vm.nworld_eptp, vbar->base_gpa, vbar->size); in ivshmem_vbar_map()
472 struct pci_vbar *vbar; in init_ivshmem_bar() local
477 vbar = &vdev->vbars[bar_idx]; in init_ivshmem_bar()
478 vbar->bar_type.bits = addr; in init_ivshmem_bar()
497 vbar->size = size; in init_ivshmem_bar()
[all …]
A Dvmcs9900.c47 struct pci_vbar *vbar = &vdev->vbars[MCS9900_MMIO_BAR]; in vmcs9900_mmio_handler() local
50 offset = (uint16_t)(mmio->address - vbar->base_gpa); in vmcs9900_mmio_handler()
64 struct pci_vbar *vbar = &vdev->vbars[idx]; in map_vmcs9900_vbar() local
66 if ((idx == MCS9900_MMIO_BAR) && (vbar->base_gpa != 0UL)) { in map_vmcs9900_vbar()
68 vbar->base_gpa, vbar->base_gpa + vbar->size, vdev, false); in map_vmcs9900_vbar()
69 ept_del_mr(vm, (uint64_t *)vm->arch_vm.nworld_eptp, vbar->base_gpa, vbar->size); in map_vmcs9900_vbar()
73 (vbar->base_gpa + vbar->size), vdev, false); in map_vmcs9900_vbar()
74 ept_del_mr(vm, (uint64_t *)vm->arch_vm.nworld_eptp, vbar->base_gpa, vbar->size); in map_vmcs9900_vbar()
75 vdev->msix.mmio_gpa = vbar->base_gpa; in map_vmcs9900_vbar()
86 struct pci_vbar *vbar = &vdev->vbars[idx]; in unmap_vmcs9900_vbar() local
[all …]
A Dvpci.c926 struct pci_vbar *vbar = &vdev->vbars[bar_idx]; in vpci_update_one_vbar() local
929 if (vbar->is_mem64hi) { in vpci_update_one_vbar()
/hypervisor/arch/x86/guest/
A Dvm.c410 struct pci_vbar vbar = {}; in deny_pci_bar_access() local
417 vbar.bar_type.bits = pdev->bars[idx].phy_bar; in deny_pci_bar_access()
418 if (!is_pci_reserved_bar(&vbar)) { in deny_pci_bar_access()
421 if (is_pci_mem64lo_bar(&vbar)) { in deny_pci_bar_access()
427 mask = (is_pci_io_bar(&vbar)) ? PCI_BASE_ADDRESS_IO_MASK : PCI_BASE_ADDRESS_MEM_MASK; in deny_pci_bar_access()
433 if (is_pci_io_bar(&vbar)) { in deny_pci_bar_access()

Completed in 703 milliseconds