Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
c7b412f4
Commit
c7b412f4
authored
Jun 08, 2009
by
Mike Frysinger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Blackfin: add preliminary support for STACKTRACE
Signed-off-by:
Mike Frysinger
<
vapier@gentoo.org
>
parent
5203fa82
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
57 additions
and
0 deletions
+57
-0
arch/blackfin/Kconfig
arch/blackfin/Kconfig
+3
-0
arch/blackfin/kernel/Makefile
arch/blackfin/kernel/Makefile
+1
-0
arch/blackfin/kernel/stacktrace.c
arch/blackfin/kernel/stacktrace.c
+53
-0
No files found.
arch/blackfin/Kconfig
View file @
c7b412f4
...
@@ -55,6 +55,9 @@ config FORCE_MAX_ZONEORDER
...
@@ -55,6 +55,9 @@ config FORCE_MAX_ZONEORDER
config GENERIC_CALIBRATE_DELAY
config GENERIC_CALIBRATE_DELAY
def_bool y
def_bool y
config STACKTRACE_SUPPORT
def_bool y
config TRACE_IRQFLAGS_SUPPORT
config TRACE_IRQFLAGS_SUPPORT
def_bool y
def_bool y
...
...
arch/blackfin/kernel/Makefile
View file @
c7b412f4
...
@@ -23,6 +23,7 @@ obj-$(CONFIG_MODULES) += module.o
...
@@ -23,6 +23,7 @@ obj-$(CONFIG_MODULES) += module.o
obj-$(CONFIG_KGDB)
+=
kgdb.o
obj-$(CONFIG_KGDB)
+=
kgdb.o
obj-$(CONFIG_KGDB_TESTS)
+=
kgdb_test.o
obj-$(CONFIG_KGDB_TESTS)
+=
kgdb_test.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
obj-$(CONFIG_EARLY_PRINTK)
+=
early_printk.o
obj-$(CONFIG_STACKTRACE)
+=
stacktrace.o
# the kgdb test puts code into L2 and without linker
# the kgdb test puts code into L2 and without linker
# relaxation, we need to force long calls to/from it
# relaxation, we need to force long calls to/from it
...
...
arch/blackfin/kernel/stacktrace.c
0 → 100644
View file @
c7b412f4
/*
* Blackfin stacktrace code (mostly copied from avr32)
*
* Copyright 2009 Analog Devices Inc.
* Licensed under the GPL-2 or later.
*/
#include <linux/sched.h>
#include <linux/stacktrace.h>
#include <linux/thread_info.h>
#include <linux/module.h>
register
unsigned
long
current_frame_pointer
asm
(
"FP"
);
struct
stackframe
{
unsigned
long
fp
;
unsigned
long
rets
;
};
/*
* Save stack-backtrace addresses into a stack_trace buffer.
*/
void
save_stack_trace
(
struct
stack_trace
*
trace
)
{
unsigned
long
low
,
high
;
unsigned
long
fp
;
struct
stackframe
*
frame
;
int
skip
=
trace
->
skip
;
low
=
(
unsigned
long
)
task_stack_page
(
current
);
high
=
low
+
THREAD_SIZE
;
fp
=
current_frame_pointer
;
while
(
fp
>=
low
&&
fp
<=
(
high
-
sizeof
(
*
frame
)))
{
frame
=
(
struct
stackframe
*
)
fp
;
if
(
skip
)
{
skip
--
;
}
else
{
trace
->
entries
[
trace
->
nr_entries
++
]
=
frame
->
rets
;
if
(
trace
->
nr_entries
>=
trace
->
max_entries
)
break
;
}
/*
* The next frame must be at a higher address than the
* current frame.
*/
low
=
fp
+
sizeof
(
*
frame
);
fp
=
frame
->
fp
;
}
}
EXPORT_SYMBOL_GPL
(
save_stack_trace
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment