[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/9] alpha: Convert mapping routine to rely on physical address
On Sun, Sep 28, 2025 at 12:23:48PM +0200, Magnus Lindholm wrote: > > After reverting the above commits, I'm able to build a working kernel, > > that is, no filesystem corruption occurs. I'll take a closer look at this > > after the weekend. > > > > Short update, It is enough to revert the following commits, in order to > have a working kernel on alpha: > > e78a9d72517a88faa6f16dab4d1c6f966ed378ae > (dma-mapping: remove unused map_page callback) > > d459e3b80ad1c81bf596d63d2e3347cf8c7bb0d9 > (alpha: Convert mapping routine to rely on physical address) Thanks for the effort. Can you please check the following change instead of reverting the patches? diff --git a/arch/alpha/kernel/pci_iommu.c b/arch/alpha/kernel/pci_iommu.c index b62d9937d1d3a..3e4f631a1f27d 100644 --- a/arch/alpha/kernel/pci_iommu.c +++ b/arch/alpha/kernel/pci_iommu.c @@ -229,6 +229,7 @@ pci_map_single_1(struct pci_dev *pdev, phys_addr_t paddr, size_t size, { struct pci_controller *hose = pdev ? pdev->sysdata : pci_isa_hose; dma_addr_t max_dma = pdev ? pdev->dma_mask : ISA_DMA_MASK; + unsigned long offset = offset_in_page(paddr); struct pci_iommu_arena *arena; long npages, dma_ofs, i; dma_addr_t ret; @@ -287,7 +288,7 @@ pci_map_single_1(struct pci_dev *pdev, phys_addr_t paddr, size_t size, arena->ptes[i + dma_ofs] = mk_iommu_pte(paddr); ret = arena->dma_base + dma_ofs * PAGE_SIZE; - ret += offset_in_page(paddr); + ret += offset; DBGA2("pci_map_single: [%pa,%zx] np %ld -> sg %llx from %ps\n", &paddr, size, npages, ret, __builtin_return_address(0)); ~ > > > /Magnus
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |