aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
Commit message (Collapse)AuthorAge
* Blackfin arch: split apart dump_bfin_regs and merge/remove show_regs from ↵Mike Frysinger2007-11-21
| | | | | | | | process.c, which was largely duplicated Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix bug when sending signals with the wrong PC, cause gdb get ↵Robin Getz2007-11-21
| | | | | | | | | | | confused We need to send signals with the proper PC, or gdb gets confused, and lots of tests fail. This should fix that. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Ensure we printk out strings with the proper loglevelRobin Getz2007-11-21
| | | | | | Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: cplb and map header file cleanupMike Frysinger2007-11-21
| | | | | | | | | | | | - remove duplicated defines for the BF561 - generalize L2 support (so that it works for BF54x) and mark it executable - add support for reading/executing the Boot ROM sections (since it has data/functions we may need at runtime) - and fixup names for each map Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: cleanup the cplb declaresMike Frysinger2007-11-21
| | | | | | | | | - no need to declare their sizes in the common header - no need to tack on the section attribute as only the definition matters, not references Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: rename _return_from_exception to _bfin_return_from_exception ↵Mike Frysinger2007-11-21
| | | | | | | | and export it Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: move EXPORT_SYMBOL() to C files where the symbol is actually ↵Mike Frysinger2007-11-21
| | | | | | | | defined Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: export symbol get_dma_curr_desc_ptr for driver usageCliff Cai2007-11-21
| | | | | | Signed-off-by: Cliff Cai <cliff.cai@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: cleanup kernel exception message, don't insult the customer.Robin Getz2007-11-17
| | | | | | Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix bug kernel not to boot up with mtd filesystemsBernd Schmidt2007-11-17
| | | | | | | | | | | | | | | | Revert this patch: move the init sections to the end of memory, so that after they are free, run time memory is all continugous - this should help decrease memory fragementation. When doing this, we also pack some of the other sections a little closer together, to make sure we don't waste memory. To make this happen, we need to rename the .data.init_task section to .init_task.data, so it doesn't get picked up by the linker script glob. Since it causes the kernel not to boot up with mtd filesystems. Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: print out modules that are loaded if we get a kernel oopsRobin Getz2007-11-17
| | | | | | Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Add assembly function insl_16Michael Hennerich2007-11-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /* * CPUs often take a performance hit when accessing unaligned memory * locations. The actual performance hit varies, it can be small if the * hardware handles it or large if we have to take an exception and fix * it * in software. * * Since an ethernet header is 14 bytes network drivers often end up * with * the IP header at an unaligned offset. The IP header can be aligned by * shifting the start of the packet by 2 bytes. Drivers should do this * with: * * skb_reserve(NET_IP_ALIGN); * * The downside to this alignment of the IP header is that the DMA is * now * unaligned. On some architectures the cost of an unaligned DMA is high * and this cost outweighs the gains made by aligning the IP header. * * Since this trade off varies between architectures, we allow * NET_IP_ALIGN * to be overridden. */ This new function insl_16 allows to read form 32-bit IO and writes to 16-bit aligned memory. This is useful in above described scenario - In particular with the AXIS AX88180 Gigabit Ethernet MAC. Once the device is in 32-bit mode, reads from the RX FIFO always decrements 4bytes. While on the other side the destination address in SDRAM is always 16-bit aligned. If we use skb_reserve(0) the receive buffer is 32-bit aligned but later we hit a unaligned exception in the IP code. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: use do_div() for the 64bit division as pointed out by BerndMike Frysinger2007-11-22
| | | | | | | | | | If you need a 64 bit divide in the kernel, use asm/div64.h. Revert the addition of udivdi3. Cc: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: unexport get_wchanAdrian Bunk2007-11-17
| | | | | | | | | The only user of get_wchan I was able to find is the proc fs - and proc can't be built modular. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: remove dump_thread()Adrian Bunk2007-11-17
| | | | | | | | | | | | | The only user is the a.out support. It was therefore removed prior to the blackfin merge from all architectures not supporting a.out. Currently, Blackfin doesn't suppport a.out. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: move the init sections to the end of memory to help decrease ↵Robin Getz2007-11-15
| | | | | | | | | | | | | | | memory fragementation move the init sections to the end of memory, so that after they are free, run time memory is all continugous - this should help decrease memory fragementation. When doing this, we also pack some of the other sections a little closer together, to make sure we don't waste memory. To make this happen, we need to rename the .data.init_task section to .init_task.data, so it doesn't get picked up by the linker script glob. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix bug cplbmgr.S does not exit properly on error conditionRobin Getz2007-11-15
| | | | | | | | | | | | https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=1685 Ensure that cache/protection is turned back on when we get a fault, and ensure that the initial population of the CPLB tables are correct - that kernel is locked in CPLB tables Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix bux - only reset the PC when necessary, otherwise gdb ↵Robin Getz2007-11-12
| | | | | | | | gets confused Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: ensure we work around ANOMALY_05000261 for null pointersRobin Getz2007-11-12
| | | | | | | | We currently do not. Also make it easier to handle cplb violations - in traps.c Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: reclaim a few bytes from the end of our init sectionMike Frysinger2007-10-30
| | | | | | Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: ensure that speculative loads of bad pointers don't cause us ↵Robin Getz2007-10-29
| | | | | | | | | | to do bad things. Fix/change formatting of a few more things. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Fix random crash issue found by Michael.Robin Getz2007-10-29
| | | | | | | | | | | | | | | This is fixes a problem where we could jump to the wrong address. By doing a "p0 = reti; jump (p0)". If a different, higher level interrupt came in, just before, rather than returning to the calling function, we would return to a random place in the kernel. This very elegant fix from Bernd grabs the return location off the stack, and places it into P0, so when we do a return, it goes to the correct place. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix bug: tell users if the kernel is recovering from a fault ↵Robin Getz2007-10-29
| | | | | | | | condition Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: add support for checking/clearing overruns in generic purpose ↵Mike Frysinger2007-10-29
| | | | | | | | Timer API Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: cleanup arch/blackfin/kernel/traps.c handling code.Robin Getz2007-10-29
| | | | | | | | | | | | | | | - move the CONFIG_KGDB into one block, for easier reading - remove printk from printk_address, and pass around buffers. Also print out the labels when decoding CPLB errors, so you know exactly where the error was. - Do not use fixed addresses, becuase people do not know where they come from. - Turn the printing level down on the dump, so if you don't want, only the signal prints out - just like on other archs. If a kernel/interrupt crashes, it should dump everything all the time Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix bug: kernel prints out error message twiceRobin Getz2007-10-29
| | | | | | | | | | | | | This fixes two things: - stop calling write_lock_irq/write_unlock_irq which can turn modify irq levels - don't calling mmput when handing exceptions - since this might_sleep, which does a rti, and leaves us in kernel space (irq15, rather than irq5). Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* blackfin: fix sg falloutAdrian Bunk2007-10-24
| | | | | Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Jens Axboe <axboe@carl.home.kernel.dk>
* Merge branch 'for-linus' of ↵Linus Torvalds2007-10-22
|\ | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6 * 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6: Blackfin arch: use KBUILD_CFLAGS and KBUILD_AFLAGS in Makefile Blackfin arch: Javier Herrer writes: fix building when icache and dcache is disabled
| * Blackfin arch: Javier Herrer writes: fix building when icache and dcache is ↵Mike Frysinger2007-10-21
| | | | | | | | | | | | | | | | disabled Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* | Update arch/ to use sg helpersJens Axboe2007-10-22
|/ | | | Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* Blackfin arch: dma add some API and cleanup bf54x DMA definitionBryan Wu2007-10-21
| | | | | Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: cleanup and promote the general purpose timers api to a core ↵Mike Frysinger2007-10-21
| | | | | | | | blackfin component Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: add functions for converting between sclks and usecsMike Frysinger2007-10-21
| | | | | | Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: use "char bfin_board_name[]" rather than "char ↵Mike Frysinger2007-10-21
| | | | | | | | *bfin_board_name" per discussion on lkml as the former uses less storage Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Fixing Bug: balance calls to get_task_mm with corresponding ↵Bernd Schmidt2007-10-21
| | | | | | | | | | mmput calls We must balance calls to get_task_mm with corresponding mmput calls, otherwise refcounting is screwed up and mms don't get freed when their task exits. Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Fix up /proc/cpuinfo so it is like everyone elseRobin Getz2007-10-21
| | | | | | | | | | | Fix up /proc/cpuinfo so it is like everyone else, and gets parsed by various applications properly. Still needs some tweaking on parts without full L1 sram, like 532, 531, so it doesn't print out L1 bank info that doesn't exist. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: add new processor ADSP-BF52x arch/mach supportMichael Hennerich2007-10-21
| | | | | | Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Consolidate PTRACE_DETACHAlexey Dobriyan2007-10-16
| | | | | | | | | | | Identical handlers of PTRACE_DETACH go into ptrace_request(). Not touching compat code. Not touching archs that don't call ptrace_request. Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru> Acked-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Blackfin arch: fix bug libstdc++ calling writev with an iovec containing { ↵Bernd Schmidt2007-10-10
| | | | | | | | | | | | | NULL, 0 } fails on Blackfin Fix a problem reported in the forums - libstdc++ can call writev with an iovec containing { NULL, 0 }, which works fine on i686-linux, but fails on Blackfin. Fixed by allowing size 0 transfers to/from userspace regardless of the address. Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Export strcpy - occasionally get module link failures otherwiseBernd Schmidt2007-10-10
| | | | | | Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: flush/inv the correct range when using write back cache and ↵Michael Hennerich2007-10-10
| | | | | | | | | | | | | | | | | | fix bugs find by dmacopy - flush/inv the correct range - dmacopy test failed when policy is write_back - invalidate before dma http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3367 It's the cache invalidate what is causing the issue. There is no invalidate only instruction it's always: FLUSHINV So when we "invalidate" after the DMA we might (do) overwrite freshly dma'ed data by dirty Cache WB content. Fixed by moving the "invalidate" at the beginning of dma_memcpy. Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Comply with revised Anomaly Workarounds for BF533 05000311 ↵Michael Hennerich2007-10-10
| | | | | | | | | | | and BF561 05000323 Comply with revised Anomaly Workarounds for BF533 05000311 and BF561 05000323 accoring to BF533 anomaly sheet Rev. A 09/04/07 Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Print out debug info, as early as possibleRobin Getz2007-10-09
| | | | | | | | | | Print out debug info, as early as possible - even before the kernel initializes the interrupt vectors. Now we can print out debug messages almost anytime during the boot process. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Enable earlyprintk earlier - so any error after our interrupt ↵Robin Getz2007-10-09
| | | | | | | | | | | | | tables are set up will print out Also ensure that the traps_c code doesn't cause a double fault, by sending a signal to a faulting kernel before the memory subsystem is fully initialized, by printing out the error message before sending the signal. Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix endless loop bug when a double fault happensRobin Getz2007-10-09
| | | | | | | | | | | Today when a double fault happens (exception during an exception handling event), we go into an endless loop, with nothing comming out the UART. With this patch, we actually see that we have commited a double fault event Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: Initial patch to add earlyprintk supportRobin Getz2007-10-09
| | | | | | | | | | This allows debugging of problems which happen eary in the kernel boot process (after bootargs are parsed, but before serial subsystem is fully initialized) Signed-off-by: Robin Getz <robin.getz@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: modify the insX/outsX and dma_insX/dma_outsX to be compatible ↵Bryan Wu2007-10-09
| | | | | | | with other archs Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: add more common defines for output sectionsMike Frysinger2007-10-10
| | | | | | Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: cleanup IO and DMA_IO API function definitions according to ↵Bryan Wu2007-09-12
| | | | | | | other arches Signed-off-by: Bryan Wu <bryan.wu@analog.com>
* Blackfin arch: fix typo pointed out by David Rowe (Mhz -> MHz)Mike Frysinger2007-09-12
| | | | | | Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>