08 Jan, 2010

1 commit

  • The fallback code in cipher mode touch the union fallback.blk instead
    of fallback.cip. This is wrong because we use the cipher and not the
    blockcipher. This did not show any side effects yet because both types /
    structs contain the same element right now.

    Signed-off-by: Roel Kluin
    Signed-off-by: Sebastian Andrzej Siewior
    Signed-off-by: Herbert Xu

    Roel Kluin
     

19 Dec, 2009

1 commit


18 Dec, 2009

9 commits

  • …/rusty/linux-2.6-for-linus

    * 'cpumask-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:
    cpumask: rename tsk_cpumask to tsk_cpus_allowed
    cpumask: don't recommend set_cpus_allowed hack in Documentation/cpu-hotplug.txt
    cpumask: avoid dereferencing struct cpumask
    cpumask: convert drivers/idle/i7300_idle.c to cpumask_var_t
    cpumask: use modern cpumask style in drivers/scsi/fcoe/fcoe.c
    cpumask: avoid deprecated function in mm/slab.c
    cpumask: use cpu_online in kernel/perf_event.c

    Linus Torvalds
     
  • …/git/tmlind/linux-omap-2.6

    * 'omap-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6:
    OMAP3: serial - fix bug introduced in
    mfd: twl: fix twl4030 rename for remaining driver, board files
    USB ehci: replace mach header with plat
    omap3: Allow EHCI to be built on OMAP3

    Linus Torvalds
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (71 commits)
    MIPS: Lasat: Fix botched changes to sysctl code.
    RTC: rtc-cmos.c: Fix warning on MIPS
    MIPS: Cleanup random differences beween lmo and Linus' kernel.
    MIPS: No longer hardwire CONFIG_EMBEDDED to y
    MIPS: Fix and enhance built-in kernel command line
    MIPS: eXcite: Remove platform.
    MIPS: Loongson: Cleanups of serial port support
    MIPS: Lemote 2F: Suspend CS5536 MFGPT Timer
    MIPS: Excite: move iodev_remove to .devexit.text
    MIPS: Lasat: Convert to proc_fops / seq_file
    MIPS: Cleanup signal code initialization
    MIPS: Modularize COP2 handling
    MIPS: Move EARLY_PRINTK to Kconfig.debug
    MIPS: Yeeloong 2F: Cleanup reset logic using the new ec_write function
    MIPS: Yeeloong 2F: Add LID open event as the wakeup event
    MIPS: Yeeloong 2F: Add basic EC operations
    MIPS: Move several variables from .bss to .init.data
    MIPS: Tracing: Make function graph tracer work with -mmcount-ra-address
    MIPS: Tracing: Reserve $12(t0) for mcount-ra-address of gcc 4.5
    MIPS: Tracing: Make ftrace for MIPS work without -fno-omit-frame-pointer
    ...

    Linus Torvalds
     
  • * 'next-spi' of git://git.secretlab.ca/git/linux-2.6:
    spi: spi_txx9.c: use resource_size()
    spi: spi_sh_sci.c: use resource_size()
    spi: spi_mpc8xxx.c: use resource_size()
    spi: spi_bfin5xx.c: use resource_size()
    spi: atmel_spi.c: use resource_size()
    spi: Add s3c64xx SPI Controller driver
    atmel_spi: fix dma addr calculation for len > BUFFER_SIZE
    spi_s3c24xx: add FIQ pseudo-DMA support
    spi: controller driver for Designware SPI core
    spidev: add proper section markers
    spidev: use DECLARE_BITMAP instead of declaring the array

    Linus Torvalds
     
  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm:
    PCMCIA: fix pxa2xx_lubbock modular build error
    [ARM] Update mach-types
    [ARM] pxa: fix no reference of cpu_is_pxa25x() in devices.c
    [ARM] pxa/cm-x300: add PWM backlight support
    revert "[ARM] pxa/cm-x300: add PWM backlight support"
    ARM: use flush_kernel_dcache_area() for dmabounce
    ARM: add size argument to __cpuc_flush_dcache_page
    ARM: 5848/1: kill flush_ioremap_region()
    ARM: cache-l2x0: make better use of background cache handling
    ARM: cache-l2x0: avoid taking spinlock for every iteration
    [ARM] Kirkwood: Add LaCie Network Space v2 support
    ARM: dove: fix the mm mmu flags of the pj4 procinfo

    Linus Torvalds
     
  • Russell King
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    kill I_LOCK
    fold do_sync_file_range into sys_sync_file_range
    fix up O_SYNC comments
    VFS/fsstack: handle 32-bit smp + preempt + large files in fsstack_copy_inode_size
    fsstack/ecryptfs: remove unused get_nlinks param to fsstack_copy_attr_all
    vfs: remove extraneous NULL d_inode check from do_filp_open
    fs: no games with DCACHE_UNHASHED
    fs: anon_inodes implement dname
    dio: fix use-after-free

    Linus Torvalds
     
  • * 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score:
    score: include asm-generic/param.h in asm/delay.h.
    score: fixed pfn_valid define.
    score: add flush_dcahce_page and PG_dcache_dirty define

    Linus Torvalds
     
  • Proper Posix O_SYNC handling only made it into 2.6.33, not 2.6.32.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Al Viro

    Christoph Hellwig
     

17 Dec, 2009

29 commits

  • Add pseudo-DMA by FIQ to the S3C24XX SPI driver. This allows the driver
    to get DMA-like performance where there are either no free DMA channels or
    when doing transfers that required both TX and RX data paths.

    Since this patch requires the addition of an assembly file to hold the FIQ
    code, we rename the module (instead of adding a rename of the .c file to
    this patch). We expect most users are loading this via udev and thus
    there should be no change to the userland configuration.

    Signed-off-by: Ben Dooks
    Signed-off-by: Simtec Linux Team
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Grant Likely

    Ben Dooks
     
  • * 'for-33' of git://repo.or.cz/linux-kbuild: (29 commits)
    net: fix for utsrelease.h moving to generated
    gen_init_cpio: fixed fwrite warning
    kbuild: fix make clean after mismerge
    kbuild: generate modules.builtin
    genksyms: properly consider EXPORT_UNUSED_SYMBOL{,_GPL}()
    score: add asm/asm-offsets.h wrapper
    unifdef: update to upstream revision 1.190
    kbuild: specify absolute paths for cscope
    kbuild: create include/generated in silentoldconfig
    scripts/package: deb-pkg: use fakeroot if available
    scripts/package: add KBUILD_PKG_ROOTCMD variable
    scripts/package: tar-pkg: use tar --owner=root
    Kbuild: clean up marker
    net: add net_tstamp.h to headers_install
    kbuild: move utsrelease.h to include/generated
    kbuild: move autoconf.h to include/generated
    drop explicit include of autoconf.h
    kbuild: move compile.h to include/generated
    kbuild: drop include/asm
    kbuild: do not check for include/asm-$ARCH
    ...

    Fixed non-conflicting clean merge of modpost.c as per comments from
    Stephen Rothwell (modpost.c had grown an include of linux/autoconf.h
    that needed to be changed to generated/autoconf.h)

    Linus Torvalds
     
  • The loop condition is fragile: we compare an unsigned value to zero, and
    then decrement it by something larger than one in the loop. All the
    callers should be passing in appropriately aligned buffer lengths, but
    it's better to just not rely on it, and have some appropriate defensive
    loop limits.

    Acked-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Signed-off-by: Cui Bixiong
    Signed-off-by: Chen Liqin

    Chen Liqin
     
  • Signed-off-by: Cui Bixiong
    Signed-off-by: Chen Liqin

    modified: arch/score/include/asm/page.h
    modified: arch/score/kernel/setup.c
    modified: arch/score/mm/init.c

    Chen Liqin
     
  • Signed-off-by: Cui Bixiong
    Signed-off-by: Chen Liqin

    modified: arch/score/include/asm/cacheflush.h
    modified: arch/score/mm/cache.c

    Chen Liqin
     
  • Russell King
     
  • Commit 163931922220e4cb5effd5af1e105038c2f0ab7a "sysctl mips/lasat: Remove
    dead binary sysctl support" obviously wasn't test built ...

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • There's no reason for MIPS to select EMBEDDED. In fact, EMBEDDED makes
    MIPS more awkward to deal with because it makes it different to the
    majority of architectures for no good reason.

    [Ralf: Historically disabling EMBEDDED had hid essential options for many
    MIPS platforms such as serial console and forced crap like VGA support
    or power managment enabled for platforms where those don't make any sense.

    The name of the option is also _very_ missleading so many users don't
    select it even where is was required for a functioning kernel.]

    Signed-off-by: Martin Michlmayr
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/663/
    Signed-off-by: Ralf Baechle

    Martin Michlmayr
     
  • Currently, MIPS kernels silently overwrite kernel command-line parameters
    hardcoded in CONFIG_CMDLINE by the ones received from firmware. Therefore,
    using firmware remains the only reliable method to transfer the
    command-line parameters, which is not always desirable or convenient, and
    the CONFIG_CMDLINE option is thereby effectively rendered useless.

    This patch fixes the problem described above and introduces a more flexible
    scheme of handling the kernel command line, in a manner identical to what is
    currently used for x86. The default behavior, i.e. when CONFIG_CMDLINE_BOOL
    is not defined, retains the existing semantics, and firmware command-line
    arguments override the hardcoded ones.

    [Ralf: I fixed up all the defconfig files so the stay unaffected by this
    change.]

    Signed-off-by: Dmitri Vorobiev
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/689/
    Signed-off-by: Ralf Baechle

    Dmitri Vorobiev
     
  • The platform has never been fully merged

    Signed-off-by: Ralf Baechle
    Cc: Thomas Koeller
    Cc: David Woodhouse
    Cc: Wim Van Sebroeck
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mtd@lists.infradead.org
    Acked-by: David Woodhouse
    Acked-by: Wim Van Sebroeck

    Ralf Baechle
     
  • This patchs uses a loongson_uart_base variable instead of the
    uart_base[] array and adds a new kernel option to avoid to compile
    uart_base.c all the time, which will save a little bit of memory for us.

    Signed-off-by: Wu Zhangjin
    Cc: linux-mips@linux-mips.org
    http://patchwork.linux-mips.org/patch/727/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Before putting the Loongson 2F into wait mode, suspend the MFGPT Timer and
    after wake-up resume it. This may save some power.

    Signed-off-by: Wu Zhangjin
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/706/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • The function iodev_remove is used only wrapped by __devexit_p so define
    it using __devexit.

    Signed-off-by: Uwe Kleine-König
    Cc: Ming Lei
    Cc: Henrique de Moraes Holschuh
    Cc: Greg Kroah-Hartman
    Cc: David Brownell
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/710/
    Signed-off-by: Ralf Baechle

    Uwe Kleine-König
     
  • Signed-off-by: Alexey Dobriyan
    Cc: akpm@linux-foundation.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/725/
    Signed-off-by: Ralf Baechle

    Alexey Dobriyan
     
  • Signed-off-by: Ralf Baechle
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/709/

    Ralf Baechle
     
  • Away with the daemons of ifdef; get ready for future COP2 users.

    Signed-off-by: Ralf Baechle
    Patchwork: http://patchwork.linux-mips.org/patch/708/

    Ralf Baechle
     
  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Wu Zhangjin
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/683/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Yeeloong 2F netbook has an KB3310B embedded controller to manage the LID
    action. When the LID is closed or opened a SCI interrupt is sent out and
    the corresponding event is saved to an EC register for later query.

    Allow the LID open interrupt to wake the processor from wait mode if it is
    in the suspend mode.

    Signed-off-by: Wu Zhangjin
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/685/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • YeeLoong2F has a KB3310b embedded controller. Add basic operations for
    future related drivers and board support.

    Signed-off-by: Wu Zhangjin
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/684/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • Several static uninitialized variables are used in the scope of __init
    functions but are themselves not marked as __initdata. This patch is to put
    those variables to where they belong and to reduce the memory footprint a
    little bit.

    Also, a couple of lines with spaces instead of tabs were fixed.

    Signed-off-by: Dmitri Vorobiev
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/698/
    Acked-by: Florian Fainelli
    Signed-off-by: Ralf Baechle

    Dmitri Vorobiev
     
  • That thread "MIPS: Add option to pass return address location to
    _mcount" from "David Daney " have added a new
    option -mmcount-ra-address to gcc(4.5) for MIPS to transfer the location
    of the return address to _mcount.

    Benefit from this new feature, function graph tracer on MIPS will be
    easier and safer to hijack the return address of the kernel function,
    which will save some overhead and make the whole thing more reliable.

    In this patch, at first, try to enable the option -mmcount-ra-address in
    arch/mips/Makefile with cc-option, if gcc support it, it will be
    enabled, otherwise, no side effect.

    and then, we need to support this new option of gcc 4.5 and also support
    the old gcc versions.

    with _mcount in the old gcc versions, it's not easy to get the location
    of return address(tracing: add function graph tracer support for MIPS),
    so, we do it in a C function: ftrace_get_parent_addr(ftrace.c), but
    with -mmcount-ra-address, only several instructions need to get what
    we want, so, I put into asm(mcount.S). and also, as the $12(t0) is
    used by -mmcount-ra-address for transferring the localtion of return
    address to _mcount, we need to save it into the stack and restore it
    when enabled dynamic function tracer, 'Cause we have called
    "ftrace_call" before "ftrace_graph_caller", which may destroy
    $12(t0).

    (Thanks to David for providing that -mcount-ra-address and giving the
    idea of KBUILD_MCOUNT_RA_ADDRESS, both of them have made the whole
    thing more beautiful!)

    Signed-off-by: Wu Zhangjin
    Cc: Steven Rostedt
    Cc: Nicholas Mc Guire
    Cc: zhangfx@lemote.com
    Cc: Wu Zhangjin
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/681/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • A new option -mmcount-ra-address for gcc 4.5 have been sent by David
    Daney in the thread "MIPS: Add option to
    pass return address location to _mcount", which help to record the
    location of the return address(ra) for the function graph tracer of MIPS
    to hijack the return address easier and safer. that option used the
    $12(t0) register by default, so, we reserve it for it, and use t1,t2,t3
    instead of t0,t1,t2.

    Signed-off-by: Wu Zhangjin
    Cc: Steven Rostedt
    Cc: Nicholas Mc Guire
    Cc: zhangfx@lemote.com
    Cc: Wu Zhangjin
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/680/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • When remove the -fno-omit-frame-pointer, gcc will not save the frame
    pointer for us, we need to save one ourselves.

    Signed-off-by: Wu Zhangjin
    Cc: Steven Rostedt
    Cc: Nicholas Mc Guire
    Cc: zhangfx@lemote.com
    Cc: Wu Zhangjin
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/679/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • This patch make function graph tracer work with dynamic function tracer.

    To share the source code of dynamic function tracer(MCOUNT_SAVE_REGS),
    and avoid restoring the whole saved registers, we need to restore the ra
    register from the stack.

    (NOTE: This not work with 32bit! need to ensure why!)

    Signed-off-by: Wu Zhangjin
    Cc: Steven Rostedt
    Cc: Nicholas Mc Guire
    Cc: zhangfx@lemote.com
    Cc: Wu Zhangjin
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/678/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • The implementation of function graph tracer for MIPS is a little
    different from X86.

    in MIPS, gcc(with -pg) only transfer the caller's return address(at) and
    the _mcount's return address(ra) to us.

    For the kernel part without -mlong-calls:

    move at, ra
    jal _mcount

    For the module part with -mlong-calls:

    lui v1, hi16bit_of_mcount
    addiu v1, v1, low16bit_of_mcount
    move at, ra
    jal _mcount

    Without -mlong-calls,

    if the function is a leaf, it will not save the return address(ra):

    ffffffff80101298 :
    ffffffff80101298: 67bdfff0 daddiu sp,sp,-16
    ffffffff8010129c: ffbe0008 sd s8,8(sp)
    ffffffff801012a0: 03a0f02d move s8,sp
    ffffffff801012a4: 03e0082d move at,ra
    ffffffff801012a8: 0c042930 jal ffffffff8010a4c0
    ffffffff801012ac: 00020021 nop

    so, we can hijack it directly in _mcount, but if the function is non-leaf, the
    return address is saved in the stack.

    ffffffff80133030 :
    ffffffff80133030: 67bdff50 daddiu sp,sp,-176
    ffffffff80133034: ffbe00a0 sd s8,160(sp)
    ffffffff80133038: 03a0f02d move s8,sp
    ffffffff8013303c: ffbf00a8 sd ra,168(sp)
    ffffffff80133040: ffb70098 sd s7,152(sp)
    ffffffff80133044: ffb60090 sd s6,144(sp)
    ffffffff80133048: ffb50088 sd s5,136(sp)
    ffffffff8013304c: ffb40080 sd s4,128(sp)
    ffffffff80133050: ffb30078 sd s3,120(sp)
    ffffffff80133054: ffb20070 sd s2,112(sp)
    ffffffff80133058: ffb10068 sd s1,104(sp)
    ffffffff8013305c: ffb00060 sd s0,96(sp)
    ffffffff80133060: 03e0082d move at,ra
    ffffffff80133064: 0c042930 jal ffffffff8010a4c0
    ffffffff80133068: 00020021 nop

    but we can not get the exact stack address(which saved ra) directly in
    _mcount, we need to search the content of at register in the stack space
    or search the "s{d,w} ra, offset(sp)" instruction in the text. 'Cause we
    can not prove there is only a match in the stack space, so, we search
    the text instead.

    as we can see, if the first instruction above "move at, ra" is not a
    store instruction, there should be a leaf function, so we hijack the at
    register directly via putting &return_to_handler into it, otherwise, we
    search the "s{d,w} ra, offset(sp)" instruction to get the stack offset,
    and then the stack address. we use the above copy_process() as an
    example, we at last find "ffbf00a8", 0xa8 is the stack offset, we plus
    it with s8(fp), that is the stack address, we hijack the content via
    writing the &return_to_handler in.

    If with -mlong-calls, since there are two more instructions above "move
    at, ra", so, we can move the pointer to the position above "lui v1,
    hi16bit_of_mcount".

    Signed-off-by: Wu Zhangjin
    Cc: Steven Rostedt
    Cc: Nicholas Mc Guire
    Cc: zhangfx@lemote.com
    Cc: Wu Zhangjin
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/677/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin
     
  • This patch add a new section for MIPS to record the block of the hardirq
    handling for function graph tracer(print_graph_irq) via adding the
    __irq_entry annotation to the the entrypoints of the hardirqs(the block
    with irq_enter()...irq_exit()).

    Thanks goes to Steven & Frederic Weisbecker for their feedbacks.

    Signed-off-by: Wu Zhangjin
    Cc: Steven Rostedt
    Cc: Nicholas Mc Guire
    Cc: zhangfx@lemote.com
    Cc: Wu Zhangjin
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Frederic Weisbecker
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    Reviewed-by: Frederic Weisbecker
    Patchwork: http://patchwork.linux-mips.org/patch/676/
    Signed-off-by: Ralf Baechle

    Wu Zhangjin