22 Nov, 2011

1 commit


01 Nov, 2011

1 commit

  • * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Remove __ARCH_WANT_INTERRUPTS_ON_CTXSW usage
    microblaze: Use delay slot in __strnlen_user, __strncpy_user
    microblaze: Remove NET_IP_ALIGN from system.h
    microblaze: Add __ucmpdi2() helper function
    microblaze: Raise SIGFPE/FPE_INTDIV for div by zero
    microblaze: Switch ELF_ARCH code to 189
    microblaze: Added DMA sync operations
    microblaze: Moved __dma_sync() to dma-mapping.h
    microblaze: Add PVR for Microblaze v8.20.a
    microblaze: Fix access_ok macro
    microblaze: Add loop unrolling for PAGE in copy_tofrom_user
    microblaze: Simplify logic for unaligned byte copying
    microblaze: Change label names - copy_tofrom_user
    microblaze: Separate fixup section definition
    microblaze: Change label name in copy_tofrom_user
    microblaze: Clear top bit from cnt32_to_63

    Linus Torvalds
     

14 Oct, 2011

5 commits

  • As far as I can tell the only reason microblaze has
    __ARCH_WANT_INTERRUPTS_ON_CTXSW is because it initializes new task state
    with interrupts enabled so that on switch_to() interrupts get enabled.

    So change copy_thread() to clear MSR_IE instead of set it, this will
    ensure switch_to() will always keep IRQs disabled.

    The scheduler will disable IRQs when taking rq->lock in schedule() and
    enable IRQs in finish_lock_switch() after its done its magic.

    This leaves ARM the only __ARCH_WANT_INTERRUPTS_ON_CTXSW user.

    Signed-off-by: Peter Zijlstra
    Signed-off-by: Michal Simek

    Peter Zijlstra
     
  • Use default value (which is the same) from
    include/linux/skbuff.h.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Switch arch code to 189, the registered code in the upstream
    version of binutils. Continue to accept the experimental 0xbaab.

    Signed-off-by: Edgar E. Iglesias
    Signed-off-by: Michal Simek

    Edgar E. Iglesias
     
  • __dma_sync_page() was replaced by __dma_sync(), and parameters of calls to
    the new function were adjusted to match __dma_sync()'s format.

    Signed-off-by: Eli Billauer
    Signed-off-by: Michal Simek

    Eli Billauer
     
  • There is the problem with bit OR (|) because for
    some combination is addr | size | addr+size equal
    to seq.

    For standard kernel setting (kernel starts at 0xC0000000)
    is seq for user space 0xBFFFFFFF and everything below
    this limit is fine.

    But even address 0xBFFFFFFF is fine because it
    is below kernel space.

    Signed-off-by: Andrew Fedonczuk
    Signed-off-by: Michal Simek

    Michal Simek
     

28 Sep, 2011

1 commit

  • There are numerous broken references to Documentation files (in other
    Documentation files, in comments, etc.). These broken references are
    caused by typo's in the references, and by renames or removals of the
    Documentation files. Some broken references are simply odd.

    Fix these broken references, sometimes by dropping the irrelevant text
    they were part of.

    Signed-off-by: Paul Bolle
    Signed-off-by: Jiri Kosina

    Paul Bolle
     

28 Jul, 2011

1 commit

  • * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
    microblaze: Do not show error message for 32 interrupt lines
    Revert "microblaze: PCI fix typo fault in of_node pointer moving into pci_bus"
    microblaze: PCI fix typo fault in of_node pointer moving into pci_bus
    microblaze: Add support for early console on mdm
    microblaze: Simplify early console binding from DT
    microblaze: Get early printk console earlier
    microblaze: Standardise cpuinfo output for cache policy
    microblaze: Unprivileged stream instruction awareness
    microblaze: trivial: Fix typo fault
    microblaze: exec: Remove redundant set_fs(USER_DS)
    microblaze: Remove duplicated prototype of start_thread()
    microblaze: Fix unaligned value saving to the stack for system with MMU
    microblaze/irqs: Do not trace arch_local_{*,irq_*} functions

    Linus Torvalds
     

27 Jul, 2011

