aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze
AgeCommit message (Collapse)AuthorFilesLines
2011-03-09microblaze: Fix sparse warnings - signal.cMichal Simek1-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>
2011-03-09microblaze: Fix sparse warning - fault.cMichal Simek2-1/+2
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<asn:1> arch/microblaze/mm/fault.c:51:6: got unsigned int *<noident> arch/microblaze/mm/fault.c:68:6: warning: symbol 'bad_page_fault' was not declared. Should it be static? Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: Fix missing microblaze specific syscalls declarationMichal Simek2-1/+10
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>
2011-03-09microblaze: Fix sparse warnings - cache.cMichal Simek1-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>
2011-03-09microblaze: Fix sparse warning - cpuinfo.hMichal Simek1-2/+2
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 <monstr@monstr.eu>
2011-03-09microblaze: Fix sparse warning - unwind.cMichal Simek1-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>
2011-03-09microblaze: Fix sparse warning - consistent_alloc functionMichal Simek2-2/+2
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 <monstr@monstr.eu>
2011-03-09microblaze: Fix sparse warnings - ptraceMichal Simek2-1/+5
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>
2011-03-09microblaze: Fix sparse warning - sw_exceptionsMichal Simek2-1/+3
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>
2011-03-09microblaze: Fix sparse warning - timer.cMichal Simek1-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>
2011-03-09microblaze: Fix sparse warning - prom.cMichal Simek1-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>
2011-03-09microblaze: Add support for DMA_BIDIRECTIONALMichal Simek1-0/+1
CDMA requires DMA_BIDIRECTIONAL option. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: trivial: Add one empty lineMichal Simek2-1/+1
Add one empty line to microblaze_ksyms.c. Remove one empty line to cacheflush.h. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: Fix coding style - ptrace.hMichal Simek1-7/+7
Use tab instead of spaces. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: Add PVR for Microblaze v8.10.aMichal Simek1-0/+1
Microblaze v8.10.a has 0x14 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: Label MB 7.20.d as broken with WB cacheMichal Simek1-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>
2011-03-09microblaze: Fix GDB issue caused by cache issueMichal Simek1-3/+9
Used the same solution as SH. Changed len to PAGE_SIZE in copy_to_user_page macro. Implement flush_cache_page macro. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: Do not use "la" pseudo instruction - use addik insteadMichal Simek4-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>
2011-03-09microblaze: Remove r0_ram pointer and PTO alignmentMichal Simek7-200/+157
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>
2011-03-09microblaze: Do not use r0_ram space for syscall debuggingMichal Simek1-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>
2011-03-09microblaze: Optimize BE/LE bootup detectingMichal Simek1-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>
2011-03-09microblaze: Fix unaligned.h for endiansMichal Simek1-5/+6
Synchronized with mips unaligned.h. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-03-09microblaze: Do not use r0_ram space for hw exception debuggingMichal Simek1-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>
2011-02-28Merge commit 'v2.6.38-rc6' into devicetree/nextGrant Likely7-32/+40
Conflicts: drivers/spi/pxa2xx_spi_pci.c
2011-02-23Merge branch 'linus' into x86/platformThomas Gleixner7-32/+40
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>
2011-02-21microblaze: convert to clocksource_register_hz/khzJohn Stultz1-5/+1
This converts the microblaze clocksources to use clocksource_register_hz/khz CC: Michal Simek <monstr@monstr.eu> CC: Thomas Gleixner <tglx@linutronix.de> Tested-by: Michal Simek <monstr@monstr.eu> Signed-off-by: John Stultz <johnstul@us.ibm.com>
2011-02-07microblaze: Fix msr instruction detectionMichal Simek2-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>
2011-02-07microblaze: Fix pte_update functionMichal Simek1-13/+12
Do not disable irq in asm but use irq macros. Systems with MSR=0 couldn't use pte_update function because msrclr was hardcoded. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-02-07microblaze: Fix asm compilation warningMichal Simek1-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>
2011-02-07microblaze: Fix IRQ flag handling for MSR=0Michal Simek1-1/+1
Patch: Fix IRQ flag handling naming (sha1: f9ee29270c11dba7d0fe0b83ce47a4d8e8d2101) introduced problem on system with MSR=0. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-02-04powerpc/pci: Make both ppc32 and ppc64 use sysdata for pci_controllerGrant Likely1-0/+1
Currently, ppc32 uses sysdata for the pci_controller pointer, and ppc64 uses it to hold the device_node pointer. This patch moves the of_node pointer into (struct pci_bus*)->dev.of_node and (struct pci_dev*)->dev.of_node so that sysdata can be converted to always use the pci_controller pointer instead. It also fixes up the allocating of pci devices so that the of_node pointer gets assigned consistently and increments the ref count. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2011-02-04of/pci: move of_irq_map_pci() into generic codeSebastian Andrzej Siewior4-92/+13
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>
2011-01-28microblaze: Fix ASM optimized code for LEMichal Simek1-0/+4
Microblaze little-endian doesn't support ASM optimized library functions(memcpy/memmove). Kconfig doens't contain any information about endian that's why it is necessary to check it in the source code. The code is used with barrel shifter is used. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-28microblaze: Fix unaligned issue on MMU system with BS=0 DIV=1Michal Simek1-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>
2011-01-28microblaze: Fix DTB passing from bootloaderMichal Simek1-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>
2011-01-21microblaze: Use generic irq KconfigThomas Gleixner1-6/+2
No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michal Simek <monstr@monstr.eu>
2011-01-21genirq: Remove __do_IRQThomas Gleixner1-3/+0
All architectures are finally converted. Remove the cruft. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Richard Henderson <rth@twiddle.net> Cc: Mike Frysinger <vapier@gentoo.org> Cc: David Howells <dhowells@redhat.com> Cc: Tony Luck <tony.luck@intel.com> Cc: Greg Ungerer <gerg@uclinux.org> Cc: Michal Simek <monstr@monstr.eu> Acked-by: David Howells <dhowells@redhat.com> Cc: Kyle McMartin <kyle@mcmartin.ca> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Chen Liqin <liqin.chen@sunplusct.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Chris Metcalf <cmetcalf@tilera.com> Cc: Jeff Dike <jdike@addtoit.com>
2011-01-20kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERTDavid Rientjes2-2/+2
The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option is used to configure any non-standard kernel with a much larger scope than only small devices. This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes references to the option throughout the kernel. A new CONFIG_EMBEDDED option is added that automatically selects CONFIG_EXPERT when enabled and can be used in the future to isolate options that should only be considered for embedded systems (RISC architectures, SLOB, etc). Calling the option "EXPERT" more accurately represents its intention: only expert users who understand the impact of the configuration changes they are making should enable it. Reviewed-by: Ingo Molnar <mingo@elte.hu> Acked-by: David Woodhouse <david.woodhouse@intel.com> Signed-off-by: David Rientjes <rientjes@google.com> Cc: Greg KH <gregkh@suse.de> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jens Axboe <axboe@kernel.dk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Robin Holt <holt@sgi.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-01-18Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2-2/+5
* 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix asm/pgtable.h microblaze: Fix missing pagemap.h
2011-01-16microblaze: Fix asm/pgtable.hMichal Simek1-2/+4
Function ptep_test_and_clear_young have had wrong the first argument. It is also necessary to add __HAVE macros for ptep_test_and_clear_young and ptep_get_and_clear functions. Error log: In file included from linux/arch/microblaze/include/asm/pgtable.h:570, from arch/microblaze/mm/pgtable.c:35: include/asm-generic/pgtable.h:23: error: conflicting types for 'ptep_test_and_clear_young' linux/arch/microblaze/include/asm/pgtable.h:449: error: previous definition of 'ptep_test_and_clear_young' was here include/asm-generic/pgtable.h:73: error: redefinition of 'ptep_get_and_clear' linux/arch/microblaze/include/asm/pgtable.h:462: error: previous definition of 'ptep_get_and_clear' was here Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-16microblaze: Fix missing pagemap.hMichal Simek1-0/+1
Add missing linux/pagemap.h to solve compilation error. Error log: In file included from linux/arch/microblaze/include/asm/tlb.h:17, from mm/pgtable-generic.c:9: include/asm-generic/tlb.h: In function 'tlb_flush_mmu': include/asm-generic/tlb.h:76: error: implicit declaration of function 'release_pages' include/asm-generic/tlb.h: In function 'tlb_remove_page': include/asm-generic/tlb.h:105: error: implicit declaration of function 'page_cache_release' Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-15dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()Grant Likely1-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>
2011-01-11Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds13-236/+210
* '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
2011-01-10microblaze: remove obsolete DEBUG_BOOTMEMAmerigo Wang2-5/+0
"git grep" shows this is the last piece of code using DEBUG_BOOTMEM, so remove it. Signed-off-by: WANG Cong <amwang@redhat.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-03microblaze: trivial: Fix removed the part of lineMichal Simek1-1/+1
Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-03microblaze: Fix __muldi3 function for little-endian.Michal Simek2-121/+60
__muldi3 was written for big endian platforms. Code contained half word read/write instructions which are not compatible with little endian cpu. Asm __muldi3 implementation is replaced by C version. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-03microblaze: Clear i/dcache for sw breakpointsMichal Simek1-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>
2011-01-03microblaze: Remove useless early_init_dt_check_for_initrdMichal Simek1-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>
2011-01-03microblaze: Fix unaligned exception for little endian platformMichal Simek1-0/+9
Half word unaligned accesses need to be fixed. Signed-off-by: Michal Simek <monstr@monstr.eu>
2011-01-03microblaze: Add PVR for Microblaze v8.00.bMichal Simek1-0/+1
Microblaze v8.00.b have 0x13 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>