aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze
Commit message (Collapse)AuthorAge
* microblaze: Fix sparse warning - consistent_alloc functionMichal Simek2011-03-09
| | | | | | | | | | | | 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>
* microblaze: Fix sparse warnings - ptraceMichal Simek2011-03-09
| | | | | | | | | | | | 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-09
| | | | | | | | | | 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-09
| | | | | | | | | | | | 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-09
| | | | | | | | | | 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-09
| | | | | | CDMA requires DMA_BIDIRECTIONAL option. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: trivial: Add one empty lineMichal Simek2011-03-09
| | | | | | | Add one empty line to microblaze_ksyms.c. Remove one empty line to cacheflush.h. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix coding style - ptrace.hMichal Simek2011-03-09
| | | | | | Use tab instead of spaces. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Add PVR for Microblaze v8.10.aMichal Simek2011-03-09
| | | | | | 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-09
| | | | | | | 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: Fix GDB issue caused by cache issueMichal Simek2011-03-09
| | | | | | | | | 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>
* microblaze: Do not use "la" pseudo instruction - use addik insteadMichal Simek2011-03-09
| | | | | | | "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-09
| | | | | | | | | | | | | | 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-09
| | | | | | | 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-09
| | | | | | | | 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: Fix unaligned.h for endiansMichal Simek2011-03-09
| | | | | | Synchronized with mips unaligned.h. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Do not use r0_ram space for hw exception debuggingMichal Simek2011-03-09
| | | | | | | 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>
* microblaze: Fix msr instruction detectionMichal Simek2011-02-07
| | | | | | | | | | | 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 pte_update functionMichal Simek2011-02-07
| | | | | | | | 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>
* microblaze: Fix asm compilation warningMichal Simek2011-02-07
| | | | | | | | | 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 IRQ flag handling for MSR=0Michal Simek2011-02-07
| | | | | | | | Patch: Fix IRQ flag handling naming (sha1: f9ee29270c11dba7d0fe0b83ce47a4d8e8d2101) introduced problem on system with MSR=0. Signed-off-by: Michal Simek <monstr@monstr.eu>
* microblaze: Fix ASM optimized code for LEMichal Simek2011-01-28
| | | | | | | | | | 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>
* microblaze: Fix unaligned issue on MMU system with BS=0 DIV=1Michal Simek2011-01-28
| | | | | | | | | | | | | | | | | 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-28
| | | | | | | | | | | | | 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>
* microblaze: Use generic irq KconfigThomas Gleixner2011-01-21
| | | | | | | No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michal Simek <monstr@monstr.eu>
* genirq: Remove __do_IRQThomas Gleixner2011-01-21
| | | | | | | | | | | | | | | | | | | 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>
* kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERTDavid Rientjes2011-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblazeLinus Torvalds2011-01-18
|\ | | | | | | | | | | * 'next' of git://git.monstr.eu/linux-2.6-microblaze: microblaze: Fix asm/pgtable.h microblaze: Fix missing pagemap.h
| * microblaze: Fix asm/pgtable.hMichal Simek2011-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * microblaze: Fix missing pagemap.hMichal Simek2011-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | dt/flattree: Return virtual address from early_init_dt_alloc_memory_arch()Grant Likely2011-01-16
|/ | | | | | | | 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-11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '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: remove obsolete DEBUG_BOOTMEMAmerigo Wang2011-01-10
| | | | | | | | | | | | | | | | "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>
| * microblaze: trivial: Fix removed the part of lineMichal Simek2011-01-03
| | | | | | | | Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Fix __muldi3 function for little-endian.Michal Simek2011-01-03
| | | | | | | | | | | | | | | | | | __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>
| * microblaze: Clear i/dcache for sw breakpointsMichal Simek2011-01-03
| | | | | | | | | | | | | | | | | | | | 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-03
| | | | | | | | | | | | | | 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-03
| | | | | | | | | | | | 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-03
| | | | | | | | | | | | Microblaze v8.00.b have 0x13 version string. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * microblaze: Correct PVR access macrosroel kluin2011-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | A definition like: called with PVR_IS_FULL(foo) will be preprocessed to: (foo.foo[0] & PVR0_PVR_FULL_MASK) ^^^ So to fix this and ensure the preprocessor compiles calls correctly: Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
| * Revert "microblaze: Simplify syscall rutine"Michal Simek2010-11-18
| | | | | | | | | | | | | | | | | | 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-18
| | | | | | | | | | | | | | | | Patch: initramfs: generalize initramfs_data.xxx.S variants (sha1 6ae64e428f74e7bacab898ef9665dda719ea6fde) requires hooks in linker script. Signed-off-by: Michal Simek <monstr@monstr.eu>
| * arch/microblaze: Remove unnecessary semicolonsJoe Perches2010-11-15
| | | | | | | | | | Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Michal Simek <monstr@monstr.eu>
* | of/flattree: Add Kconfig for EARLY_FLATTREEStephen Neuendorffer2010-12-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The device tree code is now in two pieces: some which can be used generically on any platform which selects CONFIG_OF_FLATTREE, and some early which is used at boot time on only a few architectures. This patch segregates the early code so that only those architectures which care about it need compile it. This also means that some of the requirements in the early code (such as a cmd_line variable) that most architectures (e.g. X86) don't provide can be ignored. Signed-off-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com> [grant.likely@secretlab.ca: remove extra blank line addition] [grant.likely@secretlab.ca: fixed incorrect #ifdef CONFIG_EARLY_FLATTREE check] [grant.likely@secretlab.ca: Made OF_EARLY_FLATTREE select instead of depend on OF_FLATTREE] Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | microblaze/of: Use generic rule to build dtb'sDirk Brandewie2010-12-23
| | | | | | | | | | | | | | | | Modify arch/powerpc/boot/Makefile to use dtc command in scripts/Makefile.lib Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
* | of/net: Move of_get_mac_address() to a common source file.David Daney2010-11-01
|/ | | | | | | | | | | | 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>
* Merge branch 'kconfig' of ↵Linus Torvalds2010-10-28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: (38 commits) kbuild: convert `arch/tile' to the kconfig mainmenu upgrade README: cite nconfig Revert "kconfig: Temporarily disable dependency warnings" kconfig: Use PATH_MAX instead of 128 for path buffer sizes. kconfig: Fix realloc usage() kconfig: Propagate const kconfig: Don't go out from read config loop when you read new symbol kconfig: fix menuconfig on debian lenny kbuild: migrate all arch to the kconfig mainmenu upgrade kconfig: expand file names kconfig: use the file's name of sourced file kconfig: constify file name kconfig: don't emit warning upon rootmenu's prompt redefinition kconfig: replace KERNELVERSION usage by the mainmenu's prompt kconfig: delay gconf window initialization kconfig: expand by default the rootmenu's prompt kconfig: add a symbol string expansion helper kconfig: regen parser kconfig: implement the `mainmenu' directive kconfig: allow PACKAGE to be defined on the compiler's command-line ... Fix up trivial conflict in arch/mn10300/Kconfig
| * Merge branch 'kbuild/rc-fixes' into kbuild/kconfigMichal Marek2010-10-12
| |\ | | | | | | | | | We need to revert the temporary hack in 71ebc01, hence the merge.
| * | kbuild: migrate all arch to the kconfig mainmenu upgradeArnaud Lacombe2010-09-19
| | | | | | | | | | | | | | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Michal Marek <mmarek@suse.cz>
* | | ptrace: cleanup arch_ptrace() on microblazeNamhyung Kim2010-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>