1. 20 3月, 2006 1 次提交
  2. 16 3月, 2006 1 次提交
  3. 13 3月, 2006 1 次提交
  4. 07 3月, 2006 1 次提交
  5. 23 2月, 2006 2 次提交
  6. 17 2月, 2006 1 次提交
  7. 16 2月, 2006 2 次提交
    • R
      [ARM] Fix SMP initialisation oops · 7bbb7940
      Russell King 提交于
      A change to the SMP initialisation caused the following oops:
      
       CPU1: Booted secondary processor
       CPU1: D VIPT write-back cache
       CPU1: I cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
       CPU1: D cache: 32768 bytes, associativity 4, 32 byte lines, 256 sets
       <7>Calibrating delay loop... 83.14 BogoMIPS (lpj=415744)
       <1>Unable to handle kernel NULL pointer dereference at virtual address 0000001c
       ...
       PC is at enqueue_task+0x1c/0x64
       LR is at activate_task+0xcc/0xe4
      
      SMP initialisation now requires cpu_possible_map to be initialised in
      setup_arch().  Move this from smp_prepare_cpus() to smp_init_cpus()
      and call it from our setup_arch() if CONFIG_SMP is enabled.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      7bbb7940
    • M
      [PATCH] add asm-generic/mman.h · 5f6164f3
      Michael S. Tsirkin 提交于
      Make new MADV_REMOVE, MADV_DONTFORK, MADV_DOFORK consistent across all
      arches.  The idea is to make it possible to use them portably even before
      distros include them in libc headers.
      
      Move common flags to asm-generic/mman.h
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5f6164f3
  8. 15 2月, 2006 1 次提交
    • M
      [PATCH] madvise MADV_DONTFORK/MADV_DOFORK · f8225661
      Michael S. Tsirkin 提交于
      Currently, copy-on-write may change the physical address of a page even if the
      user requested that the page is pinned in memory (either by mlock or by
      get_user_pages).  This happens if the process forks meanwhile, and the parent
      writes to that page.  As a result, the page is orphaned: in case of
      get_user_pages, the application will never see any data hardware DMA's into
      this page after the COW.  In case of mlock'd memory, the parent is not getting
      the realtime/security benefits of mlock.
      
      In particular, this affects the Infiniband modules which do DMA from and into
      user pages all the time.
      
      This patch adds madvise options to control whether memory range is inherited
      across fork.  Useful e.g.  for when hardware is doing DMA from/into these
      pages.  Could also be useful to an application wanting to speed up its forks
      by cutting large areas out of consideration.
      Signed-off-by: NMichael S. Tsirkin <mst@mellanox.co.il>
      Acked-by: NHugh Dickins <hugh@veritas.com>
      Cc: Michael Kerrisk <mtk-manpages@gmx.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f8225661
  9. 11 2月, 2006 1 次提交
  10. 09 2月, 2006 2 次提交
  11. 02 2月, 2006 2 次提交
  12. 26 1月, 2006 2 次提交
  13. 19 1月, 2006 1 次提交
  14. 18 1月, 2006 1 次提交
  15. 16 1月, 2006 1 次提交
    • R
      [ARM] Fix missing compiler.h include · ef0498a7
      Russell King 提交于
      asm/mach/arch.h introduced a __deprecated, but didn't include compiler.h,
      causing:
      
      In file included from arch/arm/mach-at91rm9200/devices.c:13:
      include/asm/mach/arch.h:23: warning: no semicolon at end of struct or union
      include/asm/mach/arch.h:23: error: syntax error before 'phys_ram'
      include/asm/mach/arch.h:34: error: syntax error before ':' token
      include/asm/mach/arch.h:35: error: syntax error before ':' token
      include/asm/mach/arch.h:36: error: syntax error before ':' token
      include/asm/mach/arch.h:37: error: syntax error before ':' token
      include/asm/mach/arch.h:45: error: syntax error before '}' token
      
      Add the necessary include.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      ef0498a7
  16. 15 1月, 2006 7 次提交
    • N
      [ARM] 3262/4: allow ptraced syscalls to be overriden · 3f471126
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      This is needed by strace to properly handle the tracing of some system
      calls. It could be useful for other applications as well.
      
      Based on an earlier patch from Daniel Jacobowitz.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NDaniel Jacobowitz <dan@debian.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3f471126
    • N
      [ARM] 3110/5: old ABI compat: multi-ABI syscall entry support · dd35afc2
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      This patch adds the required code to support both user space ABIs at
      the same time. A second syscall table is created to include legacy ABI
      syscalls that need an ABI compat wrapper.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      dd35afc2
    • N
      [ARM] 3108/2: old ABI compat: statfs64 and fstatfs64 · 713c4815
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      struct statfs64 has extra padding with EABI growing its size from 84 to
      88. This struct is now __attribute__((packed,aligned(4))) with a small
      assembly wrapper to force the sz argument to 84 if it is 88 to avoid
      copying the extra padding over user space memory unexpecting it.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      713c4815
    • N
      [ARM] 3106/2: ARM EABI: some syscall adjustments · c155fc95
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      Fix a few syscalls for EABI requirements. They were sys_pread64 and
      sys_pwrite64 where the last argument is now entirely pushed on stack,
      but since commit 567bd980 they don't
      require any fixup.  Remains only the stat64 structure. Non EABI kernels
      are unaffected.
      
      Signed-off-by: Nicolas Pitre
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      c155fc95
    • N
      [ARM] 3105/4: ARM EABI: new syscall entry convention · 3f2829a3
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      For a while we wanted to change the way syscalls were called on ARM.
      Instead of encoding the syscall number in the swi instruction which
      requires reading back the instruction from memory to extract that number
      and polluting the data cache, it was decided that simply storing the
      syscall number into r7 would be more efficient. Since this represents
      an ABI change then making that change at the same time as EABI support
      is the right thing to do.
      
      It is now expected that EABI user space binaries put the syscall number
      into r7 and use "swi 0" to call the kernel. Syscall register argument
      are also expected to have "EABI arrangement" i.e. 64-bit arguments
      should be put in a pair of registers from an even register number.
      
      Example with long ftruncate64(unsigned int fd, loff_t length):
      
      	legacy ABI:
      	- put fd into r0
      	- put length into r1-r2
      	- use "swi #(0x900000 + 194)" to call the kernel
      
      	new ARM EABI:
      	- put fd into r0
      	- put length into r2-r3 (skipping over r1)
      	- put 194 into r7
      	- use "swi 0" to call the kernel
      
      Note that it is important to use 0 for the swi argument as backward
      compatibility with legacy ABI user space relies on this.
      The syscall macros in asm-arm/unistd.h were also updated to support
      both ABIs and implement the right call method automatically.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      3f2829a3
    • N
      [ARM] 3102/1: ARM EABI: stack pointer must be 64-bit aligned after a CPU exception · 2dede2d8
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      The ARM EABI says that the stack pointer has to be 64-bit aligned for
      reasons already mentioned in patch #3101 when calling C functions.
      
      We therefore must verify and adjust sp accordingly when taking an
      exception from kernel mode since sp might not necessarily be 64-bit
      aligned if the exception occurs in the middle of a kernel function.
      
      If the exception occurs while in user mode then no sp fixup is needed as
      long as sizeof(struct pt_regs) as well as any additional syscall data
      stack space remain multiples of 8.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2dede2d8
    • N
      [ARM] 3101/1: ARM EABI: slab memory must be 64-bit aligned · da2b1cd6
      Nicolas Pitre 提交于
      Patch from Nicolas Pitre
      
      Although ARM is still using 32-bit pointers, version 5 and later
      versions of the ARM architecture introduced the ldrd and strd
      instructions to move 64-bit data which must be 64-bit aligned in memory,
      and the EABI includes new constraints on structure data alignment to
      allow for the compiler to use those instructions. This means that any
      slab allocation must start on a 64-bit boundary which is not equivalent
      to BYTES_PER_WORD, especially on those architecture versions that
      implements the ldrd/strd instructions.
      
      Overriding the default alignment disables some slab debug features. If
      those debug features are really needed then the kernel will have to be
      compiled for version 4 of the ARM architecture.
      Signed-off-by: NNicolas Pitre <nico@cam.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      da2b1cd6
  17. 14 1月, 2006 4 次提交
  18. 13 1月, 2006 6 次提交
  19. 11 1月, 2006 3 次提交