03 Jun, 2008
1 commit
-
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
17 May, 2008
1 commit
-
so that we always send the same signal and we handle the NULL ptr condition properly
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
25 Apr, 2008
2 commits
-
Remove the circular buffering mechanism for exceptions. Instead, point RETX
at a safe location from which to fetch three NOPs.This safe location is now in the fixed code area, and also used for certain
anomaly workarounds, to ensure that user space can find a valid ICPLB when
things are built with CONFIG_MPU.Also, save I/DCPLB_FAULT_ADDRESS when lowering to level 5, since the hardware
reg is valid only at exception level.Signed-off-by: Bernd Schmidt
Signed-off-by: Bryan Wu -
…urrent before it gets dereferenced
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
26 Mar, 2008
2 commits
-
grab locks when not atomic - this fixes the issues
sometimes seen when using magic sysrq.Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu -
Sometimes when we crash, current is not valid, (has been written
over), so the existing code causes a invalid read during exception
context - which is a unrecoverable double fault. This fixes this.Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
07 Mar, 2008
1 commit
-
… few userspace system functions
Signed-off-by: Mike Frysinger <vapier.adi@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
15 Feb, 2008
1 commit
-
d_path() is used on a pair. Lets use a struct path to
reflect this.[akpm@linux-foundation.org: fix build in mm/memory.c]
Signed-off-by: Jan Blunck
Acked-by: Bryan Wu
Acked-by: Christoph Hellwig
Cc: Al Viro
Cc: "J. Bruce Fields"
Cc: Neil Brown
Cc: Michael Halcrow
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 Feb, 2008
1 commit
-
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
27 Jan, 2008
1 commit
-
http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3719
When the CPLBs get a miss, we do:
- find a victim in the HW table
- remove the victim
- find the replacement in the software table
- put it into the HW table.If we can't find a replacement in the software table, we accidently
leave a duplicate in the HW table. This patch ensures that duplicate
is marked as not valid.What we should do is find the replacement in the software table, before
we find a victim in the HW table - but its too late in the release cycle
to do that much restructuring of this code.Rather that duplicate code, connect Hardware Errors (irq5) into trap_c,
so user space processes get killed properly.The rest of irq_panic() can be moved into traps.c (later)
There is still a small corner case that causes problems when a
pheriperal interrupt goes off a single cycle before a user space
hardware error. This causes a kernel panic, rather than the user
space process being killed.But, this checkin makes things work in 99.9% of the cases, and is a vast
improvement from what is there today (which fails 100% of the time).Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
11 Jan, 2008
1 commit
-
… if the kernel is tainted
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
10 Jan, 2008
1 commit
-
Don't oops_in_progress if single step is comming from the
kernel, which happens if a single step occurs after a exception cause.
This fixes up the remaining issues in the toolchain bug.Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
24 Dec, 2007
1 commit
-
http://blackfin.uclinux.org/gf/project/toolchain/tracker/?action=TrackerItemEdit&tracker_item_id=3651
As Bernd predicted, this was only necessary because of other
problems in the kenel - fixing those, and this is not necessary, so
remove it.Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
23 Dec, 2007
1 commit
-
Clean up dump_bfin_mem so that it will display
content from the kernel, as well as l1 instruction, when deferred
HW errors happen, print out the last frame info if it makes sense.Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
21 Nov, 2007
3 commits
-
…s.c, which was largely duplicated
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com> -
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
Signed-off-by: Bryan Wu -
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
18 Nov, 2007
2 commits
-
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu -
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
15 Nov, 2007
1 commit
-
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 tablesSigned-off-by: Robin Getz
Signed-off-by: Bryan Wu
12 Nov, 2007
2 commits
-
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu -
We currently do not. Also make it easier to handle cplb violations - in traps.c
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
29 Oct, 2007
2 commits
-
- 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 timeSigned-off-by: Robin Getz
Signed-off-by: Bryan Wu -
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
Signed-off-by: Bryan Wu
21 Oct, 2007
1 commit
-
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
09 Oct, 2007
2 commits
-
…les 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> -
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 eventSigned-off-by: Robin Getz
Signed-off-by: Bryan Wu
12 Aug, 2007
1 commit
-
Cc: Alexey Dobriyan
Signed-off-by: Bryan Wu
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
05 Aug, 2007
2 commits
-
add an exception request/free api similar to the interrupt request/fre
api so people can utilize the free software based exceptions for their
own purposesSigned-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
25 Jul, 2007
2 commits
-
Add ability to expend the hardware trace buffer via a configurable
software buffer - so you can have lots of history when a crash occurs.The interesting way we do printk in the traps.c confusese the checking
scriptSigned-off-by: Robin Getz
Signed-off-by: Bryan Wu -
Signed-off-by: Sonic Zhang
Signed-off-by: Bryan Wu
12 Jul, 2007
2 commits
-
we converted to using a system call for userspace spinlocks
rather than a dedicated exception long agoSigned-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
25 Jun, 2007
1 commit
-
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
21 Jun, 2007
2 commits
-
Turns on trace earlier, so crashes at kernel start should print out a
trace, making things easier to debug.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu -
to look like:
return address: [0x0357fcc4]; contents of:
0x0357fca0: fcbc 0357 fe20 0357 0009 0000 6a8c 0345
0x0357fcb0: 000e 0000 fcc4 0357 fd44 0357 e128 00ad
0x0357fcc0: 00a0 0000 [000e] 0000 0000 0000 0080 0000
0x0357fcd0: 0000 0000 0000 0000 00a0 0000 000e 0000instruction in [] is the offending instruction
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu
11 Jun, 2007
1 commit
-
Signed-off-by: Simon Arlott
Signed-off-by: Bryan Wu
22 May, 2007
1 commit
-
Signed-off-by: Mike Frysinger
Signed-off-by: Bryan Wu
Signed-off-by: Linus Torvalds
08 May, 2007
1 commit
-
This adds support for the Analog Devices Blackfin processor architecture, and
currently supports the BF533, BF532, BF531, BF537, BF536, BF534, and BF561
(Dual Core) devices, with a variety of development platforms including those
avaliable from Analog Devices (BF533-EZKit, BF533-STAMP, BF537-STAMP,
BF561-EZKIT), and Bluetechnix! Tinyboards.The Blackfin architecture was jointly developed by Intel and Analog Devices
Inc. (ADI) as the Micro Signal Architecture (MSA) core and introduced it in
December of 2000. Since then ADI has put this core into its Blackfin
processor family of devices. The Blackfin core has the advantages of a clean,
orthogonal,RISC-like microprocessor instruction set. It combines a dual-MAC
(Multiply/Accumulate), state-of-the-art signal processing engine and
single-instruction, multiple-data (SIMD) multimedia capabilities into a single
instruction-set architecture.The Blackfin architecture, including the instruction set, is described by the
ADSP-BF53x/BF56x Blackfin Processor Programming Reference
http://blackfin.uclinux.org/gf/download/frsrelease/29/2549/Blackfin_PRM.pdfThe Blackfin processor is already supported by major releases of gcc, and
there are binary and source rpms/tarballs for many architectures at:
http://blackfin.uclinux.org/gf/project/toolchain/frs There is complete
documentation, including "getting started" guides available at:
http://docs.blackfin.uclinux.org/ which provides links to the sources and
patches you will need in order to set up a cross-compiling environment for
bfin-linux-uclibcThis patch, as well as the other patches (toolchain, distribution,
uClibc) are actively supported by Analog Devices Inc, at:
http://blackfin.uclinux.org/We have tested this on LTP, and our test plan (including pass/fails) can
be found at:
http://docs.blackfin.uclinux.org/doku.php?id=testing_the_linux_kernel[m.kozlowski@tuxland.pl: balance parenthesis in blackfin header files]
Signed-off-by: Bryan Wu
Signed-off-by: Mariusz Kozlowski
Signed-off-by: Aubrey Li
Signed-off-by: Jie Zhang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds