Commit f7ceed19 authored by Peter Crosthwaite's avatar Peter Crosthwaite Committed by Alex Williamson
Browse files

vfio: cpu: Use "real" page size API



This is system level code, and should only depend on the host page
size, not the target page size.

Note that HOST_PAGE_SIZE is misleadingly lead and is really aligning
to both host and target page size. Hence it's replacement with
REAL_HOST_PAGE_SIZE.

Signed-off-by: default avatarPeter Crosthwaite <crosthwaite.peter@gmail.com>
Tested-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent 4e51361d
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -2388,7 +2388,7 @@ static void vfio_map_bar(VFIOPCIDevice *vdev, int nr)
     * potentially insert a direct-mapped subregion before and after it.
     */
    if (vdev->msix && vdev->msix->table_bar == nr) {
        size = vdev->msix->table_offset & qemu_host_page_mask;
        size = vdev->msix->table_offset & qemu_real_host_page_mask;
    }

    strncat(name, " mmap", sizeof(name) - strlen(name) - 1);
@@ -2401,8 +2401,9 @@ static void vfio_map_bar(VFIOPCIDevice *vdev, int nr)
    if (vdev->msix && vdev->msix->table_bar == nr) {
        uint64_t start;

        start = HOST_PAGE_ALIGN((uint64_t)vdev->msix->table_offset +
                                (vdev->msix->entries * PCI_MSIX_ENTRY_SIZE));
        start = REAL_HOST_PAGE_ALIGN((uint64_t)vdev->msix->table_offset +
                                     (vdev->msix->entries *
                                      PCI_MSIX_ENTRY_SIZE));

        size = start < bar->region.size ? bar->region.size - start : 0;
        strncat(name, " msix-hi", sizeof(name) - strlen(name) - 1);