1. 24 Jan, 2007 5 commits
    • Anton Blanchard's avatar
      [POWERPC] Move ELF_ET_DYN_BASE up to 512MB point · 7e60d1b4
      Anton Blanchard authored
      I often test new versions of glibc by doing:
      
      LD_LIBRARY_PATH=/XXX/lib /XXX/lib/ld.so.1 <binary>
      
      One test case ended up SEGV'ing. Upon closer inspection ld.so was loaded
      at 0x8000000 (128MB) with the heap right after it. Since we normally
      link binaries at 0x10000000 (256MB) we only had about 128MB of space for
      the heap:
      
      00100000-00103000 r-xp 00100000 00:00 0           [vdso]
      08000000-0801e000 r-xp 00000000 00:01 33079       /lib/ld-2.5.so
      0802d000-0802f000 rwxp 0001d000 00:01 33079       /lib/ld-2.5.so
      0802f000-08050000 rwxp 0802f000 00:00 0           [heap]
      0fe91000-0ffd9000 r-xp 00000000 00:01 33082       /lib/libc-2.5.so
      0ffd9000-0ffe8000 ---p 00148000 00:01 33082       /lib/libc-2.5.so
      0ffe8000-0ffea000 r--p 00147000 00:01 33082       /lib/libc-2.5.so
      0ffea000-0ffed000 rwxp 00149000 00:01 33082       /lib/libc-2.5.so
      10000000-10004000 r-xp 00000000 00:01 76          /bin/sleep
      10013000-10014000 rwxp 00003000 00:01 76          /bin/sleep
      ffb41000-ffb56000 rw-p ffb41000 00:00 0           [stack]
      
      One way to fix this is move ELF_ET_DYN_BASE from 0x08000000 to 0x20000000.
      This allows 128MB for the binary (hopefully enough for even the most
      crazy c++ apps), and with our current layout we will grow the heap up
      and the stack down, allowing potentially gigabytes of heap:
      
      00100000-00103000 r-xp 00100000 00:00 0           [vdso]
      0fe8a000-0ffd3000 r-xp 00000000 00:01 3350        /lib/tls/libc-2.3.6.so
      0ffd3000-0ffe3000 ---p 00149000 00:01 3350        /lib/tls/libc-2.3.6.so
      0ffe3000-0ffea000 r--p 00149000 00:01 3350        /lib/tls/libc-2.3.6.so
      0ffea000-0ffee000 rwxp 00150000 00:01 3350        /lib/tls/libc-2.3.6.so
      10000000-10004000 r-xp 00000000 00:01 76          /bin/sleep
      10013000-10014000 rwxp 00003000 00:01 76          /bin/sleep
      20000000-20018000 r-xp 00000000 00:01 3478        /lib/ld-2.3.6.so
      20028000-20029000 r--p 00018000 00:01 3478        /lib/ld-2.3.6.so
      20029000-2002a000 rwxp 00019000 00:01 3478        /lib/ld-2.3.6.so
      2002a000-2004b000 rwxp 2002a000 00:00 0           [heap]
      ffd67000-ffd7c000 rw-p ffd67000 00:00 0           [stack]
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      7e60d1b4
    • Linas Vepstas's avatar
      [POWERPC] Clarify EEH error message · a885902d
      Linas Vepstas authored
      Clarify error message re EEH permanent failure.
      Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a885902d
    • Akinobu Mita's avatar
      [POWERPC] Use is_init() instead of pid==1 · 60bccbed
      Akinobu Mita authored
      Use is_init() rather than hard coded pid comparison.
      
      Cc: Anton Blanchard <anton@samba.org>
      Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      60bccbed
    • Geert Uytterhoeven's avatar
      [POWERPC] ps3_free_io_irq: Fix inverted error check · ded84bcb
      Geert Uytterhoeven authored
      ps3_free_io_irq: Fix inverted error check after calling
      lv1_destruct_io_irq_outlet().
      Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      ded84bcb
    • Geert Uytterhoeven's avatar
      [POWERPC] PS3: Fix uniprocessor kernel build · 63ea9c17
      Geert Uytterhoeven authored
      Allow to build a uniprocessor kernel for PS3.
      Signed-off-by: default avatarGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      63ea9c17
  2. 23 Jan, 2007 3 commits
    • James Bottomley's avatar
      [PATCH] x86: fix PDA variables to work during boot · 9ee79a3d
      James Bottomley authored
      The current PDA code, which went in in post 2.6.19 has a flaw in that it
      doesn't correctly cycle the GDT and %GS segment through the boot PDA,
      the CPU PDA and finally the per-cpu PDA.
      
      The bug generally doesn't show up if the boot CPU id is zero, but
      everything falls apart for a non zero boot CPU id.  The basically kills
      voyager which is perfectly capable of doing non zero CPU id boots, so
      voyager currently won't boot without this.
      
      The fix is to be careful and actually do the GDT setups correctly.
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Jeremy Fitzhardinge <jeremy@goop.org>
      Cc: Andrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ee79a3d
    • Linus Torvalds's avatar
      Merge git://git.infradead.org/mtd-2.6 · ebcccd14
      Linus Torvalds authored
      * git://git.infradead.org/mtd-2.6: (84 commits)
        [JFFS2] debug.h: include <linux/sched.h> for current->pid
        [MTD] OneNAND: Handle DDP chip boundary during read-while-load
        [MTD] OneNAND: return ecc error code only when 2-bit ecc occurs
        [MTD] OneNAND: Implement read-while-load
        [MTD] OneNAND: fix onenand_wait bug in read ecc error
        [MTD] OneNAND: release CPU in cycles
        [MTD] OneNAND: add subpage write support
        [MTD] OneNAND: fix onenand_wait bug
        [JFFS2] use the ref_offset macro
        [JFFS2] Reschedule in loops
        [JFFS2] Fix error-path leak in summary scan
        [JFFS2] add cond_resched() when garbage collecting deletion dirent
        [MTD] Nuke IVR leftovers
        [MTD] OneNAND: fix oob handling in recent oob patch
        [MTD] Fix ssfdc blksize typo
        [JFFS2] replace kmalloc+memset with kzalloc
        [MTD] Fix SSFDC build for variable blocksize.
        [MTD] ESB2ROM uses PCI
        [MTD] of_device-based physmap driver
        [MTD] Support combined RedBoot FIS directory and configuration area
        ...
      ebcccd14
    • Herbert Xu's avatar
      [PATCH] vmx: Fix register constraint in launch code · e0015489
      Herbert Xu authored
      Both "=r" and "=g" breaks my build on i386:
      
        $ make
          CC [M]  drivers/kvm/vmx.o
        {standard input}: Assembler messages:
        {standard input}:3318: Error: bad register name `%sil'
        make[1]: *** [drivers/kvm/vmx.o] Error 1
        make: *** [_module_drivers/kvm] Error 2
      
      The reason is that setbe requires an 8-bit register but "=r" does not
      constrain the target register to be one that has an 8-bit version on
      i386.
      
      According to
      
      	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10153
      
      the correct constraint is "=q".
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e0015489
  3. 22 Jan, 2007 32 commits