3 commits

  • …git/arm/linux-arm-soc

    * 'next/cross-platform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/linux-arm-soc:
    ARM: Consolidate the clkdev header files
    ARM: set vga memory base at run-time
    ARM: convert PCI defines to variables
    ARM: pci: make pcibios_assign_all_busses use pci_has_flag
    ARM: remove unnecessary mach/hardware.h includes
    pci: move microblaze and powerpc pci flag functions into asm-generic
    powerpc: rename ppc_pci_*_flags to pci_*_flags

    Fix up conflicts in arch/microblaze/include/asm/pci-bridge.h

    Linus Torvalds
     
  • This allows us to move duplicated code in
    (atomic_inc_not_zero() for now) to

    Signed-off-by: Arun Sharma
    Reviewed-by: Eric Dumazet
    Cc: Ingo Molnar
    Cc: David Miller
    Cc: Eric Dumazet
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arun Sharma
     
  • [ poleg@redhat.com: no need to declare show_regs() in ptrace.h, sched.h does this ]
    Signed-off-by: Mike Frysinger
    Cc: Tejun Heo
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     

25 Jul, 2011

6 commits

  • Recognize early Linux console from chosen - linux,stdout-path
    instead of detecting the first console with appropriate
    compatible strings.
    This patch solved the problem on system with multiple
    consoles.

    Signed-off-by: Michal Simek

    Michal Simek
     
  • 1. Register early console as standard console
    2. Enable CON_BOOT console flag to ensure auto-unregistering by the kernel
    3. remap_early_printk function remap physical console baseaddr to virtual space

    Usage specific function for console remap is done after memory initialization
    with IRQ turn off that's why there is not necessary to protect it.

    The reason for remapping is that the kernel use TLB 63 for 1:1 address mapping
    to be able to use console in very early boot-up phase. But allocating one TLB
    just for console caused performance degression that's why ioremaps create new
    mapping and TLB 63 is automatically released and ready to use.

    Signed-off-by: Michal Simek
    CC: Russell King
    CC: Ralf Baechle
    CC: Ingo Molnar
    CC: Alan Cox
    CC:
    CC: Arnd Bergmann

    Michal Simek
     
  • Add cpuinfo support for the new MicroBlaze option permitting userspace
    (unprivileged) access to the streaming instructions (FSL / AXI-stream).

    Emit a noisy warning at bootup if this is enabled, because bad user code
    can potentially lockup the CPU.

    Signed-off-by: John A. Williams
    Signed-off-by: Michal Simek

    John A. Williams
     
  • descrtiption -> description

    Signed-off-by: Michal Simek

    Michal Simek
     
  • The prototype for start_thread() is already present in the MMU/NOMMU
    independent part of the file. Remove the duplicate.

    Signed-off-by: Mathias Krause
    Signed-off-by: Michal Simek

    Mathias Krause
     
  • Do not trace arch_local_save_flags(), arch_local_irq_*() and friends.
    Although they are marked inline, gcc may still make a function out of
    them and add it to the pool of functions that are traced by the function
    tracer. This can cause undesirable results (kernel panic, triple faults,
    etc).

    Add the notrace notation to prevent them from ever being traced.

    Cc: Michal Simek
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

13 Jul, 2011

1 commit


08 Jun, 2011

4 commits

  • The generic code always get the device-node in the right place now
    so a single implementation will work for all archs

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Grant Likely
    Acked-by: Michal Simek
    Acked-by: Jesse Barnes

    Benjamin Herrenschmidt
     
  • All archs do more or less the same thing now, move it into
    a single generic place.

    I chose pci.h rather than of_pci.h to avoid having to change
    all call-sites to include the later.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Michal Simek
    Acked-by: Grant Likely
    Acked-by: Jesse Barnes

    Benjamin Herrenschmidt
     
  • The whole business with re-assigning all bus numbers, creating
    an OF bus "map" etc... is ancient powermac stuff that you really
    don't care about on microblaze.

    Similarly pci_device_from_OF_node() is unused and by getting rid
    of it we can get rid of a whole lot of code otherwise unused on
    this architecture

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Grant Likely
    Acked-by: Michal Simek

    Benjamin Herrenschmidt
     
  • powerpc has two different ways of matching PCI devices to their
    corresponding OF node (if any) for historical reasons. The ppc64 one
    does a scan looking for matching bus/dev/fn, while the ppc32 one does a
    scan looking only for matching dev/fn on each level in order to be
    agnostic to busses being renumbered (which Linux does on some
    platforms).

    This removes both and instead moves the matching code to the PCI core
    itself. It's the most logical place to do it: when a pci_dev is created,
    we know the parent and thus can do a single level scan for the matching
    device_node (if any).

    The benefit is that all archs now get the matching for free. There's one
    hook the arch might want to provide to match a PHB bus to its device
    node. A default weak implementation is provided that looks for the
    parent device device node, but it's not entirely reliable on powerpc for
    various reasons so powerpc provides its own.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Michal Simek
    Acked-by: Jesse Barnes

    Benjamin Herrenschmidt
     

