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
c68644d3
Commit
c68644d3
authored
Feb 26, 2007
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[MIPS] Make SMTC_IDLE_HOOK_DEBUG a proper option in Kconfig.debug.
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
e016c38d
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
13 deletions
+19
-13
arch/mips/Kconfig.debug
arch/mips/Kconfig.debug
+9
-0
arch/mips/kernel/process.c
arch/mips/kernel/process.c
+2
-2
arch/mips/kernel/smtc.c
arch/mips/kernel/smtc.c
+8
-11
No files found.
arch/mips/Kconfig.debug
View file @
c68644d3
...
...
@@ -37,6 +37,15 @@ config DEBUG_STACK_USAGE
This option will slow down process creation somewhat.
config CONFIG_SMTC_IDLE_HOOK_DEBUG
bool "Enable additional debug checks before going into CPU idle loop"
depends on DEBUG_KERNEL && MIPS_MT_SMTC
help
This option enables Enable additional debug checks before going into
CPU idle loop. For details on these checks, see
arch/mips/kernel/smtc.c. This debugging option result in significant
overhead so should be disabled in production kernels.
config KGDB
bool "Remote GDB kernel debugging"
depends on DEBUG_KERNEL && SYS_SUPPORTS_KGDB
...
...
arch/mips/kernel/process.c
View file @
c68644d3
...
...
@@ -51,11 +51,11 @@ ATTRIB_NORET void cpu_idle(void)
/* endless idle loop with no priority at all */
while
(
1
)
{
while
(
!
need_resched
())
{
#ifdef CONFIG_
MIPS_MT_SMTC
#ifdef CONFIG_
SMTC_IDLE_HOOK_DEBUG
extern
void
smtc_idle_loop_hook
(
void
);
smtc_idle_loop_hook
();
#endif
/* CONFIG_MIPS_MT_SMTC */
#endif
if
(
cpu_wait
)
(
*
cpu_wait
)();
}
...
...
arch/mips/kernel/smtc.c
View file @
c68644d3
...
...
@@ -141,10 +141,7 @@ __setup("ipibufs=", ipibufs);
__setup
(
"nostlb"
,
stlb_disable
);
__setup
(
"asidmask="
,
asidmask_set
);
/* Enable additional debug checks before going into CPU idle loop */
#define SMTC_IDLE_HOOK_DEBUG
#ifdef SMTC_IDLE_HOOK_DEBUG
#ifdef CONFIG_SMTC_IDLE_HOOK_DEBUG
static
int
hang_trig
=
0
;
...
...
@@ -176,7 +173,7 @@ int tcnoprog[NR_CPUS];
static
atomic_t
idle_hook_initialized
=
{
0
};
static
int
clock_hang_reported
[
NR_CPUS
];
#endif
/* SMTC_IDLE_HOOK_DEBUG */
#endif
/*
CONFIG_
SMTC_IDLE_HOOK_DEBUG */
/* Initialize shared TLB - the should probably migrate to smtc_setup_cpus() */
...
...
@@ -394,10 +391,10 @@ void mipsmt_prepare_cpus(void)
printk
(
"ASID mask value override to 0x%x
\n
"
,
asidmask
);
/* Temporary */
#ifdef SMTC_IDLE_HOOK_DEBUG
#ifdef
CONFIG_
SMTC_IDLE_HOOK_DEBUG
if
(
hang_trig
)
printk
(
"Logic Analyser Trigger on suspected TC hang
\n
"
);
#endif
/* SMTC_IDLE_HOOK_DEBUG */
#endif
/*
CONFIG_
SMTC_IDLE_HOOK_DEBUG */
/* Put MVPE's into 'configuration state' */
write_c0_mvpcontrol
(
read_c0_mvpcontrol
()
|
MVPCONTROL_VPC
);
...
...
@@ -817,9 +814,9 @@ void ipi_decode(struct smtc_ipi *pipi)
case
SMTC_CLOCK_TICK
:
/* Invoke Clock "Interrupt" */
ipi_timer_latch
[
dest_copy
]
=
0
;
#ifdef SMTC_IDLE_HOOK_DEBUG
#ifdef
CONFIG_
SMTC_IDLE_HOOK_DEBUG
clock_hang_reported
[
dest_copy
]
=
0
;
#endif
/* SMTC_IDLE_HOOK_DEBUG */
#endif
/*
CONFIG_
SMTC_IDLE_HOOK_DEBUG */
local_timer_interrupt
(
0
,
NULL
);
break
;
case
LINUX_SMP_IPI
:
...
...
@@ -1020,7 +1017,7 @@ EXPORT_SYMBOL(smtc_ipi_replay);
void
smtc_idle_loop_hook
(
void
)
{
#ifdef SMTC_IDLE_HOOK_DEBUG
#ifdef
CONFIG_
SMTC_IDLE_HOOK_DEBUG
int
im
;
int
flags
;
int
mtflags
;
...
...
@@ -1113,7 +1110,7 @@ void smtc_idle_loop_hook(void)
local_irq_restore
(
flags
);
if
(
pdb_msg
!=
&
id_ho_db_msg
[
0
])
printk
(
"CPU%d: %s"
,
smp_processor_id
(),
id_ho_db_msg
);
#endif
/* SMTC_IDLE_HOOK_DEBUG */
#endif
/*
CONFIG_
SMTC_IDLE_HOOK_DEBUG */
/*
* Replay any accumulated deferred IPIs. If "Instant Replay"
...
...
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