22 Dec, 2012

1 commit

  • Pull asm-generic cleanup from Arnd Bergmann:
    "These are a few cleanups for asm-generic:

    - a set of patches from Lars-Peter Clausen to generalize asm/mmu.h
    and use it in the architectures that don't need any special
    handling.
    - A patch from Will Deacon to remove the {read,write}s{b,w,l} as
    discussed during the arm64 review
    - A patch from James Hogan that helps with the meta architecture
    series."

    * tag 'asm-generic' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    xtensa: Use generic asm/mmu.h for nommu
    h8300: Use generic asm/mmu.h
    c6x: Use generic asm/mmu.h
    asm-generic/mmu.h: Add support for FDPIC
    asm-generic/mmu.h: Remove unused vmlist field from mm_context_t
    asm-generic: io: remove {read,write} string functions
    asm-generic/io.h: remove asm/cacheflush.h include

    Linus Torvalds
     

21 Dec, 2012

2 commits

  • Pull signal handling cleanups from Al Viro:
    "sigaltstack infrastructure + conversion for x86, alpha and um,
    COMPAT_SYSCALL_DEFINE infrastructure.

    Note that there are several conflicts between "unify
    SS_ONSTACK/SS_DISABLE definitions" and UAPI patches in mainline;
    resolution is trivial - just remove definitions of SS_ONSTACK and
    SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and
    include/uapi/linux/signal.h contains the unified variant."

    Fixed up conflicts as per Al.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    alpha: switch to generic sigaltstack
    new helpers: __save_altstack/__compat_save_altstack, switch x86 and um to those
    generic compat_sys_sigaltstack()
    introduce generic sys_sigaltstack(), switch x86 and um to it
    new helper: compat_user_stack_pointer()
    new helper: restore_altstack()
    unify SS_ONSTACK/SS_DISABLE definitions
    new helper: current_user_stack_pointer()
    missing user_stack_pointer() instances
    Bury the conditionals from kernel_thread/kernel_execve series
    COMPAT_SYSCALL_DEFINE: infrastructure

    Linus Torvalds
     
  • Pull IOMMU updates from Joerg Roedel:
    "A few new features this merge-window. The most important one is
    probably, that dma-debug now warns if a dma-handle is not checked with
    dma_mapping_error by the device driver. This requires minor changes
    to some architectures which make use of dma-debug. Most of these
    changes have the respective Acks by the Arch-Maintainers.

    Besides that there are updates to the AMD IOMMU driver for refactor
    the IOMMU-Groups support and to make sure it does not trigger a
    hardware erratum.

    The OMAP changes (for which I pulled in a branch from Tony Lindgren's
    tree) have a conflict in linux-next with the arm-soc tree. The
    conflict is in the file arch/arm/mach-omap2/clock44xx_data.c which is
    deleted in the arm-soc tree. It is safe to delete the file too so
    solve the conflict. Similar changes are done in the arm-soc tree in
    the common clock framework migration. A missing hunk from the patch
    in the IOMMU tree will be submitted as a seperate patch when the
    merge-window is closed."

    * tag 'iommu-updates-v3.8' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (29 commits)
    ARM: dma-mapping: support debug_dma_mapping_error
    ARM: OMAP4: hwmod data: ipu and dsp to use parent clocks instead of leaf clocks
    iommu/omap: Adapt to runtime pm
    iommu/omap: Migrate to hwmod framework
    iommu/omap: Keep mmu enabled when requested
    iommu/omap: Remove redundant clock handling on ISR
    iommu/amd: Remove obsolete comment
    iommu/amd: Don't use 512GB pages
    iommu/tegra: smmu: Move bus_set_iommu after probe for multi arch
    iommu/tegra: gart: Move bus_set_iommu after probe for multi arch
    iommu/tegra: smmu: Remove unnecessary PTC/TLB flush all
    tile: dma_debug: add debug_dma_mapping_error support
    sh: dma_debug: add debug_dma_mapping_error support
    powerpc: dma_debug: add debug_dma_mapping_error support
    mips: dma_debug: add debug_dma_mapping_error support
    microblaze: dma-mapping: support debug_dma_mapping_error
    ia64: dma_debug: add debug_dma_mapping_error support
    c6x: dma_debug: add debug_dma_mapping_error support
    ARM64: dma_debug: add debug_dma_mapping_error support
    intel-iommu: Prevent devices with RMRRs from being placed into SI Domain
    ...

    Linus Torvalds
     

