1. 15 Jan, 2008 2 commits
    • Paul Mackerras's avatar
      [POWERPC] Fix boot failure on POWER6 · dfbe0d3b
      Paul Mackerras authored
      Commit 473980a9 added a call to clear
      the SLB shadow buffer before registering it.  Unfortunately this means
      that we clear out the entries that slb_initialize has previously set in
      there.  On POWER6, the hypervisor uses the SLB shadow buffer when doing
      partition switches, and that means that after the next partition switch,
      each non-boot CPU has no SLB entries to map the kernel text and data,
      which causes it to crash.
      
      This fixes it by reverting most of 473980a9 and instead clearing the
      3rd entry explicitly in slb_initialize.  This fixes the problem that
      473980a9 was trying to solve, but without breaking POWER6.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      dfbe0d3b
    • Benjamin Herrenschmidt's avatar
      [POWERPC] Workaround for iommu page alignment · d262c32a
      Benjamin Herrenschmidt authored
      Commit 5d2efba6 changed our iommu code
      so that it always uses an iommu page size of 4kB.  That means with our
      current code, drivers may do a dma_map_sg() of a 64kB page and obtain
      a dma_addr_t that is only 4k aligned.
      
      This works fine in most cases except for some infiniband HW it seems,
      where they tell the HW about the page size and it ignores the low bits
      of the DMA address.
      
      This works around it by making our IOMMU code enforce a PAGE_SIZE alignment
      for mappings of objects that are page aligned in the first place and whose
      size is larger or equal to a page.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      d262c32a
  2. 14 Jan, 2008 26 commits
  3. 13 Jan, 2008 6 commits
  4. 12 Jan, 2008 6 commits