1. 26 10月, 2006 2 次提交
  2. 20 10月, 2006 2 次提交
  3. 18 10月, 2006 2 次提交
    • D
      [SPARC64]: Fix PCI memory space root resource on Hummingbird. · 5aee87c4
      David S. Miller 提交于
      For Hummingbird PCI controllers, we should create the root
      PCI memory space resource as the full 4GB area, and then
      allocate the IOMMU DMA translation window out of there.
      
      The old code just assumed that the IOMMU DMA translation base
      to the top of the 4GB area was unusable.  This is not true on
      many systems such as SB100 and SB150, where the IOMMU DMA
      translation window sits at 0xc0000000->0xdfffffff.
      
      So what would happen is that any device mapped by the firmware
      at the top section 0xe0000000->0xffffffff would get remapped
      by Linux somewhere else leading to all kinds of problems and
      boot failures.
      
      While we're here, report more cases of OBP resource assignment
      conflicts.  The only truly valid ones are ROM resource conflicts.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5aee87c4
    • D
      [SPARC]: Kill BOOTME_SINGLE. · 7341df16
      David S. Miller 提交于
      Unused, but still allow the '-s' boot option to be passed
      down to init.
      
      Based upon patches by Martin Habets.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7341df16
  4. 12 10月, 2006 1 次提交
  5. 10 10月, 2006 2 次提交
  6. 09 10月, 2006 1 次提交
  7. 04 10月, 2006 1 次提交
  8. 03 10月, 2006 2 次提交
    • D
      [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers · afefdbb2
      David Howells 提交于
      These patches make the kernel pass 64-bit inode numbers internally when
      communicating to userspace, even on a 32-bit system.  They are required
      because some filesystems have intrinsic 64-bit inode numbers: NFS3+ and XFS
      for example.  The 64-bit inode numbers are then propagated to userspace
      automatically where the arch supports it.
      
      Problems have been seen with userspace (eg: ld.so) using the 64-bit inode
      number returned by stat64() or getdents64() to differentiate files, and
      failing because the 64-bit inode number space was compressed to 32-bits, and
      so overlaps occur.
      
      This patch:
      
      Make filldir_t take a 64-bit inode number and struct kstat carry a 64-bit
      inode number so that 64-bit inode numbers can be passed back to userspace.
      
      The stat functions then returns the full 64-bit inode number where
      available and where possible.  If it is not possible to represent the inode
      number supplied by the filesystem in the field provided by userspace, then
      error EOVERFLOW will be issued.
      
      Similarly, the getdents/readdir functions now pass the full 64-bit inode
      number to userspace where possible, returning EOVERFLOW instead when a
      directory entry is encountered that can't be properly represented.
      
      Note that this means that some inodes will not be stat'able on a 32-bit
      system with old libraries where they were before - but it does mean that
      there will be no ambiguity over what a 32-bit inode number refers to.
      
      Note similarly that directory scans may be cut short with an error on a
      32-bit system with old libraries where the scan would work before for the
      same reasons.
      
      It is judged unlikely that this situation will occur because modern glibc
      uses 64-bit capable versions of stat and getdents class functions
      exclusively, and that older systems are unlikely to encounter
      unrepresentable inode numbers anyway.
      
      [akpm: alpha build fix]
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      afefdbb2
    • D
      [SPARC64]: Move signal compat bits to new header file. · 14cc6aba
      David S. Miller 提交于
      Create asm-sparc64/compat_signal.h and stuff things there.
      
      This avoids the "linux/compat.h includes asm/signal.h but
      asm/signal.h needs compat_sigset_t which isn't defined yet"
      problems introduced recently.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      14cc6aba
  9. 02 10月, 2006 5 次提交
    • A
      [PATCH] provide kernel_execve on all architectures · fe74290d
      Arnd Bergmann 提交于
      This adds the new kernel_execve function on all architectures that were using
      _syscall3() to implement execve.
      
      The implementation uses code from the _syscall3 macros provided in the
      unistd.h header file.  I don't have cross-compilers for any of these
      architectures, so the patch is untested with the exception of i386.
      
      Most architectures can probably implement this in a nicer way in assembly or
      by combining it with the sys_execve implementation itself, but this should do
      it for now.
      
      [bunk@stusta.de: m68knommu build fix]
      [markh@osdl.org: build fix]
      [bero@arklinux.org: build fix]
      [ralf@linux-mips.org: mips fix]
      [schwidefsky@de.ibm.com: s390 fix]
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NBernhard Rosenkraenzer <bero@arklinux.org>
      Signed-off-by: NMark Haverkamp <markh@osdl.org>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fe74290d
    • A
      [PATCH] introduce kernel_execve · 67608567
      Arnd Bergmann 提交于
      The use of execve() in the kernel is dubious, since it relies on the
      __KERNEL_SYSCALLS__ mechanism that stores the result in a global errno
      variable.  As a first step of getting rid of this, change all users to a
      global kernel_execve function that returns a proper error code.
      
      This function is a terrible hack, and a later patch removes it again after the
      kernel syscalls are gone.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      67608567
    • S
      [PATCH] namespaces: utsname: switch to using uts namespaces · e9ff3990
      Serge E. Hallyn 提交于
      Replace references to system_utsname to the per-process uts namespace
      where appropriate.  This includes things like uname.
      
      Changes: Per Eric Biederman's comments, use the per-process uts namespace
      	for ELF_PLATFORM, sunrpc, and parts of net/ipv4/ipconfig.c
      
      [jdike@addtoit.com: UML fix]
      [clg@fr.ibm.com: cleanup]
      [akpm@osdl.org: build fix]
      Signed-off-by: NSerge E. Hallyn <serue@us.ibm.com>
      Cc: Kirill Korotaev <dev@openvz.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Herbert Poetzl <herbert@13thfloor.at>
      Cc: Andrey Savochkin <saw@sw.ru>
      Signed-off-by: NCedric Le Goater <clg@fr.ibm.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e9ff3990
    • S
      [PATCH] nsproxy: move init_nsproxy into kernel/nsproxy.c · 0437eb59
      Serge E. Hallyn 提交于
      Move the init_nsproxy definition out of arch/ into kernel/nsproxy.c.  This
      avoids all arches having to be updated.  Compiles and boots on s390.
      Signed-off-by: NSerge E. Hallyn <serue@us.ibm.com>
      Cc: Kirill Korotaev <dev@openvz.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Herbert Poetzl <herbert@13thfloor.at>
      Cc: Andrey Savochkin <saw@sw.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0437eb59
    • S
      [PATCH] namespaces: add nsproxy · ab516013
      Serge E. Hallyn 提交于
      This patch adds a nsproxy structure to the task struct.  Later patches will
      move the fs namespace pointer into this structure, and introduce a new utsname
      namespace into the nsproxy.
      
      The vserver and openvz functionality, then, would be implemented in large part
      by virtualizing/isolating more and more resources into namespaces, each
      contained in the nsproxy.
      
      [akpm@osdl.org: build fix]
      Signed-off-by: NSerge Hallyn <serue@us.ibm.com>
      Cc: Kirill Korotaev <dev@openvz.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Herbert Poetzl <herbert@13thfloor.at>
      Cc: Andrey Savochkin <saw@sw.ru>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ab516013
  10. 01 10月, 2006 1 次提交
    • A
      [PATCH] kill wall_jiffies · 8ef38609
      Atsushi Nemoto 提交于
      With 2.6.18-rc4-mm2, now wall_jiffies will always be the same as jiffies.
      So we can kill wall_jiffies completely.
      
      This is just a cleanup and logically should not change any real behavior
      except for one thing: RTC updating code in (old) ppc and xtensa use a
      condition "jiffies - wall_jiffies == 1".  This condition is never met so I
      suppose it is just a bug.  I just remove that condition only instead of
      kill the whole "if" block.
      
      [heiko.carstens@de.ibm.com: s390 build fix and cleanup]
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8ef38609
  11. 30 9月, 2006 1 次提交
    • A
      [PATCH] simplify update_times (avoid jiffies/jiffies_64 aliasing problem) · 3171a030
      Atsushi Nemoto 提交于
      Pass ticks to do_timer() and update_times(), and adjust x86_64 and s390
      timer interrupt handler with this change.
      
      Currently update_times() calculates ticks by "jiffies - wall_jiffies", but
      callers of do_timer() should know how many ticks to update.  Passing ticks
      get rid of this redundant calculation.  Also there are another redundancy
      pointed out by Martin Schwidefsky.
      
      This cleanup make a barrier added by
      5aee405c needless.  So this patch removes
      it.
      
      As a bonus, this cleanup make wall_jiffies can be removed easily, since now
      wall_jiffies is always synced with jiffies.  (This patch does not really
      remove wall_jiffies.  It would be another cleanup patch)
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Acked-by: NRussell King <rmk@arm.linux.org.uk>
      Cc: Ian Molton <spyro@f2s.com>
      Cc: Mikael Starvik <starvik@axis.com>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
      Cc: Hirokazu Takata <takata.hirokazu@renesas.com>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Kyle McMartin <kyle@mcmartin.ca>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
      Cc: Richard Curnow <rc@rc0.org.uk>
      Cc: William Lee Irwin III <wli@holomorphy.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
      Cc: Chris Zankel <chris@zankel.net>
      Acked-by: N"Luck, Tony" <tony.luck@intel.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3171a030
  12. 27 9月, 2006 1 次提交
  13. 24 9月, 2006 1 次提交
    • D
      [SPARC64]: Fix sched_clock() wrapping every ~17 seconds. · e17ba8f5
      David S. Miller 提交于
      Unfortunately, sparc64 doesn't have an easy way to do a "64 X 64 -->
      128" bit multiply like PowerPC and IA64 do.  We were doing a
      "64 X 64 --> 64" bit multiple which causes overflow very quickly with
      a 30-bit quotient shift.
      
      So use a quotientshift count of 10 instead of 30, just like x86 and
      ARM do.
      
      This also fixes the wrapping of printk timestamp values every ~17
      seconds.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e17ba8f5
  14. 18 9月, 2006 1 次提交
  15. 12 9月, 2006 1 次提交
  16. 08 9月, 2006 1 次提交
  17. 22 7月, 2006 4 次提交
  18. 15 7月, 2006 3 次提交
  19. 13 7月, 2006 4 次提交
    • D
      [SPARC]: Fix OF register translations under sub-PCI busses. · a83f9823
      David S. Miller 提交于
      There is an implicit assumption in the code that ranges will translate
      to something that can fit in 2 32-bit cells, or a 64-bit value.  For
      certain kinds of things below PCI this isn't necessarily true.
      
      Here is what the relevant OF device hierarchy looks like for one of
      the serial controllers on an Ultra5:
      
          Node 0xf005f1e0
              ranges:      00000000.00000000.00000000.000001fe.01000000.00000000.01000000
                           01000000.00000000.00000000.000001fe.02000000.00000000.01000000
                           02000000.00000000.00000000.000001ff.00000000.00000001.00000000
                           03000000.00000000.00000000.000001ff.00000000.00000001.00000000
              device_type:  'pci'
              model:  'SUNW,sabre'
      
              Node 0xf005f9d4
                  device_type:  'pci'
                  model:  'SUNW,simba'
      
                 Node 0xf0060d24
                      ranges:  00000010.00000000 82010810.00000000.f0000000 01000000
      			 00000014.00000000 82010814.00000000.f1000000 00800000
                      name:  'ebus'
      
                      Node 0xf0062dac
                          reg:  00000014.003083f8.00000008 --> 0x1ff.f13083f8
                          device_type:  'serial'
                          name:  'su'
      
      So the correct translation here is:
      
      1) Match "su" register to second ranges entry of 'ebus', which translates
         into a PCI triplet "82010814.00000000.f1000000" of size 00800000, which
         gives us "82010814.00000000.f13083f8".
      
      2) Pass-through "SUNW,simba" since it lacks ranges property
      
      3) Match "82010814.00000000.f13083f8" to third ranges property of PCI
         controller node 'SUNW,sabre', and we arrive at the final physical
         MMIO address of "0x1fff13083f8".
      
      Due to the 2-cell assumption, we couldn't translate to a PCI 3-cell
      value, and we couldn't perform a pass-thru on it either.
      
      It was easiest to just stop splitting the ranges application operation
      between two methods, ->map and ->translate, and just let ->map do all
      the work.  That way it would work purely on 32-bit cell arrays instead
      of having to "return" some value like a u64.
      
      It's still not %100 correct because the out-of-range check is still
      done using the 64 least significant bits of the range and address.
      But it does work for all the cases I've thrown at it so far.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a83f9823
    • D
      [SPARC64]: Refine Sabre wsync logic. · 9bbd952e
      David S. Miller 提交于
      It is only needed when there is a PCI-PCI bridge sitting
      between the device and the PCI host controller which is
      not a Simba APB bridge.
      
      Add logic to handle two special cases:
      
      1) device behind EBUS, which sits on PCI
      2) PCI controller interrupts
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9bbd952e
    • D
      [SPARC64]: Fix 2 bugs in sabre_irq_build() · a23c3a86
      David S. Miller 提交于
      When installing the IRQ pre-handler, we were not setting up the second
      argument correctly.  It should be a pointer to the sabre_irq_data, not
      the config space PIO address.
      
      Furthermore, we only need this pre-handler installed if the device
      sits behind a PCI bridge that is not Sabre or Simba/APB.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a23c3a86
    • A
      [SPARC64]: of_device_register() error checking fix · 6cc8b6f5
      Andrew Morton 提交于
      device_create_file() can fail.  This causes the sparc64 compile to
      fail when my fanatical __must_check patch is applied, due to -Werror.
      
      [ Added necessary identical fix for sparc32. -DaveM]
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6cc8b6f5
  20. 11 7月, 2006 1 次提交
  21. 06 7月, 2006 2 次提交
  22. 03 7月, 2006 1 次提交