31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
23 May, 2010
2 commits
-
Another pseudo insn used by Blackfin simulators. Also factor some now
common register lookup code out of the DBGA handlers.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
A few pseudo debug insns exist to make testing of simulators easier.
Since these don't actually exist in the hardware, we have to have the
exception handler take care of emulating these. This allows sim test
cases to be executed unmodified under Linux and thus simplify debugging
greatly.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
21 May, 2010
3 commits
-
Decode the vast majority of insns that appear in the trace buffer to get a
better idea of what's going on at a glance.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
Now that the split traps code has moved all the verbose output to the
trace.c file, we can unify all the CONFIG_DEBUG_VERBOSE handling. This
gets rid of much of the crappy ifdef forest and enables usage of normal
pr_xxx functions so checkpatch stops complaining.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
The current kernel/traps.c file has grown a bit unwieldy as more debugging
functionality has been added over time, so split it up into more logical
files. There should be no functional changes here, just minor whitespace
tweaking. This should make future extensions easier to manage.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
09 Mar, 2010
4 commits
-
Signed-off-by: Frans Pop
Signed-off-by: Mike Frysinger -
Some userspace applications use this member in diagnosing crashes. It
also makes some LTP tests pass (i.e. the Blackfin arch behaves more like
everyone else).Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger -
The locking code in the address dumper needs to grab the mm's mmap_sem
so that other CPUs do not get an inconsistent view. On UP systems this
really wasn't a problem, but it is easy to trigger a race on SMP systems
when another CPU removes a mapping.Signed-off-by: Graf Yang
Signed-off-by: Mike Frysinger -
This condition allowed only decoding of opcode 0x0040
Signed-off-by: Roel Kluin
Signed-off-by: Mike Frysinger
17 Dec, 2009
1 commit
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin: (88 commits)
Blackfin: Convert BUG() to use unreachable()
Blackfin: define __NR_recvmmsg
Blackfin: drop duplicate sched_clock
Blackfin: NOMPU: skip DMA ICPLB hole when it is redundant
Blackfin: MPU: add missing __init markings
Blackfin: add support for TIF_NOTIFY_RESUME
Blackfin: kgdb_test: clean up code a bit
Blackfin: convert kgdbtest to proc_fops
Blackfin: convert cyc2ns() to clocksource_cyc2ns()
Blackfin: ip0x: pull in asm/portmux.h for P_xxx defines
Blackfin: drop unused ax88180 resources
Blackfin: bf537-stamp: add ADF702x network driver resources
Blackfin: bf537-stamp: add CAN resources
Blackfin: bf537-stamp: add AD5258 i2c address
Blackfin: bf537-stamp: add adau1761 i2c address
Blackfin: bf537-stamp: add adau1371 i2c address
Blackfin: bf537-stamp: add ADP8870 resources
Blackfin: bf537-stamp: kill AD714x board-specific Kconfigs
Blackfin: bf537-stamp: update ADP5520 resources
Blackfin: bf537-stamp: add ADXL346 orientation sensing support
...
15 Dec, 2009
4 commits
-
While fetching instructions at the boundary of L1 instruction SRAM, a false
External Memory Addressing Error might be triggered. We should ignore this
and continue on our way to avoid random crashes.Because hardware errors are not exact in the Blackfin architecture, we need
to catch a few more common cases when the code flow changes and the signal
is finally delivered.Signed-off-by: Barry Song
Signed-off-by: Mike Frysinger -
If we're double faulting, then we have to assume the VMAs are not safe as
broken pointers here will prevent full trace output for the double fault.
Shouldn't be a big problem though as rarely is a double fault caused by
code in userspace.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
Signed-off-by: Mike Frysinger
-
Convert locks which cannot be sleeping locks in preempt-rt to
raw_spinlocks.Signed-off-by: Thomas Gleixner
Acked-by: Peter Zijlstra
Acked-by: Ingo Molnar
04 Dec, 2009
1 commit
-
That is "success", "unknown", "through", "performance", "[re|un]mapping"
, "access", "default", "reasonable", "[con]currently", "temperature"
, "channel", "[un]used", "application", "example","hierarchy", "therefore"
, "[over|under]flow", "contiguous", "threshold", "enough" and others.Signed-off-by: André Goddard Rosa
Signed-off-by: Jiri Kosina
07 Oct, 2009
1 commit
-
Bill Gatliff & David Brownell pointed out we were missing some
copyrights, and licensing terms in some of the files in
./arch/blackfin, so this fixes things, and cleans them up.It also removes:
- verbose GPL text(refer to the top level ./COPYING file)
- file names (you are looking at the file)
- bug url (it's in the ./MAINTAINERS file)
- "or later" on GPL-2, when we did not have that rightIt also allows some Blackfin-specific assembly files to be under a BSD
like license (for people to use them outside of Linux).Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
17 Sep, 2009
8 commits
-
When preempt debugging is enabled, smp_processor_id() may utilize the
"current" structure. This may not be safe to access under all exceptions
due to it being in dynamically allocated memory. So in exception code,
make sure we use raw_smp_processor_id() instead to get at the real value
directly.Signed-off-by: Yi Li
Signed-off-by: Mike Frysinger -
Since the exception handler cannot cause exceptions, we cannot trace it
without easily causing double faults and crashing the system.Signed-off-by: Yi Li
Signed-off-by: Mike Frysinger -
Since the hardware only provides reporting for the last exception handled,
and the values are valid only when executing the exception handler, we
need to save the context for reporting at a later point. While we do this
for one exception, it doesn't work properly when handling a second one as
the original exception is clobbered by the double fault. So when double
fault debugging is enabled, create a dedicated shadow of these values and
save/restore out of there. Now the crash report properly displays the
first exception as well as the second one.Signed-off-by: Graf Yang
Signed-off-by: Mike Frysinger -
The protect_page() function was incorrectly setting up the hardware tables
based on possible access capabilities rather than the actual requested
values. This means we would grant more access to mmap-ed pages than we
should have. Once we fix this, we need to tweak the signal generated by
such accesses to aline ourselves with other ports. This allows the LTP
mmap0{5,6,7} cases to run properly.Signed-off-by: Graf Yang
Signed-off-by: Mike Frysinger -
The end of the stack may not be valid (and that could be OK), so do not
attempt to parse it. If we do, we might use a bad pointer in kernel space
which makes things panic().Signed-off-by: Sonic Zhang
Signed-off-by: Mike Frysinger -
Unify the address display to shrink the code, and add missing decoding of
a few special Blackfin-specific regions (L1 ROM and MMRs).Signed-off-by: Mike Frysinger
-
Signed-off-by: Philippe Gerum
Signed-off-by: Mike Frysinger -
We handle many exceptions at EVT5 (hardware error level) so that we can
catch exceptions in our exception handling code. Today - if the global
interrupt enable bit (IPEND[4]) is set (interrupts disabled) our trap
handling code goes into a infinite loop, since we need interrupts to be
on to defer things to EVT5.Normal kernel code should not trigger this for any reason as IPEND[4] gets
cleared early (when doing an interrupt context save) and the kernel stack
there should be sane (or something much worse is happening in the system).
But there have been a few times where this has happened, so this change
makes sure we dump a proper crash message even when things have gone south.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
16 Jul, 2009
3 commits
-
Similar to anomaly 05000281 but not as bad, we cannot return to the
instruction causing a fault otherwise we'll trigger a second false
exception. The system can still recover, but it isn't correct.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
Previous unification code put the exception banner behind the "is oops"
logic when it should have been printed all the time.Signed-off-by: Mike Frysinger
-
Add missing anomaly workaround for anomaly 05000281 - we can't return to
instructions which cause hardware errors otherwise we trigger the error
again which means we go into an infinite loop of handling, returning, and
retriggering. This work around confuses gdb when the error occurs as the
PC will seemed to have moved, so a better long term fix will need to be
figured out, but for now this is better than an infinite crash loop.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger
09 Jul, 2009
1 commit
-
Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean up
handling of log-levels and newlines") changed printk semantics. printk
lines with multiple KERN_ prefixes are no longer emitted as
before the patch.is now included in the output on each additional use.
Remove all uses of multiple KERN_s in formats.
Signed-off-by: Joe Perches
Signed-off-by: Linus Torvalds
23 Jun, 2009
1 commit
-
The kgdb (in multiple places) and traps code developed pretty much
identical checks for how to access different regions of the Blackfin
memory map, but each wasn't 100%, so unify them to avoid duplication,
bitrot, and bugs with edge cases.Signed-off-by: Mike Frysinger
13 Jun, 2009
3 commits
-
Rather than maintain a duplicate list of valid exceptions we can take in
the kernel both in the first if() check and the switch() check, delay the
oops check to after the switch(). All valid exceptions will have returned
by this point leaving only the invalid ones.Signed-off-by: Mike Frysinger
-
The trap_c() code pushes the hardware trace status onto the stack, but
doesn't always restore it when returning from some trap code paths. So
unify the exit code paths to all head to the end of the function.Signed-off-by: Mike Frysinger
-
Signed-off-by: Mike Frysinger
12 Jun, 2009
6 commits
-
The massive nommu update (8feae131) left the local variable "vml" unused,
so punt it.Signed-off-by: Mike Frysinger
-
We have some test code that runs in userspace that exercises the exception
handling of the Blackfin pretty thoroughly. Part of the validation process
is checking the exact exception triggered, so export the last one seen to
userspace via debugfs when debugging is enabled for the test code to check.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
People often copy & paste crash messages without surrounding context, so
include common useful information like system/processor stats in the crash
summary. This should smooth over the report/test cycle a bit more.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
Returning too fast with a bad RETI can trigger false errors.
Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
When displaying a crash dump, make sure accessing the stack is safe so
we don't crash at the same time.Signed-off-by: Robin Getz
Signed-off-by: Mike Frysinger -
The panic() function already handles newlines for us.
Signed-off-by: Mike Frysinger
04 Feb, 2009
1 commit
-
Signed-off-by: Robin Getz
Signed-off-by: Bryan Wu