17 Sep, 2007

2 commits

  • When NR_CPUS is smaller than the cpu probed, let the user
    know that the cpu won't be used.

    Suggested by Al Viro.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • As noted by Al Viro, when we try to call prom_set_trap_table()
    in the SMP trampoline code we try to take the PROM call spinlock
    which doesn't work because the current thread pointer isn't
    valid yet and lockdep depends upon that being correct.

    Furthermore, we cannot set the current thread pointer register
    because it can't be properly dereferenced until we return from
    prom_set_trap_table(). Kernel TLB misses only work after that
    call.

    So do the PROM call to set the trap table directly instead of
    going through the OBP library C code, and thus avoid the lock
    altogether.

    These calls are guarenteed to be serialized fully.

    Since there are now no calls to the prom_set_trap_table{_sun4v}()
    library functions, they can be deleted.

    Signed-off-by: David S. Miller

    David S. Miller
     

12 Sep, 2007

1 commit

  • On the root PCI bus, the OBP device tree lists device 3 twice.
    Once as 'pm' and once as 'lomp'.

    Everything goes downhill from there.

    Ignore the second instance to workaround this.

    Thanks to Kövedi_Krisztián for the bug report and
    testing the fix.

    Signed-off-by: David S. Miller

    David S. Miller
     

31 Aug, 2007

2 commits

  • 1) sun4{u,v}_build_msi() have improper return value handling.

    We should always return negative error codes, instead of
    using the magic value "0" which could in fact be a valid
    MSI number.

    2) sun4{u,v}_build_msi() should return -ENOMEM instead of
    calling prom_prom() halt with kzalloc() of the interrupt
    data fails.

    3) We 'remembered' the MSI number using a singleton in the
    struct device archdata area, this doesn't work for MSI-X
    which can cause multiple MSIs assosciated with one device.

    Delete that archdata member, and instead store the MSI
    number in the IRQ chip data area.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Sometimes we were using 32-bit values and the top bits were
    getting inadvertantly chopped off. This will matter for the
    forthcoming Fire controller MSI support.

    Signed-off-by: David S. Miller

    David S. Miller
     

16 Aug, 2007

4 commits


09 Aug, 2007

2 commits


08 Aug, 2007

2 commits


30 Jul, 2007

5 commits

  • It didn't handle that case at all, and now dump_stack()
    can be implemented directly as show_stack(current, NULL)

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Fully unify all of the DMA ops so that subordinate bus types to
    the DMA operation providers (such as ebus, isa, of_device) can
    work transparently.

    Basically, we just make sure that for every system device we
    create, the dev->archdata 'iommu' and 'stc' fields are filled
    in.

    Then we have two platform variants of the DMA ops, one for SUN4U which
    actually programs the real hardware, and one for SUN4V which makes
    hypervisor calls.

    This also fixes the crashes in parport_pc on sparc64, reported by
    Meelis Roos.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Now that drivers/sbus/char/rtc.c is sparc32 only, we need this.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Don't provide fake PCI config space for sun4u.

    Also, put back the funny host controller space handling that
    at least Sabre needs. You have to read PCI host controller
    registers at their nature size otherwise you get zeros instead
    of correct values.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Remove fs.h from mm.h. For this,
    1) Uninline vma_wants_writenotify(). It's pretty huge anyway.
    2) Add back fs.h or less bloated headers (err.h) to files that need it.

    As result, on x86_64 allyesconfig, fs.h dependencies cut down from 3929 files
    rebuilt down to 3444 (-12.3%).

    Cross-compile tested without regressions on my two usual configs and (sigh):

    alpha arm-mx1ads mips-bigsur powerpc-ebony
    alpha-allnoconfig arm-neponset mips-capcella powerpc-g5
    alpha-defconfig arm-netwinder mips-cobalt powerpc-holly
    alpha-up arm-netx mips-db1000 powerpc-iseries
    arm arm-ns9xxx mips-db1100 powerpc-linkstation
    arm-assabet arm-omap_h2_1610 mips-db1200 powerpc-lite5200
    arm-at91rm9200dk arm-onearm mips-db1500 powerpc-maple
    arm-at91rm9200ek arm-picotux200 mips-db1550 powerpc-mpc7448_hpc2
    arm-at91sam9260ek arm-pleb mips-ddb5477 powerpc-mpc8272_ads
    arm-at91sam9261ek arm-pnx4008 mips-decstation powerpc-mpc8313_rdb
    arm-at91sam9263ek arm-pxa255-idp mips-e55 powerpc-mpc832x_mds
    arm-at91sam9rlek arm-realview mips-emma2rh powerpc-mpc832x_rdb
    arm-ateb9200 arm-realview-smp mips-excite powerpc-mpc834x_itx
    arm-badge4 arm-rpc mips-fulong powerpc-mpc834x_itxgp
    arm-carmeva arm-s3c2410 mips-ip22 powerpc-mpc834x_mds
    arm-cerfcube arm-shannon mips-ip27 powerpc-mpc836x_mds
    arm-clps7500 arm-shark mips-ip32 powerpc-mpc8540_ads
    arm-collie arm-simpad mips-jazz powerpc-mpc8544_ds
    arm-corgi arm-spitz mips-jmr3927 powerpc-mpc8560_ads
    arm-csb337 arm-trizeps4 mips-malta powerpc-mpc8568mds
    arm-csb637 arm-versatile mips-mipssim powerpc-mpc85xx_cds
    arm-ebsa110 i386 mips-mpc30x powerpc-mpc8641_hpcn
    arm-edb7211 i386-allnoconfig mips-msp71xx powerpc-mpc866_ads
    arm-em_x270 i386-defconfig mips-ocelot powerpc-mpc885_ads
    arm-ep93xx i386-up mips-pb1100 powerpc-pasemi
    arm-footbridge ia64 mips-pb1500 powerpc-pmac32
    arm-fortunet ia64-allnoconfig mips-pb1550 powerpc-ppc64
    arm-h3600 ia64-bigsur mips-pnx8550-jbs powerpc-prpmc2800
    arm-h7201 ia64-defconfig mips-pnx8550-stb810 powerpc-ps3
    arm-h7202 ia64-gensparse mips-qemu powerpc-pseries
    arm-hackkit ia64-sim mips-rbhma4200 powerpc-up
    arm-integrator ia64-sn2 mips-rbhma4500 s390
    arm-iop13xx ia64-tiger mips-rm200 s390-allnoconfig
    arm-iop32x ia64-up mips-sb1250-swarm s390-defconfig
    arm-iop33x ia64-zx1 mips-sead s390-up
    arm-ixp2000 m68k mips-tb0219 sparc
    arm-ixp23xx m68k-amiga mips-tb0226 sparc-allnoconfig
    arm-ixp4xx m68k-apollo mips-tb0287 sparc-defconfig
    arm-jornada720 m68k-atari mips-workpad sparc-up
    arm-kafa m68k-bvme6000 mips-wrppmc sparc64
    arm-kb9202 m68k-hp300 mips-yosemite sparc64-allnoconfig
    arm-ks8695 m68k-mac parisc sparc64-defconfig
    arm-lart m68k-mvme147 parisc-allnoconfig sparc64-up
    arm-lpd270 m68k-mvme16x parisc-defconfig um-x86_64
    arm-lpd7a400 m68k-q40 parisc-up x86_64
    arm-lpd7a404 m68k-sun3 powerpc x86_64-allnoconfig
    arm-lubbock m68k-sun3x powerpc-cell x86_64-defconfig
    arm-lusl7200 mips powerpc-celleb x86_64-up
    arm-mainstone mips-atlas powerpc-chrp32

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

