1. 20 Aug, 2008 7 commits
  2. 19 Aug, 2008 4 commits
    • Brian King's avatar
      powerpc: Fix vio_bus_probe oops on probe error · cd5aeb9f
      Brian King authored
      When CMO is enabled and booted on a non CMO system and the VIO
      device's probe function fails, an oops can result since
      vio_cmo_bus_remove is called when it should not.  This fixes it by
      avoiding the vio_cmo_bus_remove call on platforms that don't implement
      cpu 0x0: Vector: 300 (Data Access) at [c00000000e13b3d0]
          pc: c000000000020d34: .vio_cmo_bus_remove+0xc0/0x1f4
          lr: c000000000020ca4: .vio_cmo_bus_remove+0x30/0x1f4
          sp: c00000000e13b650
         msr: 8000000000009032
         dar: 0
       dsisr: 40000000
        current = 0xc00000000e0566c0
        paca    = 0xc0000000006f9b80
          pid   = 2428, comm = modprobe
      enter ? for help
      [c00000000e13b6e0] c000000000021d94 .vio_bus_probe+0x2f8/0x33c
      [c00000000e13b7a0] c00000000029fc88 .driver_probe_device+0x13c/0x200
      [c00000000e13b830] c00000000029fdac .__driver_attach+0x60/0xa4
      [c00000000e13b8c0] c00000000029f050 .bus_for_each_dev+0x80/0xd8
      [c00000000e13b980] c00000000029f9ec .driver_attach+0x28/0x40
      [c00000000e13ba00] c00000000029f630 .bus_add_driver+0xd4/0x284
      [c00000000e13baa0] c0000000002a01bc .driver_register+0xc4/0x198
      [c00000000e13bb50] c00000000002168c .vio_register_driver+0x40/0x5c
      [c00000000e13bbe0] d0000000003b3f1c .ibmvfc_module_init+0x70/0x109c [ibmvfc]
      [c00000000e13bc70] c0000000000acf08 .sys_init_module+0x184c/0x1a10
      [c00000000e13be30] c000000000008748 syscall_exit+0x0/0x40
      Signed-off-by: default avatarBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    • Joachim Fenkes's avatar
      powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices · 4589f1fe
      Joachim Fenkes authored
      Recent of_platform changes made of_bus_type_init() overwrite the bus
      type's .dev_attrs list, meaning that the "name" attribute that ibmebus
      devices previously had is no longer present.  This is a user-visible
      regression which breaks the userspace eHCA support, since the eHCA
      userspace driver relies on the name attribute to check for valid
      This fixes it by providing the "name" attribute in the generic OF
      device code instead.  Tested on POWER.
      Signed-off-by: default avatarJoachim Fenkes <fenkes@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    • Michael Ellerman's avatar
      powerpc: Fix /dev/oldmem interface for kdump · 7230ced4
      Michael Ellerman authored
      A change to __ioremap() broke reading /dev/oldmem because we're no
      longer able to ioremap pfn 0 (d177c207
      , "[PATCH] powerpc: IOMMU: don't
      ioremap null addresses").
      We actually don't need to ioremap for anything that's part of the linear
      mapping, so just read it directly.
      Also make sure we're only reading one page or less at a time.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarSachin Sant <sachinp@in.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    • Ilpo Järvinen's avatar
  3. 18 Aug, 2008 9 commits
  4. 15 Aug, 2008 1 commit
  5. 14 Aug, 2008 1 commit
  6. 13 Aug, 2008 1 commit
    • Jeremy Kerr's avatar
      powerpc/spufs: fix npc setting for NOSCHED contexts · d9dd421f
      Jeremy Kerr authored
      Currently, spu_run ignores the npc argument for contexts created with
      SPU_CREATE_NOSCHED. While this is correct for isolated contexts,
      there's no need to enforce the npc restriction on non-isolated NOSCHED
      This means that NOSCHED contexts can only ever run with an entry point
      of 0x0.
      This change to spu_run_init allows setting of the npc (and, while we're
      at it, the privcntl) for non-isolated NOSCHED contexts. This allows
      us to run NOSCHED contexts from any entry point.
      Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
  7. 12 Aug, 2008 1 commit
  8. 11 Aug, 2008 4 commits
    • Junio C Hamano's avatar
      powerpc: Do not ignore arch/powerpc/include · 0afd2ac9
      Junio C Hamano authored
      Back when .gitignore file was added to arch/powerpc/ in 06f2138e ([POWERPC]
      Add files build to .gitignore, 2006-11-26), there indeed was nothing
      tracked in the ignored hierarchy and ignoring everything made sense.  But
      we have very many tracked files there these days, and having a higher
      level .gitignore that ignores everything is asking for future troubles..
      This should have been part of b8b572e1
       (powerpc: Move include files to
      arch/powerpc/include/asm, 2008-08-01).
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      Acked-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    • Benjamin Herrenschmidt's avatar
      powerpc/mm: Fix attribute confusion with htab_bolt_mapping() · bc033b63
      Benjamin Herrenschmidt authored
      The function htab_bolt_mapping() is used to create permanent
      mappings in the MMU hash table, for example, in order to create
      the linear mapping of vmemmap.  It's also used by early boot
      ioremap (before mem_init_done).
      However, the way ioremap uses it is incorrect as it passes it the
      protection flags in the "linux PTE" form while htab_bolt_mapping()
      expects them in the hash table format.  This is made more confusing by
      the fact that some of those flags are actually in the same position in
      both cases.
      This fixes it all by making htab_bolt_mapping() take normal linux
      protection flags instead, and use a little helper to convert them to
      htab flags. Callers can now use the usual PAGE_* definitions safely.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
       arch/powerpc/include/asm/mmu-hash64.h |    2 -
       arch/powerpc/mm/hash_utils_64.c       |   65 ++++++++++++++++++++--------------
       arch/powerpc/mm/init_64.c             |    9 +---
       3 files changed, 44 insertions(+), 32 deletions(-)
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    • Benjamin Herrenschmidt's avatar
      powerpc/pci: Don't keep ISA memory hole resources in the tree · 8db13a0e
      Benjamin Herrenschmidt authored
      When we have an ISA memory hole (ie, a PCI window that allows us to
      generate PCI memory cycles at low PCI address) mixed with other
      resources using a different CPU <=> PCI mapping, we must not keep
      the ISA hole in the bridge resource list.
      If we do, things might start trying to allocate device resources
      in there and will get the PCI addresses wrong.
      This fixes it by arranging to remove the ISA memory hole resource in
      this case.  This fixes various cases of PCMCIA breakage on PowerBooks
      using the MPC106 "grackle" bridge.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    • Nathan Fontenot's avatar
      powerpc: Zero fill the return values of rtas argument buffer · b79998fc
      Nathan Fontenot authored
      The kernel copy of the rtas args struct contains the return
      value(s) for the specified rtas call.  These are copied back
      to user space with the assumption that every value has been
      set by the rtas call, which turns out to be not always true.
      Thus userspace can see random values and think the call failed
      when in fact it succeeded, but for some reason didn't set one
      of the return values.
      This fixes the problem by zeroing out the return value fields
      of the rtas args struct before processing the rtas call.
      Signed-off-by: default avatarNathan Fontenot <nfont@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
  9. 08 Aug, 2008 2 commits
  10. 06 Aug, 2008 1 commit
  11. 05 Aug, 2008 6 commits
  12. 04 Aug, 2008 3 commits