1. 12 7月, 2007 1 次提交
    • M
      PCI: Make pcibios_add_platform_entries() return errors · a2cd52ca
      Michael Ellerman 提交于
      Currently pcibios_add_platform_entries() returns void, but could fail,
      so instead have it return an int and propagate errors up to
      pci_create_sysfs_dev_files().
      
      Fixes:
      arch/powerpc/kernel/pci_64.c: In function 'pcibios_add_platform_entries':
      arch/powerpc/kernel/pci_64.c:878: warning: ignoring return value of
      	'device_create_file', declared with attribute warn_unused_result
      arch/powerpc/kernel/pci_32.c: In function 'pcibios_add_platform_entries':
        arch/powerpc/kernel/pci_32.c:1043: warning: ignoring return value of
      	'device_create_file', declared with attribute warn_unused_result
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      a2cd52ca
  2. 02 7月, 2007 3 次提交
  3. 30 6月, 2007 1 次提交
  4. 29 6月, 2007 1 次提交
    • D
      Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM · edd5cd4a
      David Woodhouse 提交于
      Not all the world is an i386.  Many architectures need 64-bit arguments to be
      aligned in suitable pairs of registers, and the original
      sys_sync_file_range(int, loff_t, loff_t, int) was therefore wasting an
      argument register for padding after the first integer.  Since we don't
      normally have more than 6 arguments for system calls, that left no room for
      the final argument on some architectures.
      
      Fix this by introducing sys_sync_file_range2(int, int, loff_t, loff_t) which
      all fits nicely.  In fact, ARM already had that, but called it
      sys_arm_sync_file_range.  Move it to fs/sync.c and rename it, then implement
      the needed compatibility routine.  And stop the missing syscall check from
      bitching about the absence of sys_sync_file_range() if we've implemented
      sys_sync_file_range2() instead.
      
      Tested on PPC32 and with 32-bit and 64-bit userspace on PPC64.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Acked-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      edd5cd4a
  5. 26 6月, 2007 4 次提交
  6. 20 6月, 2007 3 次提交
    • T
      [POWERPC] Fix powermac late initcall to only run on powermac · c5f226c7
      Tony Breeds 提交于
      Current ppc64_defconfig kernel fails to boot on iSeries, dying with:
      
      Unable to handle kernel paging request for data at address 0x00000000
      Faulting instruction address: 0xc00000000071b258
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=32 iSeries
      <snip>
      NIP [c00000000071b258] .iSeries_src_init+0x34/0x64
      LR [c000000000701bb4] .kernel_init+0x1fc/0x3bc
      Call Trace:
      [c000000007d0be30] [0000000000008000] 0x8000 (unreliable)
      [c000000007d0bea0] [c000000000701bb4] .kernel_init+0x1fc/0x3bc
      [c000000007d0bf90] [c0000000000262d4] .kernel_thread+0x4c/0x68
      Instruction dump:
      e922cba8 3880ffff 78840420 f8010010 f821ff91 60000000 e8090000 78095fe3
      4182002c e922cb58 e862cbb0 e9290140 <e8090000> f8410028 7c0903a6 e9690010
      Kernel panic - not syncing: Attempted to kill init!
      
      This happens because some powermac code unconditionally sets
      ppc_md.progress to NULL.  This patch makes sure the powermac late
      initcall is only run on powermac machines.
      Signed-off-by: NTony Breeds <tony@bakeyournoodle.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c5f226c7
    • S
      [POWERPC] PowerPC: Prevent data exception in kernel space (32-bit) · 9ba4ace3
      Segher Boessenkool 提交于
      The "is_exec" branch of the protection check in do_page_fault()
      didn't do anything on 32-bit PowerPC.  So if a userland program
      jumps to a page with Linux protection flags "---p", all the tests
      happily fall through, and handle_mm_fault() is called, which in
      turn calls handle_pte_fault(), which calls update_mmu_cache(),
      which goes flush the dcache to a page with no access rights.
      
      Boom.
      
      This fixes it.
      Signed-off-by: NSegher Boessenkool <segher@kernel.crashing.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      9ba4ace3
    • L
      [POWERPC] rheap - eliminates internal fragments caused by alignment · 7c8545e9
      Li Yang 提交于
      The patch adds fragments caused by rh_alloc_align() back to free list, instead
      of allocating the whole chunk of memory.  This will greatly improve memory
      utilization managed by rheap.
      
      It solves MURAM not enough problem with 3 UCCs enabled on MPC8323.
      Signed-off-by: NLi Yang <leoli@freescale.com>
      Acked-by: Joakim Tjernlund <joakim.tjernlund@transmode.se> 
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      7c8545e9
  7. 14 6月, 2007 2 次提交
  8. 07 6月, 2007 13 次提交
  9. 02 6月, 2007 10 次提交
  10. 23 5月, 2007 2 次提交