summaryrefslogtreecommitdiffstats
path: root/arch/microblaze/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6Linus Torvalds2011-04-071-1/+1
|\ | | | | | | | | * 'for-linus2' of git://git.profusion.mobi/users/lucas/linux-2.6: Fix common misspellings
| * Fix common misspellingsLucas De Marchi2011-03-311-1/+1
| | | | | | | | | | | | Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
* | microblaze: Fix ftraceMichal Simek2011-04-012-4/+7
| | | | | | | | | | | | | | | | | | | | - Do not trace idle loop which takes a lot time - Fix cache handling in generic ftrace code - Do not trace lib functions ashldi3, ashrdi3, lshrdi3 Functions are called from generic ftrace code which can't be traced Signed-off-by: Michal Simek <monstr@monstr.eu>
* | microblaze: Wire up new syscallsMichal Simek2011-04-011-0/+4
| | | | | | | | | | | | Hook up name_to_handle_at, open_by_handle_at, clock_adjtime, syncfs Signed-off-by: Michal Simek <monstr@monstr.eu>
* | microblaze: Fix level/edge irq sensibilityMichal Simek2011-04-011-2/+2
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patches: "microblaze: Convert to new irq function names" sha (4adc192ec7d977c74c750320f289af9d61c1caca) and "microblaze: Use generic show_interrupts()" sha(9d61c18b25726306c9231428c17db42e3ff29ba7) should also setup edge/level in irq_set_chip_and_handler_name name parameter. Error log: ~ # cat /proc/interrupts CPU0 2: 2 Xilinx INTC-Xilinx INTC eth0 3: 2 Xilinx INTC-Xilinx INTC eth0 4: 241 Xilinx INTC-Xilinx INTC timer 6: 108 Xilinx INTC-Xilinx INTC serial Fixed: ~ # cat /proc/interrupts CPU0 2: 2 Xilinx INTC-level eth0 3: 2 Xilinx INTC-level eth0 4: 238 Xilinx INTC-edge timer 6: 108 Xilinx INTC-level serial Signed-off-by: Michal Simek <monstr@monstr.eu> Acked-by: Thomas Gleixner <tglx@linutronix.de> --- v2: Fix exchanged edge and level
* microblaze: Use generic show_interrupts()Thomas Gleixner2011-03-291-42/+0
| | | | Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* microblaze: Convert to new irq function namesThomas Gleixner2011-03-291-3/+3
| | | | | | | | Namespace conversion scripted with coccinelle. Also retrieve the irq type from irq_data in intc_enable_or_unmask() Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
* Merge branch 'trivial' of ↵Linus Torvalds2011-03-201-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (25 commits) video: change to new flag variable scsi: change to new flag variable rtc: change to new flag variable rapidio: change to new flag variable pps: change to new flag variable net: change to new flag variable misc: change to new flag variable message: change to new flag variable memstick: change to new flag variable isdn: change to new flag variable ieee802154: change to new flag variable ide: change to new flag variable hwmon: change to new flag variable dma: change to new flag variable char: change to new flag variable fs: change to new flag variable xtensa: change to new flag variable um: change to new flag variables s390: change to new flag variable mips: change to new flag variable ... Fix up trivial conflict in drivers/hwmon/Makefile
| * microblaze: change to new flag variablematt mooney2011-03-171-1/+1
| | | | | | | | | | | | | | | | Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney <mfm@muteddisk.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
* | Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2011-03-1620-252/+287
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '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 ...
| * | microblaze: Do not copy reset vectors/manual reset vector setupMichal Simek2011-03-152-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reset vector can be setup by bootloader and kernel doens't need to touch it. If you require to setup reset vector, please use CONFIG_MANUAL_RESET_VECTOR throught menuconfig. It is not possible to setup address 0x0 as reset address because make no sense to set it up at all. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: John Williams <john.williams@petalogix.com>
| * | microblaze: Fix _reset functionMichal Simek2011-03-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | If soft reset falls through with no hardware assisted reset, the best we can do is jump to the reset vector and see what the bootloader left for us. Signed-off-by: Michal Simek <monstr@monstr.eu> Signed-off-by: John Williams <john.williams@petalogix.com>
| * | microblaze: Fix microblaze init vectorsMichal Simek2011-03-151-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microblaze vector table stores several vectors (reset, user exception, interrupt, debug exception and hardware exception). All these functions can be below address 0x10000. If they are, wrong vector table is genarated because jump is not setup from two instructions (imm upper 16bit and brai lower 16bit). Adding specific offset prevent problem if address is below 0x10000. For this case only brai instruction is used. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Add missing export symbols for lib functionsMichal Simek2011-03-091-0/+11
| | | | | | | | | | | | | | | | | | Adding missing export symbols for loadable modules. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Convert irq_chip to new functionsThomas Gleixner2011-03-092-24/+26
| | | | | | | | | | | | | | | | | | | | | Use proper irq_desc wrappers while at it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Remove stale irq_chip.endThomas Gleixner2011-03-091-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | irq_chip.end got obsolete with the removal of __do_IRQ(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Tested-by: Michal Simek <monstr@monstr.eu> LKML-Reference: <20110203004210.240154507@linutronix.de>
| * | microblaze: Fix sparse warnings - signal.cMichal Simek2011-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Warning log: CHECK arch/microblaze/kernel/signal.c arch/microblaze/kernel/signal.c:200:9: warning: Using plain integer as NULL pointer arch/microblaze/kernel/signal.c:201:9: warning: incorrect type in initializer (different address spaces) arch/microblaze/kernel/signal.c:201:9: expected void [noderef] *volatile __gu_val<asn:1> arch/microblaze/kernel/signal.c:201:9: got void *<noident> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Fix missing microblaze specific syscalls declarationMichal Simek2011-03-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <monstr@monstr.eu>
| * | microblaze: Fix sparse warnings - cache.cMichal Simek2011-03-091-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Warning log: CHECK arch/microblaze/kernel/cpu/cache.c arch/microblaze/kernel/cpu/cache.c:522:21: warning: symbol 'wb_msr' was not declared. Should it be static? arch/microblaze/kernel/cpu/cache.c:538:21: warning: symbol 'wb_nomsr' was not declared. Should it be static? arch/microblaze/kernel/cpu/cache.c:554:21: warning: symbol 'wt_msr' was not declared. Should it be static? arch/microblaze/kernel/cpu/cache.c:569:21: warning: symbol 'wt_nomsr' was not declared. Should it be static? arch/microblaze/kernel/cpu/cache.c:585:21: warning: symbol 'wt_msr_noirq' was not declared. Should it be static? arch/microblaze/kernel/cpu/cache.c:600:21: warning: symbol 'wt_nomsr_noirq' was not declared. Should it be static? Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Fix sparse warning - unwind.cMichal Simek2011-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Warning log: CHECK arch/microblaze/kernel/unwind.c arch/microblaze/kernel/unwind.c:186:6: warning: symbol 'microblaze_unwind_inner' was not declared. Should it be static? Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Fix sparse warnings - ptraceMichal Simek2011-03-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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<asn:1> arch/microblaze/kernel/ptrace.c:126:11: got unsigned long *<noident> 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 <monstr@monstr.eu>
| * | microblaze: Fix sparse warning - sw_exceptionsMichal Simek2011-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <monstr@monstr.eu>
| * | microblaze: Fix sparse warning - timer.cMichal Simek2011-03-091-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Variables and init_microblaze_timecounter should be static. Warning log: CHECK arch/microblaze/kernel/timer.c arch/microblaze/kernel/timer.c:41:14: warning: symbol 'freq_div_hz' was not declared. Should it be static? arch/microblaze/kernel/timer.c:42:14: warning: symbol 'timer_clock_freq' was not declared. Should it be static? arch/microblaze/kernel/timer.c:205:12: warning: symbol 'init_microblaze_timecounter' was not declared. Should it be static? Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Fix sparse warning - prom.cMichal Simek2011-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <monstr@monstr.eu>
| * | microblaze: Add support for DMA_BIDIRECTIONALMichal Simek2011-03-091-0/+1
| | | | | | | | | | | | | | | | | | CDMA requires DMA_BIDIRECTIONAL option. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: trivial: Add one empty lineMichal Simek2011-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | Add one empty line to microblaze_ksyms.c. Remove one empty line to cacheflush.h. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Add PVR for Microblaze v8.10.aMichal Simek2011-03-091-0/+1
| | | | | | | | | | | | | | | | | | Microblaze v8.10.a has 0x14 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Label MB 7.20.d as broken with WB cacheMichal Simek2011-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | MB version 7.20.d contains fault which is related with WB that's why error message will be shown. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Do not use "la" pseudo instruction - use addik insteadMichal Simek2011-03-094-15/+15
| | | | | | | | | | | | | | | | | | | | | "la" pseudo instruction is only translation to "addik". Use directly "addik" which is described in the MB reference guide. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Remove r0_ram pointer and PTO alignmentMichal Simek2011-03-095-163/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r0_ram pool was used for saving/restoring register content if hw exception happen. This poll was replaced by pt_pool_space with PT_SIZE size. Based on this change SAVE_STATE_ARG_SPACE was removed which caused that PTO offset is zero that's why is also removed. r0_ram space was used as scratchpad by v850. In early Microblaze Linux developing phase was this part of code blindly copied. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Do not use r0_ram space for syscall debuggingMichal Simek2011-03-091-3/+16
| | | | | | | | | | | | | | | | | | | | | Remove syscall counting space from r0_ram. Use special syscall_debug_table pool for syscall statistic. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Optimize BE/LE bootup detectingMichal Simek2011-03-091-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | Save 0x1 word to rodata section and remove online value loading if DTB is passed from bootloader. It saves two asm instructions in bootup. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * | microblaze: Do not use r0_ram space for hw exception debuggingMichal Simek2011-03-091-4/+16
| |/ | | | | | | | | | | | | Remove hw exception counting space from r0_ram. Use special exception_debug_table poll for exception statistic. Signed-off-by: Michal Simek <monstr@monstr.eu>
* | Merge branch 'linus' into x86/platformThomas Gleixner2011-02-234-18/+23
|\ \ | |/ | | | | | | | | | | | | | | Reason: Import mainline device tree changes on which further patches depend on or conflict. Trivial conflict in: drivers/spi/pxa2xx_spi_pci.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
| * microblaze: Fix msr instruction detectionMichal Simek2011-02-072-10/+9
| | | | | | | | | | | | | | | | | | | | | | Fix msr instructions detection. The current code just use msrclr for loading msr content and compare it with proper MSR content. If msrclr is not implemented r8 contains pc address. Previous code wanted to use MSR carry bit but if msrclr wasn't implemented carry wasn't cleared. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix asm compilation warningMichal Simek2011-02-071-2/+2
| | | | | | | | | | | | | | | | | | Microblaze ASM doesn't support hex values for mfs instructions. /tmp/ccwiXVmt.s: Assembler messages: /tmp/ccwiXVmt.s:19: Warning: ignoring operands: x00 Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix unaligned issue on MMU system with BS=0 DIV=1Michal Simek2011-01-281-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unaligned code use shift for finding register operand. There is used BSRLI(r8,r8,2) macro which is expand for BS=0, DIV=1 by ori rD, r0, (1 << imm); \ idivu rD, rD, rA but if rD is equal rA then ori instruction rewrite value which should be devide. The patch remove this macro which use idivu instruction because idivu takes 32/34 cycles. The highest shifting is 20 which takes 20 cycles. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix DTB passing from bootloaderMichal Simek2011-01-281-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Little endian system needs to check OF_DT_HEADER but it is swapped because it is in big-endian. Microblaze LE provides lwr instruction which loads magic number in BIG endian format which can be compared. There is used the fact that if you write 0x1 as word and load it as byte then you get for big-endian zero and 1 for little-endian. Signed-off-by: Michal Simek <monstr@monstr.eu>
* | of/pci: move of_irq_map_pci() into generic codeSebastian Andrzej Siewior2011-02-041-77/+0
|/ | | | | | | | | | | There is a tiny difference between PPC32 and PPC64. Microblaze uses the PPC32 variant. Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> [grant.likely@secretlab.ca: Added comment to #endif, moved documentation block to function implementation, fixed for non ppc and microblaze compiles] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()Grant Likely2011-01-151-2/+2
| | | | | | | | The physical address is never used by the device tree code when allocating memory for unflattening. Change the architecture's alloc hook to return the virutal address instead. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2011-01-116-23/+56
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: remove obsolete DEBUG_BOOTMEM microblaze: trivial: Fix removed the part of line microblaze: Fix __muldi3 function for little-endian. microblaze: Clear i/dcache for sw breakpoints microblaze: Remove useless early_init_dt_check_for_initrd microblaze: Fix unaligned exception for little endian platform microblaze: Add PVR for Microblaze v8.00.b microblaze: Correct PVR access macros Revert "microblaze: Simplify syscall rutine" microblaze: Fix initramfs arch/microblaze: Remove unnecessary semicolons
| * microblaze: Clear i/dcache for sw breakpointsMichal Simek2011-01-031-0/+3
| | | | | | | | | | | | | | | | | | | | There is necessary to flush dcache and invalidate icache for address where breakpoint (brki r16, 0x18) was. The reason is that for some cases icache line still keeps brki instruction and it is not updated by origin instruction maintains by gdbserver. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Remove useless early_init_dt_check_for_initrdMichal Simek2011-01-031-3/+1
| | | | | | | | | | | | | | Remove copy&paste error. Microblaze doesn't support initrd. Signed-off-by: Walter Goossens <waltergoossens@home.nl> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix unaligned exception for little endian platformMichal Simek2011-01-031-0/+9
| | | | | | | | | | | | Half word unaligned accesses need to be fixed. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Add PVR for Microblaze v8.00.bMichal Simek2011-01-031-0/+1
| | | | | | | | | | | | Microblaze v8.00.b have 0x13 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * Revert "microblaze: Simplify syscall rutine"Michal Simek2010-11-181-7/+39
| | | | | | | | | | | | | | | | | | This reverts commit 0e41c90908881a1b8205c66a66becec7d8d4eb4a. Break jffs2 rootfs because the patch removes syscall calling from kernel space. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix initramfsMichal Simek2010-11-181-13/+3
| | | | | | | | | | | | | | | | Patch: initramfs: generalize initramfs_data.xxx.S variants (sha1 6ae64e428f74e7bacab898ef9665dda719ea6fde) requires hooks in linker script. Signed-off-by: Michal Simek <monstr@monstr.eu>
* | of/net: Move of_get_mac_address() to a common source file.David Daney2010-11-011-38/+0
|/ | | | | | | | | | | | There are two identical implementations of of_get_mac_address(), one each in arch/powerpc/kernel/prom_parse.c and arch/microblaze/kernel/prom_parse.c. Move this function to a new common file of_net.{c,h} and adjust all the callers to include the new header. Signed-off-by: David Daney <ddaney@caviumnetworks.com> [grant.likely@secretlab.ca: protect header with #ifdef] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* ptrace: cleanup arch_ptrace() on microblazeNamhyung Kim2010-10-271-1/+1
| | | | | | | | | Remove checking @addr greater than 0 because @addr is now unsigned. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: Michal Simek <monstr@monstr.eu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ptrace: change signature of arch_ptrace()Namhyung Kim2010-10-271-1/+2
| | | | | | | | | | | | | | | Fix up the arguments to arch_ptrace() to take account of the fact that @addr and @data are now unsigned long rather than long as of a preceding patch in this series. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: <linux-arch@vger.kernel.org> Acked-by: Roland McGrath <roland@redhat.com> Acked-by: David Howells <dhowells@redhat.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
OpenPOWER on IntegriCloud