aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
* PCI: Global variable decls must match the defs in section attributesDavid Howells2009-12-14
| | | | | | | | | | | | | | | | | | | Global variable declarations must match the definitions in section attributes as the compiler is at liberty to vary the method it uses to access a variable, depending on the section it is in. When building the FRV arch, I now see: drivers/built-in.o: In function `pci_apply_final_quirks': drivers/pci/quirks.c:2606: relocation truncated to fit: R_FRV_GPREL12 against symbol `pci_dfl_cache_line_size' defined in .devinit.data section in drivers/built-in.o drivers/pci/quirks.c:2623: relocation truncated to fit: R_FRV_GPREL12 against symbol `pci_dfl_cache_line_size' defined in .devinit.data section in drivers/built-in.o drivers/pci/quirks.c:2630: relocation truncated to fit: R_FRV_GPREL12 against symbol `pci_dfl_cache_line_size' defined in .devinit.data section in drivers/built-in.o because the declaration of pci_dfl_cache_line_size in linux/pci.h does not match the definition in drivers/pci/pci.c. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* FRV: Fix no-hardware-breakpoint caseDavid Howells2009-12-14
| | | | | | | | | | | | | | If there is no hardware breakpoint support, modify_user_hw_breakpoint() tries to return a NULL pointer through as an 'int' return value: In file included from kernel/exit.c:53: include/linux/hw_breakpoint.h: In function 'modify_user_hw_breakpoint': include/linux/hw_breakpoint.h:96: warning: return makes integer from pointer without a cast Return 0 instead. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2009-12-14
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (46 commits) microblaze: Remove rt_sigsuspend wrapper microblaze: nommu: Don't clobber R11 on syscalls microblaze: Remove show_tmem function microblaze: Support for WB cache microblaze: Add PVR for Microblaze v7.30.a microblaze: Remove ancient and fake microblaze version from cpu_ver table microblaze: Remove panic_timeout init value microblaze: Do not count system calls in default microblaze: Enable DTC compilation microblaze: Core oprofile configs and hooks microblaze: Fix level interrupt ACKing microblaze: Enable futimesat syscall microblaze: Checking DTS against PVR for write-back cache microblaze: Remove duplicity from pgalloc.h microblaze: Futex support microblaze: Adding dev_arch_data functions microblaze: Fix the heartbeat gpio to be more robust microblaze: Simple __copy_tofrom_user for noMMU microblaze: Export memory_start for modules microblaze: Use lowest-common-denominator default CPU settings ...
| * microblaze: Remove rt_sigsuspend wrapperMichal Simek2009-12-14
| | | | | | | | | | | | Generic rt_sigsuspend syscalls doesn't need any asm wrapper. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: nommu: Don't clobber R11 on syscallssteve@digidescorp.com2009-12-14
| | | | | | | | | | | | | | | | | | | | The noMMU syscall trap has a bug that causes R11 to be zero on return to userland. Remove the extra "save" of R11 responsible for the bug. Remove reloading of mode indicator because r11 already contains it. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove show_tmem functionMichal Simek2009-12-14
| | | | | | | | | | | | | | show_tmem function do nothing that's why I removed it. There is also cleaning of commented ancient code. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Support for WB cacheMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | Microblaze version 7.20.d is the first MB version which can be run on MMU linux. Please do not used previous version because they contain HW bug. Based on WB support was necessary to redesign whole cache design. Microblaze versions from 7.20.a don't need to disable IRQ and cache before working with them that's why there are special structures for it. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add PVR for Microblaze v7.30.aMichal Simek2009-12-14
| | | | | | | | | | | | Microblaze v7.30.a will have 0x10 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove ancient and fake microblaze version from cpu_ver tableMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | We need to continue with next microblaze PVR version that's why I have to remove that ancient version. These version strings not match any versions. From Microblaze v5.00.a is possible to use this style. I believe that none use ancients versions. If yes they will be just labeled as unknown version. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove panic_timeout init valueMichal Simek2009-12-14
| | | | | | | | | | | | | | panic_timeout is in BSS section and it is cleared with BSS section. This means that value is setup to 0. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Do not count system calls in defaultMichal Simek2009-12-14
| | | | | | | | | | | | | | There is not necessary to count system calls that's why I added DEBUG macro Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Enable DTC compilationMichal Simek2009-12-14
| | | | | | | | | | | | | | For simpleImage format we need to compile DTC. There is still possibility to compile only Linux kernel without DTB compiled-in. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Core oprofile configs and hooksJohn Williams2009-12-14
| | | | | | | | | | | | | | | | Microblaze uses timer interrupt mode. Microblaze don't have any performance counter that's why we use just simple implementation. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix level interrupt ACKingsteve@digidescorp.com2009-12-14
| | | | | | | | | | | | | | | | | | Level interrupts need to be ack'd in the unmask handler, as in powerpc. Among other issues, this bug causes the system clock to appear to run at double-speed. Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Enable futimesat syscallMichal Simek2009-12-14
| | | | | | | | | | | | | | Futimesat was disabled. LTP testing shows that MB has no problem with this syscall. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Checking DTS against PVR for write-back cacheMichal Simek2009-12-14
| | | | | | | | | | | | | | WB cache has special flag in PVR. There is added checking mechanism for PVR and DTS. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove duplicity from pgalloc.hMichal Simek2009-12-14
| | | | | | | | | | | | just file cleanup Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Futex supportMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | Microblaze v7.20 provides new lwx, swx instructions which bring possibility to implement lock rutines. There are some tests in open posix thread LTP part but current toolchain not support it. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Adding dev_arch_data functionsMichal Simek2009-12-14
| | | | | | | | | | | | | | | | The functions, dev_arch_data_set_node and get_node are missing and are needed by some device drivers such as I2C. Signed-off-by: John Linn <john.linn@xilinx.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix the heartbeat gpio to be more robustJohn Linn2009-12-14
| | | | | | | | | | | | | | | | | | The device tree handling for the gpio in the heart beat was not handling the system when there was no gpio and it wasn't working with a newer version of the gpio core which does not have the is-bidir property. Signed-off-by: John Linn <john.linn@xilinx.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Simple __copy_tofrom_user for noMMUJohn Williams2009-12-14
| | | | | | | | | | | | | | | | This is first patch which clear part of uaccess.h. uaccess.h will be clear later. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Export memory_start for modulesMichal Simek2009-12-14
| | | | | | | | | | | | memory_start symbol is needed by kernel modules. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Use lowest-common-denominator default CPU settingsJohn Williams2009-12-14
| | | | | | | | | | | | | | | | This will ensure that kernels built with no custom CPU settings will still boot OK on hardware that has additional CPU hardware instructions etc. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Update default generic DTSMichal Simek2009-12-14
| | | | | | | | | | | | It is generated with longer compatible list Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Enable asm optimization only for HW with barrel-shifterMichal Simek2009-12-14
| | | | | | | | | | | | | | | | Asm code uses barrel-shifter instruction that's why we have to protect cases when HW don't have it. Reported-by: John Linn <john.linn@xilinx.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove the buggy ALLOW_EDIT_AUTO config optionJohn Williams2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was intended to allow manual override of CPU settings copied automatically to Kconfig.auto, however it's problematic for several reasons, but mostly: * If the defconfig doesn't have ALLOW_EDIT_AUTO=y, then it's impossible for that defconfig to iverride the values in the kernel source tree. This leads to very strange errors where the kernel is compiled with the wrong CPUFLAGS. Next patch in the series will back out the default in Kconfig.auto to baseline settings, so a kernel built with no default values will at least boot on any hardware, just not make use of additional CPU features. Signed-off-by: John Williams <john.williams@petalogix.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Move cache macro from cache.h to cacheflush.hMichal Simek2009-12-14
| | | | | | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: support U-BOOT image formatMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two version are generated. linux.bin.ub which is created from linux.bin file and simpleImage.<dts>.ub which is created from stripped simpleImage.<dts> file Load address and entry point is for microblaze first instruction which is CONFIG_KERNEL_BASE_ADDR variable. There is possible for simpleImage format parse _start symbol too. simpleImage.<dts> is still stripped elf file I cleared simpleImage.<dts>.unstrip file because there are so big. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Ptrace notifying from signal codeMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | After the signal frame is set up on the userspace stack, ptrace() should be given an opportunity to single-step into the signal handler FRV, Blackfin, mn10300 and UM. Worth to look at that patches. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Extend cpuinfo for support write-back cachesMichal Simek2009-12-14
| | | | | | | | | | | | | | There is missing checking agains PVR but this is not important for now. There are some missing checking too. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix cache_line_lenghtMichal Simek2009-12-14
| | | | | | | | | | | | | | We used cache_line as cache_line_lenght. For this reason we did cache flushing 4 times longer than was necessary. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Detect new 7.20.d versionMichal Simek2009-12-14
| | | | | | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Support both levels for resetMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | Till this patch reset always perform writen to 1. Now we can use negative logic and perform reset write to 0. It is opposite level than is currently read from that pin Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix announce message for reset gpioMichal Simek2009-12-14
| | | | | | | | | | | | | | I had to change message for gpio-reset because I always not to see it. Prefix RESET is big and visible. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove saving and restoring before calling signal codeMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | Saving is done in SAVE_STATE macros that's why another save discard previous saved value. This change has no effect to normal programs because they ends in any exception and they are killed. On the other side has effect on debugging. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix pfn_valid() for noMMUsteve@digidescorp.com2009-12-14
| | | | | | | | | | | | | | | | | | Configuring DEBUG_SLAB causes a noMMU kernel to die during initialization with an invalid virtual address panic in kfree_debugcheck(). The panic is due to an improper definition of pfn_valid(). Signed-off-by: Steven J. Magnani <steve@digidescorp.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: ftrace: Add dynamic function graph tracerMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | This patch add support for dynamic function graph tracer. There is one my expactation that I can do flush_icache after all code modification. On microblaze is this safer than do flush for every entry. For icache is used name flush but correct should be invalidation - this will be fix in upcomming new cache implementaion and WB support. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: ftrace: add function graph supportMichal Simek2009-12-14
| | | | | | | | | | | | For more information look at Documentation/trace folder. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: ftrace: Add dynamic trace supportMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With dynamic function tracer, by default, _mcount is defined as an "empty" function, it returns directly without any more action. When enabling it in user-space, it will jump to a real tracing function(ftrace_caller), and do the real job for us. Differ from the static function tracer, dynamic function tracer provides two functions ftrace_make_call()/ftrace_make_nop() to enable/disable the tracing of some indicated kernel functions(set_ftrace_filter). In the kernel version, there is only one "_mcount" string for every kernel function, so, we just need to match this one in mcount_regex of scripts/recordmcount.pl. For more information please look at code and Documentation/trace folder. Steven ACK that scripts/recordmcount.pl part. Acked-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: ftrace: enable HAVE_FUNCTION_TRACE_MCOUNT_TESTMichal Simek2009-12-14
| | | | | | | | | | | | | | Implement MCOUNT_TEST in asm code - it is faster than use generic code Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: ftrace: add static function tracerMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If -pg of gcc is enabled with CONFIG_FUNCTION_TRACER=y. a calling to _mcount will be inserted into each kernel function. so, there is a possibility to trace the kernel functions in _mcount. This patch add the specific _mcount support for static function tracing. by default, ftrace_trace_function is initialized as ftrace_stub(an empty function), so, the default _mcount will introduce very little overhead. after enabling ftrace in user-space, it will jump to a real tracing function and do static function tracing for us. Commit message from Wu Zhangjin <wuzhangjin@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add TRACE_IRQFLAGS_SUPPORTMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | There are just two major changes Renamed local_irq functions to raw_local_irq in irq.c. Added TRACE_IRQFLAGS_SUPPORT to Kconfig.debug. Look at Documentation/irqflags-tracing.txt Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: preliminary enabling for LATENCYTOP support in KconfigMichal Simek2009-12-14
| | | | | | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Lockdep supportMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microblaze needs to do lock_init very soon because MMU init calls lock functions. Here is the explanation from Peter Zijlstra why we have to enable __ARCH_WANTS_INTERRUPTS_ON_CTSW. "So we schedule while holding rq->lock (for obvious reasons), but since lockdep tracks held locks per tasks, we need to transfer the held state from the prev to the next task. We do this by explicity calling spin_release(&rq->lock) in context_switch() right before switch_to(), and calling spin_acquire(&rq->lock) in finish_task_switch()->finish_lock_switch(). Now, for some reason lockdep thinks that interrupts got enabled over the context switch (git grep __ARCH_WANTS_INTERRUPTS_ON_CTSW arch/microblaze doesn't seem to turn up anything). Clearly trying to acquire the rq->lock with interrupts enabled is a bad idea and lockdep warns you about this." Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Register timecounter/cyclecounterMichal Simek2009-12-14
| | | | | | | | | | | | | | It is the same counter as we use as free running one. I would like to use it for ftrace. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Stack trace supportMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | This is working implemetation but the problem is that Microblaze misses frame pointer that's why is there big loop which trace and show all addresses which are in text. It shows addresses which are in registers, etc. This is problem and this is the reason why all Microblaze traces are wrong. There is an option to do hacks and trace the kernel code but this is too complicated. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add IRQENTRY_TEXT to ldsMichal Simek2009-12-14
| | | | | | | | | | | | It is important for ftrace irqsoff support Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: __init_begin symbol must be alignedMichal Simek2009-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was that free_initmem pass to free_initrd_mem got bad aligned __init_begin symbol and free_initrd_mem don't care about __init_end but take PAGE_SIZE instead. Here is behavior in kernel bootlog. ramdisk_execute_command from (init/main.c) was rewrite Freeing unused kernel memory: 6224k freed Failed to execute ��������������{��� Failed to execute ��������������{����. Attempting defaults... Mounting proc: Mounting var: Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: GPIO reset supportMichal Simek2009-12-14
| | | | | | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
* | Merge branch 'for-linus' of git://neil.brown.name/mdLinus Torvalds2009-12-14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'for-linus' of git://neil.brown.name/md: (27 commits) md: add 'recovery_start' per-device sysfs attribute md: rcu_read_lock() walk of mddev->disks in md_do_sync() md: integrate spares into array at earliest opportunity. md: move compat_ioctl handling into md.c md: revise Kconfig help for MD_MULTIPATH md: add MODULE_DESCRIPTION for all md related modules. raid: improve MD/raid10 handling of correctable read errors. md/raid10: print more useful messages on device failure. md/bitmap: update dirty flag when bitmap bits are explicitly set. md: Support write-intent bitmaps with externally managed metadata. md/bitmap: move setting of daemon_lastrun out of bitmap_read_sb md: support updating bitmap parameters via sysfs. md: factor out parsing of fixed-point numbers md: support bitmap offset appropriate for external-metadata arrays. md: remove needless setting of thread->timeout in raid10_quiesce md: change daemon_sleep to be in 'jiffies' rather than 'seconds'. md: move offset, daemon_sleep and chunksize out of bitmap structure md: collect bitmap-specific fields into one structure. md/raid1: add takeover support for raid5->raid1 md: add honouring of suspend_{lo,hi} to raid1. ...