27 Jul, 2007

1 commit


25 Jul, 2007

2 commits

  • We can't mark the whole thing init because there are dependencies
    in bootloaders that assume that _start, or whatever the image
    entry value, is 2 instructions before the "HdrS" signature.

    In fact, TILO assumes this entry is always at 0x4000, yikes!

    Also, right after the bootloader info area there are OBP strings and
    values that get used later in the boot process, and those are not all
    provably .init yet.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This fixes boot failures when the build-id LD option is
    actually used, because without it we end up with multiple
    PT_LOAD sections which the SILO boot loader cannot handle.

    Signed-off-by: David S. Miller

    David S. Miller
     

22 Jul, 2007

4 commits

  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined!
    [SPARC32]: Make PAGE_SHARED a read-mostly variable.
    [SPARC32]: Take enable_irq/disable_irq out of line.
    [SPARC32]: clean include/asm-sparc/irq.h
    [SPARC32]: Fix rounding errors in ndelay/udelay implementation.

    Linus Torvalds
     
  • From: Christoph Hellwig

    On Fri, Jul 20, 2007 at 09:24:42AM -0400, Horst H. von Brand wrote:
    > When building v2.6.22-3478-g275afca on sparc64 (.config attached) I get:
    >
    > MODPOST vmlinux
    > Building modules, stage 2.
    > MODPOST 463 modules
    > ERROR: "sys_ioctl" [arch/sparc64/solaris/solaris.ko] undefined!

    Sorry, my fault.

    It looked to me like sparc64 exports sys_ioctl on it's own, but it
    only exports compat_sys_ioctl on it's own.

    Signed-off-by: David S. Miller

    Christoph Hellwig
     
  • i386 and sparc64 have the identical code to update the cmos clock. Move it
    into kernel/time/ntp.c as there are other architectures coming along with the
    same requirements.

    [akpm@linux-foundation.org: build fixes]
    Signed-off-by: Thomas Gleixner
    Cc: Chris Wright
    Cc: Ingo Molnar
    Cc: john stultz
    Cc: David Miller
    Cc: Roman Zippel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • We need to make sure, that the clockevent devices are resumed, before
    the tick is resumed. The current resume logic does not guarantee this.

    Add CLOCK_EVT_MODE_RESUME and call the set mode functions of the clock
    event devices before resuming the tick / oneshot functionality.

    Fixup the existing users.

    Thanks to Nigel Cunningham for tracking down a long standing thinko,
    which affected the jinxed VAIO.

    [akpm@linux-foundation.org: xen build fix]
    Signed-off-by: Thomas Gleixner
    Cc: john stultz
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     

21 Jul, 2007

11 commits


20 Jul, 2007

4 commits