29 May, 2011

1 commit

  • 32bit and 64bit on x86 are tested and working. The rest I have looked
    at closely and I can't find any problems.

    setns is an easy system call to wire up. It just takes two ints so I
    don't expect any weird architecture porting problems.

    While doing this I have noticed that we have some architectures that are
    very slow to get new system calls. cris seems to be the slowest where
    the last system calls wired up were preadv and pwritev. avr32 is weird
    in that recvmmsg was wired up but never declared in unistd.h. frv is
    behind with perf_event_open being the last syscall wired up. On h8300
    the last system call wired up was epoll_wait. On m32r the last system
    call wired up was fallocate. mn10300 has recvmmsg as the last system
    call wired up. The rest seem to at least have syncfs wired up which was
    new in the 2.6.39.

    v2: Most of the architecture support added by Daniel Lezcano
    v3: ported to v2.6.36-rc4 by: Eric W. Biederman
    v4: Moved wiring up of the system call to another patch
    v5: ported to v2.6.39-rc6
    v6: rebased onto parisc-next and net-next to avoid syscall conflicts.
    v7: ported to Linus's latest post 2.6.39 tree.

    >  arch/blackfin/include/asm/unistd.h     |    3 ++-
    >  arch/blackfin/mach-common/entry.S      |    1 +
    Acked-by: Mike Frysinger

    Oh - ia64 wiring looks good.
    Acked-by: Tony Luck

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

08 Apr, 2011

1 commit


01 Apr, 2011

1 commit


31 Mar, 2011

1 commit


17 Mar, 2011

1 commit

  • * 'next' of git://git.monstr.eu/linux-2.6-microblaze: (33 commits)
    microblaze: Do not copy reset vectors/manual reset vector setup
    microblaze: Fix _reset function
    microblaze: Fix microblaze init vectors
    microblaze: Fix circular headers dependency when ftrace is enabled.
    microblaze: Fix typo in Kconfig
    microblaze: Add missing export symbols for lib functions
    microblaze: Fix /dev/zero corruption from __clear_user()
    microblaze: Convert irq_chip to new functions
    microblaze: Select GENERIC_HARDIRQS_NO_DEPRECATED
    microblaze: Remove stale irq_chip.end
    microblaze: Fix sparse warnings - signal.c
    microblaze: Fix sparse warning - fault.c
    microblaze: Fix missing microblaze specific syscalls declaration
    microblaze: Fix sparse warnings - cache.c
    microblaze: Fix sparse warning - cpuinfo.h
    microblaze: Fix sparse warning - unwind.c
    microblaze: Fix sparse warning - consistent_alloc function
    microblaze: Fix sparse warnings - ptrace
    microblaze: Fix sparse warning - sw_exceptions
    microblaze: Fix sparse warning - timer.c
    ...

    Linus Torvalds
     

16 Mar, 2011

