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
93373ed4
Commit
93373ed4
authored
Apr 01, 2006
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[MIPS] Rewrite spurious_interrupt from assembler to C.
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
c9e321e0
Changes
18
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
40 additions
and
44 deletions
+40
-44
arch/mips/au1000/common/int-handler.S
arch/mips/au1000/common/int-handler.S
+2
-1
arch/mips/ddb5xxx/ddb5476/int-handler.S
arch/mips/ddb5xxx/ddb5476/int-handler.S
+2
-1
arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
+1
-3
arch/mips/ddb5xxx/ddb5477/int-handler.S
arch/mips/ddb5xxx/ddb5477/int-handler.S
+2
-2
arch/mips/dec/int-handler.S
arch/mips/dec/int-handler.S
+3
-1
arch/mips/galileo-boards/ev96100/int-handler.S
arch/mips/galileo-boards/ev96100/int-handler.S
+2
-1
arch/mips/gt64120/ev64120/int-handler.S
arch/mips/gt64120/ev64120/int-handler.S
+2
-1
arch/mips/jazz/int-handler.S
arch/mips/jazz/int-handler.S
+2
-1
arch/mips/kernel/entry.S
arch/mips/kernel/entry.S
+0
-26
arch/mips/kernel/irq.c
arch/mips/kernel/irq.c
+5
-0
arch/mips/mips-boards/generic/mipsIRQ.S
arch/mips/mips-boards/generic/mipsIRQ.S
+3
-1
arch/mips/mips-boards/sim/sim_irq.S
arch/mips/mips-boards/sim/sim_irq.S
+3
-1
arch/mips/momentum/ocelot_3/int-handler.S
arch/mips/momentum/ocelot_3/int-handler.S
+3
-1
arch/mips/momentum/ocelot_c/int-handler.S
arch/mips/momentum/ocelot_c/int-handler.S
+2
-1
arch/mips/philips/pnx8550/common/mipsIRQ.S
arch/mips/philips/pnx8550/common/mipsIRQ.S
+2
-1
arch/mips/tx4927/common/tx4927_irq_handler.S
arch/mips/tx4927/common/tx4927_irq_handler.S
+2
-1
arch/mips/vr41xx/common/int-handler.S
arch/mips/vr41xx/common/int-handler.S
+3
-1
include/asm-mips/irq.h
include/asm-mips/irq.h
+1
-0
No files found.
arch/mips/au1000/common/int-handler.S
View file @
93373ed4
...
@@ -64,5 +64,6 @@ NESTED(au1000_IRQ, PT_SIZE, sp)
...
@@ -64,5 +64,6 @@ NESTED(au1000_IRQ, PT_SIZE, sp)
5
:
5
:
move
a0
,
sp
move
a0
,
sp
j
spurious_interrupt
jal
spurious_interrupt
j
ret_from_irq
END
(
au1000_IRQ
)
END
(
au1000_IRQ
)
arch/mips/ddb5xxx/ddb5476/int-handler.S
View file @
93373ed4
...
@@ -54,7 +54,8 @@
...
@@ -54,7 +54,8 @@
.
set
reorder
.
set
reorder
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
//
j
spurious_interrupt
//
jal
spurious_interrupt
//
j
ret_from_irq
move
a0
,
sp
move
a0
,
sp
jal
vrc5476_irq_dispatch
jal
vrc5476_irq_dispatch
j
ret_from_irq
j
ret_from_irq
...
...
arch/mips/ddb5xxx/ddb5476/vrc5476_irq.c
View file @
93373ed4
...
@@ -80,8 +80,6 @@ vrc5476_irq_init(u32 base)
...
@@ -80,8 +80,6 @@ vrc5476_irq_init(u32 base)
asmlinkage
void
asmlinkage
void
vrc5476_irq_dispatch
(
struct
pt_regs
*
regs
)
vrc5476_irq_dispatch
(
struct
pt_regs
*
regs
)
{
{
extern
void
spurious_interrupt
(
void
);
u32
mask
;
u32
mask
;
int
nile4_irq
;
int
nile4_irq
;
...
@@ -107,5 +105,5 @@ vrc5476_irq_dispatch(struct pt_regs *regs)
...
@@ -107,5 +105,5 @@ vrc5476_irq_dispatch(struct pt_regs *regs)
return
;
return
;
}
}
}
}
spurious_interrupt
();
spurious_interrupt
(
regs
);
}
}
arch/mips/ddb5xxx/ddb5477/int-handler.S
View file @
93373ed4
...
@@ -44,8 +44,8 @@
...
@@ -44,8 +44,8 @@
.
set
reorder
.
set
reorder
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
j
spurious_interrupt
j
al
spurious_interrupt
nop
j
ret_from_irq
END
(
ddb5477_handle_int
)
END
(
ddb5477_handle_int
)
.
align
5
.
align
5
...
...
arch/mips/dec/int-handler.S
View file @
93373ed4
...
@@ -282,7 +282,9 @@ fpu:
...
@@ -282,7 +282,9 @@ fpu:
#endif
#endif
spurious
:
spurious
:
j
spurious_interrupt
jal
spurious_interrupt
nop
j
ret_from_irq
nop
nop
END
(
decstation_handle_int
)
END
(
decstation_handle_int
)
...
...
arch/mips/galileo-boards/ev96100/int-handler.S
View file @
93373ed4
...
@@ -29,5 +29,6 @@ NESTED(ev96100IRQ, PT_SIZE, sp)
...
@@ -29,5 +29,6 @@ NESTED(ev96100IRQ, PT_SIZE, sp)
jal
ev96100_cpu_irq
jal
ev96100_cpu_irq
j
ret_from_irq
j
ret_from_irq
3
:
j
spurious_interrupt
3
:
jal
spurious_interrupt
j
ret_from_irq
END
(
ev96100IRQ
)
END
(
ev96100IRQ
)
arch/mips/gt64120/ev64120/int-handler.S
View file @
93373ed4
...
@@ -39,8 +39,9 @@
...
@@ -39,8 +39,9 @@
nop
nop
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
j
spurious_interrupt
j
al
spurious_interrupt
nop
nop
j
ret_from_irq
END
(
galileo_handle_int
)
END
(
galileo_handle_int
)
...
...
arch/mips/jazz/int-handler.S
View file @
93373ed4
...
@@ -263,7 +263,8 @@ loc_call: /*
...
@@ -263,7 +263,8 @@ loc_call: /*
/*
/*
*
"Jump extender"
to
reach
spurious_interrupt
*
"Jump extender"
to
reach
spurious_interrupt
*/
*/
3
:
j
spurious_interrupt
3
:
jal
spurious_interrupt
j
ret_from_irq
/*
/*
*
Vectors
for
interrupts
generated
by
local
devices
*
Vectors
for
interrupts
generated
by
local
devices
...
...
arch/mips/kernel/entry.S
View file @
93373ed4
...
@@ -119,29 +119,3 @@ syscall_exit_work:
...
@@ -119,29 +119,3 @@ syscall_exit_work:
li
a1
,
1
li
a1
,
1
jal
do_syscall_trace
jal
do_syscall_trace
b
resume_userspace
b
resume_userspace
/*
*
Common
spurious
interrupt
handler
.
*/
LEAF
(
spurious_interrupt
)
/
*
*
Someone
tried
to
fool
us
by
sending
an
interrupt
but
we
*
couldn
't find a cause for it.
*/
PTR_LA
t1
,
irq_err_count
#ifdef CONFIG_SMP
1
:
ll
t0
,
(
t1
)
addiu
t0
,
1
sc
t0
,
(
t1
)
#if R10000_LLSC_WAR
beqzl
t0
,
1
b
#else
beqz
t0
,
1
b
#endif
#else
lw
t0
,
(
t1
)
addiu
t0
,
1
sw
t0
,
(
t1
)
#endif
j
ret_from_irq
END
(
spurious_interrupt
)
arch/mips/kernel/irq.c
View file @
93373ed4
...
@@ -101,6 +101,11 @@ skip:
...
@@ -101,6 +101,11 @@ skip:
return
0
;
return
0
;
}
}
asmlinkage
void
spurious_interrupt
(
struct
pt_regs
*
regs
)
{
atomic_inc
(
&
irq_err_count
);
}
#ifdef CONFIG_KGDB
#ifdef CONFIG_KGDB
extern
void
breakpoint
(
void
);
extern
void
breakpoint
(
void
);
extern
void
set_debug_traps
(
void
);
extern
void
set_debug_traps
(
void
);
...
...
arch/mips/mips-boards/generic/mipsIRQ.S
View file @
93373ed4
...
@@ -150,6 +150,8 @@
...
@@ -150,6 +150,8 @@
spurious
:
spurious
:
j
spurious_interrupt
jal
spurious_interrupt
nop
j
ret_from_irq
nop
nop
END
(
mipsIRQ
)
END
(
mipsIRQ
)
arch/mips/mips-boards/sim/sim_irq.S
View file @
93373ed4
...
@@ -94,6 +94,8 @@
...
@@ -94,6 +94,8 @@
spurious
:
spurious
:
j
spurious_interrupt
jal
spurious_interrupt
nop
j
ret_from_irq
nop
nop
END
(
simIRQ
)
END
(
simIRQ
)
arch/mips/momentum/ocelot_3/int-handler.S
View file @
93373ed4
...
@@ -78,8 +78,10 @@
...
@@ -78,8 +78,10 @@
.
set
reorder
.
set
reorder
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
j
spurious_interrupt
j
al
spurious_interrupt
nop
nop
j
ret_from_irq
nop
END
(
ocelot3_handle_int
)
END
(
ocelot3_handle_int
)
.
align
5
.
align
5
...
...
arch/mips/momentum/ocelot_c/int-handler.S
View file @
93373ed4
...
@@ -52,8 +52,9 @@
...
@@ -52,8 +52,9 @@
.
set
reorder
.
set
reorder
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
j
spurious_interrupt
j
al
spurious_interrupt
nop
nop
j
ret_from_irq
END
(
ocelot_handle_int
)
END
(
ocelot_handle_int
)
.
align
5
.
align
5
...
...
arch/mips/philips/pnx8550/common/mipsIRQ.S
View file @
93373ed4
...
@@ -46,8 +46,9 @@
...
@@ -46,8 +46,9 @@
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
j
spurious_interrupt
j
al
spurious_interrupt
nop
nop
j
ret_from_irq
END
(
cp0_irqdispatch
)
END
(
cp0_irqdispatch
)
.
align
5
.
align
5
...
...
arch/mips/tx4927/common/tx4927_irq_handler.S
View file @
93373ed4
...
@@ -63,8 +63,9 @@
...
@@ -63,8 +63,9 @@
.
set
reorder
.
set
reorder
/
*
wrong
alarm
or
masked
...
*/
/
*
wrong
alarm
or
masked
...
*/
j
spurious_interrupt
j
al
spurious_interrupt
nop
nop
j
ret_from_irq
END
(
tx4927_irq_handler
)
END
(
tx4927_irq_handler
)
.
align
5
.
align
5
...
...
arch/mips/vr41xx/common/int-handler.S
View file @
93373ed4
...
@@ -98,8 +98,10 @@
...
@@ -98,8 +98,10 @@
bnez
t1
,
handle_irq
bnez
t1
,
handle_irq
li
a0
,
1
li
a0
,
1
j
spurious_interrupt
j
al
spurious_interrupt
nop
nop
j
ret_from_irq
nop
handle_int
:
handle_int
:
jal
irq_dispatch
jal
irq_dispatch
...
...
include/asm-mips/irq.h
View file @
93373ed4
...
@@ -46,5 +46,6 @@ do { \
...
@@ -46,5 +46,6 @@ do { \
#endif
#endif
extern
void
arch_init_irq
(
void
);
extern
void
arch_init_irq
(
void
);
extern
void
spurious_interrupt
(
struct
pt_regs
*
regs
);
#endif
/* _ASM_IRQ_H */
#endif
/* _ASM_IRQ_H */
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