On Thu, 2010-08-19 at 23:10 -0500, Sonny Rao wrote: > the eHCA driver registers a MR for all of kernel memory, but makes the > assumption that valid memory exists at KERNELBASE. This assumption > may not be true in the case of a relocatable kernel, so use KERNELBASE > + PHYSICAL_START to get the true beginning of usable kernel memory. > > This patch depends on the earlier patch which exports the necessary > symbol for PHYSICAL_START in a relocatable kernel.
I'm going to send patch 1/2 to Linus today or tomorrow, so this patch can then be picked up by the infiniband maintainers. Cheers, Ben. > cc: Joachim Fenkes <fen...@de.ibm.com> > cc: Christoph Raisch <rai...@de.ibm.com> > cc: Hoan-Ham Hguyen <hngu...@de.ibm.com> > Signed-off-by: Sonny Rao <sonny...@us.ibm.com> > > > Index: linux-2.6/drivers/infiniband/hw/ehca/ehca_mrmw.c > =================================================================== > --- linux-2.6.orig/drivers/infiniband/hw/ehca/ehca_mrmw.c 2010-08-09 > 22:16:57.688652613 -0500 > +++ linux-2.6/drivers/infiniband/hw/ehca/ehca_mrmw.c 2010-08-19 > 22:53:03.451507146 -0500 > @@ -171,7 +171,7 @@ > } > > ret = ehca_reg_maxmr(shca, e_maxmr, > - (void *)ehca_map_vaddr((void *)KERNELBASE), > + (void *)ehca_map_vaddr((void *)(KERNELBASE > + PHYSICAL_START)), > mr_access_flags, e_pd, > &e_maxmr->ib.ib_mr.lkey, > &e_maxmr->ib.ib_mr.rkey); > @@ -1636,7 +1636,7 @@ > > /* register internal max-MR on HCA */ > size_maxmr = ehca_mr_len; > - iova_start = (u64 *)ehca_map_vaddr((void *)KERNELBASE); > + iova_start = (u64 *)ehca_map_vaddr((void *)(KERNELBASE + > PHYSICAL_START)); > ib_pbuf.addr = 0; > ib_pbuf.size = size_maxmr; > num_kpages = NUM_CHUNKS(((u64)iova_start % PAGE_SIZE) + size_maxmr, > @@ -2209,7 +2209,7 @@ > { > /* a MR is treated as max-MR only if it fits following: */ > if ((size == ehca_mr_len) && > - (iova_start == (void *)ehca_map_vaddr((void *)KERNELBASE))) { > + (iova_start == (void *)ehca_map_vaddr((void *)(KERNELBASE + > PHYSICAL_START)))) { > ehca_gen_dbg("this is a max-MR"); > return 1; > } else > _______________________________________________ > Linuxppc-dev mailing list > linuxppc-...@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html