1 commit

  • …el/git/tip/linux-2.6-tip

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits)
    x86: Clean up apic.c and apic.h
    x86: Remove superflous goal definition of tsc_sync
    x86: dt: Correct local apic documentation in device tree bindings
    x86: dt: Cleanup local apic setup
    x86: dt: Fix OLPC=y/INTEL_CE=n build
    rtc: cmos: Add OF bindings
    x86: ce4100: Use OF to setup devices
    x86: ioapic: Add OF bindings for IO_APIC
    x86: dtb: Add generic bus probe
    x86: dtb: Add support for PCI devices backed by dtb nodes
    x86: dtb: Add device tree support for HPET
    x86: dtb: Add early parsing of IO_APIC
    x86: dtb: Add irq domain abstraction
    x86: dtb: Add a device tree for CE4100
    x86: Add device tree support
    x86: e820: Remove conditional early mapping in parse_e820_ext
    x86: OLPC: Make OLPC=n build again
    x86: OLPC: Remove extra OLPC_OPENFIRMWARE_DT indirection
    x86: OLPC: Cleanup config maze completely
    x86: OLPC: Hide OLPC_OPENFIRMWARE config switch
    ...

    Fix up conflicts in arch/x86/platform/ce4100/ce4100.c

    Linus Torvalds
     

11 Mar, 2011

2 commits

  • Change futex_atomic_op_inuser and futex_atomic_cmpxchg_inatomic
    prototypes to use u32 types for the futex as this is the data type the
    futex core code uses all over the place.

    Signed-off-by: Michel Lespinasse
    Cc: Darren Hart
    Cc: Peter Zijlstra
    Cc: Matt Turner
    Cc: Russell King
    Cc: David Howells
    Cc: Tony Luck
    Cc: Michal Simek
    Cc: Ralf Baechle
    Cc: "James E.J. Bottomley"
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Michel Lespinasse
     
  • The cmpxchg_futex_value_locked API was funny in that it returned either
    the original, user-exposed futex value OR an error code such as -EFAULT.
    This was confusing at best, and could be a source of livelocks in places
    that retry the cmpxchg_futex_value_locked after trying to fix the issue
    by running fault_in_user_writeable().

    This change makes the cmpxchg_futex_value_locked API more similar to the
    get_futex_value_locked one, returning an error code and updating the
    original value through a reference argument.

    Signed-off-by: Michel Lespinasse
    Acked-by: Chris Metcalf [tile]
    Acked-by: Tony Luck [ia64]
    Acked-by: Thomas Gleixner
    Tested-by: Michal Simek [microblaze]
    Acked-by: David Howells [frv]
    Cc: Darren Hart
    Cc: Peter Zijlstra
    Cc: Matt Turner
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: "James E.J. Bottomley"
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Michel Lespinasse
     

10 Mar, 2011

1 commit

  • Remove compilation failure when ftrace in enabled.

    Error log:
    CC kernel/trace/power-traces.o
    In file included from arch/microblaze/include/asm/irq.h:15,
    from include/linux/irq.h:27,
    from include/asm-generic/hardirq.h:12,
    from arch/microblaze/include/asm/hardirq.h:15,
    from include/linux/hardirq.h:7,
    from include/linux/ftrace_event.h:7,
    from include/trace/ftrace.h:19,
    from include/trace/define_trace.h:96,
    from include/trace/events/power.h:240,
    from kernel/trace/power-traces.c:14:
    include/linux/interrupt.h: In function '__raise_softirq_irqoff':
    include/linux/interrupt.h:413: error: implicit declaration of function 'trace_softirq_raise'
    In file included from include/trace/ftrace.h:554,
    from include/trace/define_trace.h:96,
    from include/trace/events/power.h:240,
    from kernel/trace/power-traces.c:14:
    include/trace/events/irq.h: In function 'ftrace_test_probe_irq_handler_entry':
    include/trace/events/irq.h:37: error: implicit declaration of function 'check_trace_callback_type_irq_handler_entry'
    include/trace/events/irq.h: In function 'ftrace_test_probe_irq_handler_exit':
    include/trace/events/irq.h:67: error: implicit declaration of function 'check_trace_callback_type_irq_handler_exit'
    include/trace/events/irq.h: In function 'ftrace_test_probe_softirq_entry':
    include/trace/events/irq.h:112: error: implicit declaration of function 'check_trace_callback_type_softirq_entry'
    include/trace/events/irq.h: In function 'ftrace_test_probe_softirq_exit':
    include/trace/events/irq.h:126: error: implicit declaration of function 'check_trace_callback_type_softirq_exit'
    include/trace/events/irq.h: In function 'ftrace_test_probe_softirq_raise':
    include/trace/events/irq.h:140: error: implicit declaration of function 'check_trace_callback_type_softirq_raise'
    make[5]: *** [kernel/trace/power-traces.o] Error 1
    make[4]: *** [kernel/trace] Error 2
    make[3]: *** [kernel] Error 2

    Suggested-by: Steven Rostedt
    Signed-off-by: Michal Simek

    Michal Simek
     

