From 9857e00a528bb230c8935ded5f118a7374bf808b Mon Sep 17 00:00:00 2001 From: Marcin Wojtas Date: Tue, 6 Apr 2021 18:50:36 +0200 Subject: [PATCH] pci_user: fix build for 32-bit platforms Commit: f2f1ab39c040 ("pci_user: call bus_translate_resource before BAR mmap") broke build for 32-bit platforms due to rman_res_t and vm_paddr_t incompatible types. Fix that. --- sys/dev/pci/pci_user.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/dev/pci/pci_user.c b/sys/dev/pci/pci_user.c index 0496b3bf6c0..ef2f48ecb48 100644 --- a/sys/dev/pci/pci_user.c +++ b/sys/dev/pci/pci_user.c @@ -854,7 +854,7 @@ pci_bar_mmap(device_t pcidev, struct pci_bar_mmap *pbm) struct thread *td; struct sglist *sg; struct pci_map *pm; - vm_paddr_t membase; + rman_res_t membase; vm_paddr_t pbase; vm_size_t plen; vm_offset_t addr; @@ -877,9 +877,8 @@ pci_bar_mmap(device_t pcidev, struct pci_bar_mmap *pbm) return (EBUSY); /* XXXKIB enable if _ACTIVATE */ if (!PCI_BAR_MEM(pm->pm_value)) return (EIO); - membase = pm->pm_value & PCIM_BAR_MEM_BASE; - error = BUS_TRANSLATE_RESOURCE(pcidev, SYS_RES_MEMORY, membase, - &membase); + error = BUS_TRANSLATE_RESOURCE(pcidev, SYS_RES_MEMORY, + pm->pm_value & PCIM_BAR_MEM_BASE, &membase); if (error != 0) return (error);