20 Dec, 2012

1 commit

  • All architectures have
    CONFIG_GENERIC_KERNEL_THREAD
    CONFIG_GENERIC_KERNEL_EXECVE
    __ARCH_WANT_SYS_EXECVE
    None of them have __ARCH_WANT_KERNEL_EXECVE and there are only two callers
    of kernel_execve() (which is a trivial wrapper for do_execve() now) left.
    Kill the conditionals and make both callers use do_execve().

    Signed-off-by: Al Viro

    Al Viro
     

16 Dec, 2012

1 commit


13 Dec, 2012

1 commit

  • Pull big execve/kernel_thread/fork unification series from Al Viro:
    "All architectures are converted to new model. Quite a bit of that
    stuff is actually shared with architecture trees; in such cases it's
    literally shared branch pulled by both, not a cherry-pick.

    A lot of ugliness and black magic is gone (-3KLoC total in this one):

    - kernel_thread()/kernel_execve()/sys_execve() redesign.

    We don't do syscalls from kernel anymore for either kernel_thread()
    or kernel_execve():

    kernel_thread() is essentially clone(2) with callback run before we
    return to userland, the callbacks either never return or do
    successful do_execve() before returning.

    kernel_execve() is a wrapper for do_execve() - it doesn't need to
    do transition to user mode anymore.

    As a result kernel_thread() and kernel_execve() are
    arch-independent now - they live in kernel/fork.c and fs/exec.c
    resp. sys_execve() is also in fs/exec.c and it's completely
    architecture-independent.

    - daemonize() is gone, along with its parts in fs/*.c

    - struct pt_regs * is no longer passed to do_fork/copy_process/
    copy_thread/do_execve/search_binary_handler/->load_binary/do_coredump.

    - sys_fork()/sys_vfork()/sys_clone() unified; some architectures
    still need wrappers (ones with callee-saved registers not saved in
    pt_regs on syscall entry), but the main part of those suckers is in
    kernel/fork.c now."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (113 commits)
    do_coredump(): get rid of pt_regs argument
    print_fatal_signal(): get rid of pt_regs argument
    ptrace_signal(): get rid of unused arguments
    get rid of ptrace_signal_deliver() arguments
    new helper: signal_pt_regs()
    unify default ptrace_signal_deliver
    flagday: kill pt_regs argument of do_fork()
    death to idle_regs()
    don't pass regs to copy_process()
    flagday: don't pass regs to copy_thread()
    bfin: switch to generic vfork, get rid of pointless wrappers
    xtensa: switch to generic clone()
    openrisc: switch to use of generic fork and clone
    unicore32: switch to generic clone(2)
    score: switch to generic fork/vfork/clone
    c6x: sanitize copy_thread(), get rid of clone(2) wrapper, switch to generic clone()
    take sys_fork/sys_vfork/sys_clone prototypes to linux/syscalls.h
    mn10300: switch to generic fork/vfork/clone
    h8300: switch to generic fork/vfork/clone
    tile: switch to generic clone()
    ...

    Conflicts:
    arch/microblaze/include/asm/Kbuild

    Linus Torvalds
     

12 Dec, 2012

2 commits

  • Pull perf updates from Ingo Molnar:
    "Lots of activity:

    211 files changed, 8328 insertions(+), 4116 deletions(-)

    most of it on the tooling side.

    Main changes:

    * ftrace enhancements and fixes from Steve Rostedt.

    * uprobes fixes, cleanups and preparation for the ARM port from Oleg
    Nesterov.

    * UAPI fixes, from David Howels - prepares the arch/x86 UAPI
    transition

    * Separate perf tests into multiple objects, one per test, from Jiri
    Olsa.

    * Make hardware event translations available in sysfs, from Jiri
    Olsa.

    * Fixes to /proc/pid/maps parsing, preparatory to supporting data
    maps, from Namhyung Kim

    * Implement ui_progress for GTK, from Namhyung Kim

    * Add framework for automated perf_event_attr tests, where tools with
    different command line options will be run from a 'perf test', via
    python glue, and the perf syscall will be intercepted to verify
    that the perf_event_attr fields set by the tool are those expected,
    from Jiri Olsa

    * Add a 'link' method for hists, so that we can have the leader with
    buckets for all the entries in all the hists. This new method is
    now used in the default 'diff' output, making the sum of the
    'baseline' column be 100%, eliminating blind spots.

    * libtraceevent fixes for compiler warnings trying to make perf it
    build on some distros, like fedora 14, 32-bit, some of the warnings
    really pointed to real bugs.

    * Add a browser for 'perf script' and make it available from the
    report and annotate browsers. It does filtering to find the
    scripts that handle events found in the perf.data file used. From
    Feng Tang

    * perf inject changes to allow showing where a task sleeps, from
    Andrew Vagin.

    * Makefile improvements from Namhyung Kim.

    * Add --pre and --post command hooks in 'stat', from Peter Zijlstra.

    * Don't stop synthesizing threads when one vanishes, this is for the
    existing threads when we start a tool like trace.

    * Use sched:sched_stat_runtime to provide a thread summary, this
    produces the same output as the 'trace summary' subcommand of
    tglx's original "trace" tool.

    * Support interrupted syscalls in 'trace'

    * Add an event duration column and filter in 'trace'.

    * There are references to the man pages in some tools, so try to
    build Documentation when installing, warning the user if that is
    not possible, from Borislav Petkov.

    * Give user better message if precise is not supported, from David
    Ahern.

    * Try to find cross-built objdump path by using the session
    environment information in the perf.data file header, from Irina
    Tirdea, original patch and idea by Namhyung Kim.

    * Diplays more output on features check for make V=1, so that one can
    figure out what is happening by looking at gcc output, etc. From
    Jiri Olsa.

    * Add on_exit implementation for systems without one, e.g. Android,
    from Bernhard Rosenkraenzer.

    * Only process events for vcpus of interest, helps handling large
    number of events, from David Ahern.

    * Cross compilation fixes for Android, from Irina Tirdea.

    * Add documentation on compiling for Android, from Irina Tirdea.

    * perf diff improvements from Jiri Olsa.

    * Target (task/user/cpu/syswide) handling improvements, from Namhyung
    Kim.

    * Add support in 'trace' for tracing workload given by command line,
    from Namhyung Kim.

    * ... and much more."

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (194 commits)
    uprobes: Use percpu_rw_semaphore to fix register/unregister vs dup_mmap() race
    perf evsel: Introduce is_group_member method
    perf powerpc: Use uapi/unistd.h to fix build error
    tools: Pass the target in descend
    tools: Honour the O= flag when tool build called from a higher Makefile
    tools: Define a Makefile function to do subdir processing
    perf ui: Always compile browser setup code
    perf ui: Add ui_progress__finish()
    perf ui gtk: Implement ui_progress functions
    perf ui: Introduce generic ui_progress helper
    perf ui tui: Move progress.c under ui/tui directory
    perf tools: Add basic event modifier sanity check
    perf tools: Omit group members from perf_evlist__disable/enable
    perf tools: Ensure single disable call per event in record comand
    perf tools: Fix 'disabled' attribute config for record command
    perf tools: Fix attributes for '{}' defined event groups
    perf tools: Use sscanf for parsing /proc/pid/maps
    perf tools: Add gtk. config option for launching GTK browser
    perf tools: Fix compile error on NO_NEWT=1 build
    perf hists: Initialize all of he->stat with zeroes
    ...

    Linus Torvalds
     
  • Pull device tree changes from Grant Likely:
    "Here are the DT changes I've got queued up for v3.8. As described
    below, there are a lot of bug fixes here and documentation updates but
    nothing major:

    Bug fixes, little cleanups, and documentation changes. The most
    invasive thing here touches a bunch of the arch directories to use a
    common build rule for .dtb files. There are no major changes to
    functionality here other than a few new helper functions."

    * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6: (34 commits)
    arm64: Fix the dtbs target building
    mtd: nand: davinci: fix the binding documentation
    rtc: rtc-mv: Add the device tree binding documentation
    devicetree/bindings: Move gpio-leds binding into leds directory
    of/vendor-prefixes: add Imagination Technologies
    microblaze: use new common dtc rule
    c6x: use new common dtc rule
    openrisc: use new common dtc rule
    arm64: Add dtbs target for building all the enabled dtb files
    arm64: use new common dtc rule
    ARM: dt: change .dtb build rules to build in dts directory
    kbuild: centralize .dts->.dtb rule
    Fix build when CONFIG_W1_MASTER_GPIO=m b exporting "allnodes"
    of/spi: Honour "status=disabled" property of device
    of_mdio: Honour "status=disabled" property of device
    of_i2c: Honour "status=disabled" property of device
    powerpc: Fix fallout from device_node->name constification
    of: add 'const' for of_parse_phandle parameter *np
    Documentation: correct of_platform_populate() argument list
    script: dtc: clean generated files
    ...

    Linus Torvalds
     

10 Dec, 2012

1 commit


08 Dec, 2012

1 commit


04 Dec, 2012

1 commit

  • The current rules have the .dtb files build in a different directory
    from the .dts files. This patch changes c6x to use the generic dtb
    rule which builds .dtb files in the same directory as the source .dts.

    This requires moving parts of arch/c6x/boot/Makefile into newly created
    arch/c6x/boot/dts/Makefile, and updating arch/c6x/Makefile to call the
    new Makefile. linked_dtb.S is also moved into boot/dts/ since it's used
    by rules that were moved.

    Acked-by: Mark Salter
    Cc: Aurelien Jacquiot
    Cc: linux-c6x-dev@linux-c6x.org
    Signed-off-by: Stephen Warren
    Signed-off-by: Rob Herring

    Stephen Warren
     

29 Nov, 2012

4 commits


28 Nov, 2012

1 commit


27 Nov, 2012

2 commits

  • A comment in entry.S incorrectly stated that interrupt vectors
    called __do_IRQ() and that int6 vector was used for syscalls.
    Both statements are incorrect for the current kernel, so this
    patch cleans up the wording to reflect current reality.

    Signed-off-by: Mark Salter

    Mark Salter
     
  • C6x was mistakenly running do_notify_resume with interrupts disabled.
    This would triggerlead to a warning in local_bh_enable() because interrupts
    were disabled:

    ------------[ cut here ]------------
    WARNING: at /es/linux/linux-next/kernel/softirq.c:160 local_bh_enable+0x5c/0x10c()
    Modules linked in:

    e02f384d e002cda8 e02f3469 e02f384d 000000a0 e00363fc e01cce58 e5005c00
    e0327986 00000000 e63c0aec 00000164 e00363fc 00000000 fffffffe e5005c00
    e61fde00 e0268184 00000134 e01c91dc 00000001 fffffffe 00000000 10000100
    e01c80e4 e5005c00 00000000 00000000 00000000 e63c0aec e526ce00 10000100
    e628f920 e63c0a88 e6010410 e6449750 e5005c20 00000000 00000000 e63c0a80
    e5005c20 e01c8590 e63c0a80 e5005c20 e63c0aec e00a0554 e009c758 e639e860
    irq_spurious_proc_fops+0x6ad/0x3438
    warn_slowpath_common+0x8c/0xb8
    irq_spurious_proc_fops+0x2c9/0x3438
    irq_spurious_proc_fops+0x6ad/0x3438
    local_bh_enable+0x5c/0x10c
    sk_alloc+0x34/0xa4
    local_bh_enable+0x5c/0x10c
    unix_release_sock+0x5c/0x2a0
    sys_connect+0x94/0xd4
    sock_release+0x38/0x104
    sock_close+0x3c/0x54
    __fput+0x154/0x2ec
    filp_close+0xc0/0xe4
    task_work_run+0xdc/0x12c
    sys_close+0x2c/0x74
    resume_userspace+0x0/0x30
    ---[ end trace a70cbd610ae1f6b4 ]---

    This patch enables interrupts before calling do_notify_resume().

    Signed-off-by: Mark Salter

    Mark Salter
     

14 Nov, 2012

1 commit

  • In order to promote interoperability between userspace tracers and ftrace,
    add a trace_clock that reports raw TSC values which will then be recorded
    in the ring buffer. Userspace tracers that also record TSCs are then on
    exactly the same time base as the kernel and events can be unambiguously
    interlaced.

    Tested: Enabled a tracepoint and the "tsc" trace_clock and saw very large
    timestamp values.

    v2:
    Move arch-specific bits out of generic code.
    v3:
    Rename "x86-tsc", cleanups
    v7:
    Generic arch bits in Kbuild.

    Google-Bug-Id: 6980623
    Link: http://lkml.kernel.org/r/1352837903-32191-1-git-send-email-dhsharp@google.com

    Acked-by: Ingo Molnar
    Cc: Masami Hiramatsu
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: David Sharp
    Signed-off-by: Steven Rostedt

    David Sharp
     

16 Oct, 2012

1 commit


15 Oct, 2012

1 commit

  • Pull module signing support from Rusty Russell:
    "module signing is the highlight, but it's an all-over David Howells frenzy..."

    Hmm "Magrathea: Glacier signing key". Somebody has been reading too much HHGTTG.

    * 'modules-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (37 commits)
    X.509: Fix indefinite length element skip error handling
    X.509: Convert some printk calls to pr_devel
    asymmetric keys: fix printk format warning
    MODSIGN: Fix 32-bit overflow in X.509 certificate validity date checking
    MODSIGN: Make mrproper should remove generated files.
    MODSIGN: Use utf8 strings in signer's name in autogenerated X.509 certs
    MODSIGN: Use the same digest for the autogen key sig as for the module sig
    MODSIGN: Sign modules during the build process
    MODSIGN: Provide a script for generating a key ID from an X.509 cert
    MODSIGN: Implement module signature checking
    MODSIGN: Provide module signing public keys to the kernel
    MODSIGN: Automatically generate module signing keys if missing
    MODSIGN: Provide Kconfig options
    MODSIGN: Provide gitignore and make clean rules for extra files
    MODSIGN: Add FIPS policy
    module: signature checking hook
    X.509: Add a crypto key parser for binary (DER) X.509 certificates
    MPILIB: Provide a function to read raw data into an MPI
    X.509: Add an ASN.1 decoder
    X.509: Add simple ASN.1 grammar compiler
    ...

    Linus Torvalds
     

13 Oct, 2012

1 commit


12 Oct, 2012

1 commit

  • Pull pile 2 of execve and kernel_thread unification work from Al Viro:
    "Stuff in there: kernel_thread/kernel_execve/sys_execve conversions for
    several more architectures plus assorted signal fixes and cleanups.

    There'll be more (in particular, real fixes for the alpha
    do_notify_resume() irq mess)..."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (43 commits)
    alpha: don't open-code trace_report_syscall_{enter,exit}
    Uninclude linux/freezer.h
    m32r: trim masks
    avr32: trim masks
    tile: don't bother with SIGTRAP in setup_frame
    microblaze: don't bother with SIGTRAP in setup_rt_frame()
    mn10300: don't bother with SIGTRAP in setup_frame()
    frv: no need to raise SIGTRAP in setup_frame()
    x86: get rid of duplicate code in case of CONFIG_VM86
    unicore32: remove pointless test
    h8300: trim _TIF_WORK_MASK
    parisc: decide whether to go to slow path (tracesys) based on thread flags
    parisc: don't bother looping in do_signal()
    parisc: fix double restarts
    bury the rest of TIF_IRET
    sanitize tsk_is_polling()
    bury _TIF_RESTORE_SIGMASK
    unicore32: unobfuscate _TIF_WORK_MASK
    mips: NOTIFY_RESUME is not needed in TIF masks
    mips: merge the identical "return from syscall" per-ABI code
    ...

    Conflicts:
    arch/arm/include/asm/thread_info.h

    Linus Torvalds
     

10 Oct, 2012

2 commits

  • Pull generic execve() changes from Al Viro:
    "This introduces the generic kernel_thread() and kernel_execve()
    functions, and switches x86, arm, alpha, um and s390 over to them."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal: (26 commits)
    s390: convert to generic kernel_execve()
    s390: switch to generic kernel_thread()
    s390: fold kernel_thread_helper() into ret_from_fork()
    s390: fold execve_tail() into start_thread(), convert to generic sys_execve()
    um: switch to generic kernel_thread()
    x86, um/x86: switch to generic sys_execve and kernel_execve
    x86: split ret_from_fork
    alpha: introduce ret_from_kernel_execve(), switch to generic kernel_execve()
    alpha: switch to generic kernel_thread()
    alpha: switch to generic sys_execve()
    arm: get rid of execve wrapper, switch to generic execve() implementation
    arm: optimized current_pt_regs()
    arm: introduce ret_from_kernel_execve(), switch to generic kernel_execve()
    arm: split ret_from_fork, simplify kernel_thread() [based on patch by rmk]
    generic sys_execve()
    generic kernel_execve()
    new helper: current_pt_regs()
    preparation for generic kernel_thread()
    um: kill thread->forking
    um: let signal_delivered() do SIGTRAP on singlestepping into handler
    ...

    Linus Torvalds
     
  • Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones
    Signed-off-by: Mark Salter

    David Howells
     

07 Oct, 2012

1 commit

  • Pull UAPI disintegration fixes from David Howells:
    "There are three main parts:

    (1) I found I needed some more fixups in the wake of testing Arm64
    (some asm/unistd.h files had weird guards that caused problems -
    mostly in arches for which I don't have a compiler) and some
    __KERNEL__ splitting needed to take place in Arm64.

    (2) I found that c6x was missing some __KERNEL__ guards in its
    asm/signal.h. Mark Salter pointed me at a tree with a patch to
    remove that file entirely and use the asm-generic variant instead.

    (3) Lastly, m68k turned out to have a header installation problem due
    to it lacking a kvm_para.h file.

    The conditional installation bits for linux/kvm_para.h, linux/kvm.h
    and linux/a.out.h weren't very well specified - and didn't work if
    an arch didn't have the asm/ version of that file, but there *was*
    an asm-generic/ version.

    It seems the "ifneq $((wildcard ...),)" for each of those three
    headers in include/kernel/Kbuild is invoked twice during header
    installation, and the second time it matches on the just installed
    asm-generic/kvm_para.h file and thus incorrectly installs
    linux/kvm_para.h as well.

    Most arches actually have an asm/kvm_para.h, so this wasn't
    detectable in those."

    * 'uapi-prep' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Fix conditional header installation handling (notably kvm_para.h on m68k)
    c6x: remove c6x signal.h
    UAPI: Split compound conditionals containing __KERNEL__ in Arm64
    UAPI: Fix the guards on various asm/unistd.h files
    c6x: make dsk6455 the default config

    Linus Torvalds
     

06 Oct, 2012

1 commit

  • Historically, the top three bytes of personality have been used for
    things such as ADDR_NO_RANDOMIZE, which made sense only for specific
    architectures.

    We now however have a flag there that is general no matter the
    architecture (UNAME26); generally we have to be careful to preserve the
    personality flags across exec().

    This patch tries to fix all architectures that forcefully overwrite
    personality flags during exec() (ppc32 and s390 have been fixed recently
    by commits f9783ec862ea ("[S390] Do not clobber personality flags on
    exec") and 59e4c3a2fe9c ("powerpc/32: Don't clobber personality flags on
    exec") in a similar way already).

    Signed-off-by: Jiri Kosina
    Cc: Haavard Skinnemoen
    Cc: Hans-Christian Egtvedt
    Cc: Mike Frysinger
    Cc: Mark Salter
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Cc: David Howells
    Cc: Yoshinori Sato
    Cc: Richard Kuo
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Michal Simek
    Cc: Koichi Yasutake
    Cc: Jonas Bonn
    Cc: Chen Liqin
    Cc: Lennox Wu
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Kosina
     

05 Oct, 2012

2 commits


04 Oct, 2012

2 commits

  • asm-generic/unistd.h and a number of asm/unistd.h files have been given
    reinclusion guards that allow the guard to be overridden if __SYSCALL is
    defined. Unfortunately, these files define __SYSCALL and don't undefine it
    when they've finished with it, thus rendering the guard ineffective.

    The reason for this override is to allow the file to be #included multiple
    times with different settings on __SYSCALL for purposes like generating syscall
    tables.

    The following guards are problematic:

    arch/arm64/include/asm/unistd.h:#if !defined(__ASM_UNISTD_H) || defined(__SYSCALL)
    arch/arm64/include/asm/unistd32.h:#if !defined(__ASM_UNISTD32_H) || defined(__SYSCALL)
    arch/c6x/include/asm/unistd.h:#if !defined(_ASM_C6X_UNISTD_H) || defined(__SYSCALL)
    arch/hexagon/include/asm/unistd.h:#if !defined(_ASM_HEXAGON_UNISTD_H) || defined(__SYSCALL)
    arch/openrisc/include/asm/unistd.h:#if !defined(__ASM_OPENRISC_UNISTD_H) || defined(__SYSCALL)
    arch/score/include/asm/unistd.h:#if !defined(_ASM_SCORE_UNISTD_H) || defined(__SYSCALL)
    arch/tile/include/asm/unistd.h:#if !defined(_ASM_TILE_UNISTD_H) || defined(__SYSCALL)
    arch/unicore32/include/asm/unistd.h:#if !defined(__UNICORE_UNISTD_H__) || defined(__SYSCALL)
    include/asm-generic/unistd.h:#if !defined(_ASM_GENERIC_UNISTD_H) || defined(__SYSCALL)

    On the assumption that the guards' ineffectiveness has passed unnoticed, just
    remove these guards entirely.

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Catalin Marinas

    David Howells
     
  • C6X had no defconfig, so DSK6455 is as good as any.

    Signed-off-by: Mark Salter

    Mark Salter
     

03 Oct, 2012

1 commit


01 Oct, 2012

5 commits


28 Sep, 2012

1 commit

  • Use the mapping of Elf_[SPE]hdr, Elf_Addr, Elf_Sym, Elf_Dyn, Elf_Rel/Rela,
    ELF_R_TYPE() and ELF_R_SYM() to either the 32-bit version or the 64-bit version
    into asm-generic/module.h for all arches bar MIPS.

    Also, use the generic definition mod_arch_specific where possible.

    To this end, I've defined three new config bools:

    (*) HAVE_MOD_ARCH_SPECIFIC

    Arches define this if they don't want to use the empty generic
    mod_arch_specific struct.

    (*) MODULES_USE_ELF_RELA

    Arches define this if their modules can contain RELA records. This causes
    the Elf_Rela mapping to be emitted and allows apply_relocate_add() to be
    defined by the arch rather than have the core emit an error message.

    (*) MODULES_USE_ELF_REL

    Arches define this if their modules can contain REL records. This causes
    the Elf_Rel mapping to be emitted and allows apply_relocate() to be
    defined by the arch rather than have the core emit an error message.

    Note that it is possible to allow both REL and RELA records: m68k and mips are
    two arches that do this.

    With this, some arch asm/module.h files can be deleted entirely and replaced
    with a generic-y marker in the arch Kbuild file.

    Additionally, I have removed the bits from m32r and score that handle the
    unsupported type of relocation record as that's now handled centrally.

    Signed-off-by: David Howells
    Acked-by: Sam Ravnborg
    Signed-off-by: Rusty Russell

    David Howells
     

25 Sep, 2012

1 commit

  • A recent patch in the linux-next tree caused a build failure on
    C6X because C6X didn't define a read_barrier_depends() macro. C6X
    does not support SMP and the architecture doesn't provide any
    special memory ordering instructions, so it makes sense to just
    use the generic barrier.h rather than patching the existing c6x
    specific header.

    Signed-off-by: Mark Salter

    Mark Salter
     

20 Sep, 2012

1 commit