09 Mar, 2011

8 commits

  • A userland read of more than PAGE_SIZE bytes from /dev/zero results in
    (a) not all of the bytes returned being zero, and
    (b) memory corruption due to zeroing of bytes beyond the user buffer.

    This is caused by improper constraints on the assembly __clear_user function.
    The constrints don't indicate to the compiler that the pointer argument is
    modified. Since the function is inline, this results in double-incrementing
    of the pointer when __clear_user() is invoked through a multi-page read() of
    /dev/zero.

    Signed-off-by: Steven J. Magnani
    Acked-by: Michal Simek
    CC: stable@kernel.org

    Steven J. Magnani
     
  • Warning log:
    CHECK arch/microblaze/mm/fault.c
    arch/microblaze/mm/fault.c:51:6: warning: incorrect type in initializer (different address spaces)
    arch/microblaze/mm/fault.c:51:6: expected unknown type 2const [noderef] *__gu_addr
    arch/microblaze/mm/fault.c:51:6: got unsigned int *
    arch/microblaze/mm/fault.c:68:6: warning: symbol 'bad_page_fault' was not declared. Should it be static?

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Warning log:
    CHECK arch/microblaze/kernel/sys_microblaze.c
    arch/microblaze/kernel/sys_microblaze.c:37:17: warning: symbol 'microblaze_vfork' was not declared. Should it be static?
    arch/microblaze/kernel/sys_microblaze.c:43:17: warning: symbol 'microblaze_clone' was not declared. Should it be static?
    arch/microblaze/kernel/sys_microblaze.c:50:17: warning: symbol 'microblaze_execve' was not declared. Should it be static?

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Warning log:
    CHECK arch/microblaze/kernel/cpu/cpuinfo-static.c
    arch/microblaze/include/asm/cpuinfo.h:101:21: warning: incorrect type in argument 1 (different signedness)
    arch/microblaze/include/asm/cpuinfo.h:101:21: expected unsigned int const [usertype] *p
    arch/microblaze/include/asm/cpuinfo.h:101:21: got int *[assigned] val
    ...

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Warning in dma.c was caused by incorrect type in consistent_alloc function.

    Warning log:
    CHECK arch/microblaze/kernel/dma.c
    arch/microblaze/kernel/dma.c:53:26: warning: incorrect type in argument 1 (different base types)
    arch/microblaze/kernel/dma.c:53:26: expected int [signed] gfp
    arch/microblaze/kernel/dma.c:53:26: got restricted unsigned int [usertype] flag

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Warning log:
    CHECK arch/microblaze/kernel/ptrace.c
    arch/microblaze/kernel/ptrace.c:126:11: warning: incorrect type in initializer (different address spaces)
    arch/microblaze/kernel/ptrace.c:126:11: expected unknown type 2[noderef] *__pu_addr
    arch/microblaze/kernel/ptrace.c:126:11: got unsigned long *
    arch/microblaze/kernel/ptrace.c:134:17: warning: symbol 'do_syscall_trace_enter' was not declared. Should it be static?
    arch/microblaze/kernel/ptrace.c:157:17: warning: symbol 'do_syscall_trace_leave' was not declared. Should it be static?

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Function sw_exception is linked with asm code.

    Warning log:
    CHECK arch/microblaze/kernel/exceptions.c
    arch/microblaze/kernel/exceptions.c:53:6: warning: symbol 'sw_exception' was not declared. Should it be static?

    Signed-off-by: Michal Simek

    Michal Simek
     
  • Add one empty line to microblaze_ksyms.c.
    Remove one empty line to cacheflush.h.

    Signed-off-by: Michal Simek

    Michal Simek