Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
e469b23c
Commit
e469b23c
authored
Apr 13, 2017
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '4.11-fixes' into mips-for-linux-next
parents
72f941af
162b270c
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
57 additions
and
27 deletions
+57
-27
arch/mips/Makefile
arch/mips/Makefile
+3
-3
arch/mips/include/asm/asm-prototypes.h
arch/mips/include/asm/asm-prototypes.h
+1
-0
arch/mips/kernel/cevt-r4k.c
arch/mips/kernel/cevt-r4k.c
+1
-1
arch/mips/kernel/elf.c
arch/mips/kernel/elf.c
+1
-1
arch/mips/kernel/kgdb.c
arch/mips/kernel/kgdb.c
+33
-15
arch/mips/kernel/perf_event_mipsxx.c
arch/mips/kernel/perf_event_mipsxx.c
+5
-4
arch/mips/kernel/relocate.c
arch/mips/kernel/relocate.c
+1
-1
arch/mips/kernel/smp-cps.c
arch/mips/kernel/smp-cps.c
+1
-2
arch/mips/mti-malta/malta-int.c
arch/mips/mti-malta/malta-int.c
+11
-0
No files found.
arch/mips/Makefile
View file @
e469b23c
...
@@ -489,7 +489,7 @@ $(generic_defconfigs):
...
@@ -489,7 +489,7 @@ $(generic_defconfigs):
$(Q)$(CONFIG_SHELL)
$(srctree)
/scripts/kconfig/merge_config.sh
\
$(Q)$(CONFIG_SHELL)
$(srctree)
/scripts/kconfig/merge_config.sh
\
-m
-O
$(objtree)
$(srctree)
/arch/
$(ARCH)
/configs/generic_defconfig
$^
\
-m
-O
$(objtree)
$(srctree)
/arch/
$(ARCH)
/configs/generic_defconfig
$^
\
$(
foreach
board,
$(BOARDS)
,
$(generic_config_dir)
/board-
$(board)
.config
)
$(
foreach
board,
$(BOARDS)
,
$(generic_config_dir)
/board-
$(board)
.config
)
$(Q)$(MAKE)
olddefconfig
$(Q)$(MAKE)
-f
$(srctree)
/Makefile
olddefconfig
#
#
# Prevent generic merge_config rules attempting to merge single fragments
# Prevent generic merge_config rules attempting to merge single fragments
...
@@ -503,8 +503,8 @@ $(generic_config_dir)/%.config: ;
...
@@ -503,8 +503,8 @@ $(generic_config_dir)/%.config: ;
#
#
.PHONY
:
sead3_defconfig
.PHONY
:
sead3_defconfig
sead3_defconfig
:
sead3_defconfig
:
$(Q)$(MAKE)
32r2el_defconfig
BOARDS
=
sead-3
$(Q)$(MAKE)
-f
$(srctree)
/Makefile
32r2el_defconfig
BOARDS
=
sead-3
.PHONY
:
sead3micro_defconfig
.PHONY
:
sead3micro_defconfig
sead3micro_defconfig
:
sead3micro_defconfig
:
$(Q)$(MAKE)
micro32r2el_defconfig
BOARDS
=
sead-3
$(Q)$(MAKE)
-f
$(srctree)
/Makefile
micro32r2el_defconfig
BOARDS
=
sead-3
arch/mips/include/asm/asm-prototypes.h
View file @
e469b23c
...
@@ -3,3 +3,4 @@
...
@@ -3,3 +3,4 @@
#include <asm/fpu.h>
#include <asm/fpu.h>
#include <asm-generic/asm-prototypes.h>
#include <asm-generic/asm-prototypes.h>
#include <asm/uaccess.h>
#include <asm/uaccess.h>
#include <asm/ftrace.h>
arch/mips/kernel/cevt-r4k.c
View file @
e469b23c
...
@@ -80,7 +80,7 @@ static unsigned int calculate_min_delta(void)
...
@@ -80,7 +80,7 @@ static unsigned int calculate_min_delta(void)
}
}
/* Sorted insert of 75th percentile into buf2 */
/* Sorted insert of 75th percentile into buf2 */
for
(
k
=
0
;
k
<
i
;
++
k
)
{
for
(
k
=
0
;
k
<
i
&&
k
<
ARRAY_SIZE
(
buf2
)
;
++
k
)
{
if
(
buf1
[
ARRAY_SIZE
(
buf1
)
-
1
]
<
buf2
[
k
])
{
if
(
buf1
[
ARRAY_SIZE
(
buf1
)
-
1
]
<
buf2
[
k
])
{
l
=
min_t
(
unsigned
int
,
l
=
min_t
(
unsigned
int
,
i
,
ARRAY_SIZE
(
buf2
)
-
1
);
i
,
ARRAY_SIZE
(
buf2
)
-
1
);
...
...
arch/mips/kernel/elf.c
View file @
e469b23c
...
@@ -257,7 +257,7 @@ int arch_check_elf(void *_ehdr, bool has_interpreter, void *_interp_ehdr,
...
@@ -257,7 +257,7 @@ int arch_check_elf(void *_ehdr, bool has_interpreter, void *_interp_ehdr,
else
if
((
prog_req
.
fr1
&&
prog_req
.
frdefault
)
||
else
if
((
prog_req
.
fr1
&&
prog_req
.
frdefault
)
||
(
prog_req
.
single
&&
!
prog_req
.
frdefault
))
(
prog_req
.
single
&&
!
prog_req
.
frdefault
))
/* Make sure 64-bit MIPS III/IV/64R1 will not pick FR1 */
/* Make sure 64-bit MIPS III/IV/64R1 will not pick FR1 */
state
->
overall_fp_mode
=
((
current_cpu_data
.
fpu_id
&
MIPS_FPIR_F64
)
&&
state
->
overall_fp_mode
=
((
raw_
current_cpu_data
.
fpu_id
&
MIPS_FPIR_F64
)
&&
cpu_has_mips_r2_r6
)
?
cpu_has_mips_r2_r6
)
?
FP_FR1
:
FP_FR0
;
FP_FR1
:
FP_FR0
;
else
if
(
prog_req
.
fr1
)
else
if
(
prog_req
.
fr1
)
...
...
arch/mips/kernel/kgdb.c
View file @
e469b23c
...
@@ -244,9 +244,6 @@ static int compute_signal(int tt)
...
@@ -244,9 +244,6 @@ static int compute_signal(int tt)
void
sleeping_thread_to_gdb_regs
(
unsigned
long
*
gdb_regs
,
struct
task_struct
*
p
)
void
sleeping_thread_to_gdb_regs
(
unsigned
long
*
gdb_regs
,
struct
task_struct
*
p
)
{
{
int
reg
;
int
reg
;
struct
thread_info
*
ti
=
task_thread_info
(
p
);
unsigned
long
ksp
=
(
unsigned
long
)
ti
+
THREAD_SIZE
-
32
;
struct
pt_regs
*
regs
=
(
struct
pt_regs
*
)
ksp
-
1
;
#if (KGDB_GDB_REG_SIZE == 32)
#if (KGDB_GDB_REG_SIZE == 32)
u32
*
ptr
=
(
u32
*
)
gdb_regs
;
u32
*
ptr
=
(
u32
*
)
gdb_regs
;
#else
#else
...
@@ -254,25 +251,46 @@ void sleeping_thread_to_gdb_regs(unsigned long *gdb_regs, struct task_struct *p)
...
@@ -254,25 +251,46 @@ void sleeping_thread_to_gdb_regs(unsigned long *gdb_regs, struct task_struct *p)
#endif
#endif
for
(
reg
=
0
;
reg
<
16
;
reg
++
)
for
(
reg
=
0
;
reg
<
16
;
reg
++
)
*
(
ptr
++
)
=
regs
->
regs
[
reg
]
;
*
(
ptr
++
)
=
0
;
/* S0 - S7 */
/* S0 - S7 */
for
(
reg
=
16
;
reg
<
24
;
reg
++
)
*
(
ptr
++
)
=
p
->
thread
.
reg16
;
*
(
ptr
++
)
=
regs
->
regs
[
reg
];
*
(
ptr
++
)
=
p
->
thread
.
reg17
;
*
(
ptr
++
)
=
p
->
thread
.
reg18
;
*
(
ptr
++
)
=
p
->
thread
.
reg19
;
*
(
ptr
++
)
=
p
->
thread
.
reg20
;
*
(
ptr
++
)
=
p
->
thread
.
reg21
;
*
(
ptr
++
)
=
p
->
thread
.
reg22
;
*
(
ptr
++
)
=
p
->
thread
.
reg23
;
for
(
reg
=
24
;
reg
<
28
;
reg
++
)
for
(
reg
=
24
;
reg
<
28
;
reg
++
)
*
(
ptr
++
)
=
0
;
*
(
ptr
++
)
=
0
;
/* GP, SP, FP, RA */
/* GP, SP, FP, RA */
for
(
reg
=
28
;
reg
<
32
;
reg
++
)
*
(
ptr
++
)
=
(
long
)
p
;
*
(
ptr
++
)
=
regs
->
regs
[
reg
];
*
(
ptr
++
)
=
p
->
thread
.
reg29
;
*
(
ptr
++
)
=
p
->
thread
.
reg30
;
*
(
ptr
++
)
=
regs
->
cp0_status
;
*
(
ptr
++
)
=
p
->
thread
.
reg31
;
*
(
ptr
++
)
=
regs
->
lo
;
*
(
ptr
++
)
=
regs
->
hi
;
*
(
ptr
++
)
=
p
->
thread
.
cp0_status
;
*
(
ptr
++
)
=
regs
->
cp0_badvaddr
;
*
(
ptr
++
)
=
regs
->
cp0_cause
;
/* lo, hi */
*
(
ptr
++
)
=
regs
->
cp0_epc
;
*
(
ptr
++
)
=
0
;
*
(
ptr
++
)
=
0
;
/*
* BadVAddr, Cause
* Ideally these would come from the last exception frame up the stack
* but that requires unwinding, otherwise we can't know much for sure.
*/
*
(
ptr
++
)
=
0
;
*
(
ptr
++
)
=
0
;
/*
* PC
* use return address (RA), i.e. the moment after return from resume()
*/
*
(
ptr
++
)
=
p
->
thread
.
reg31
;
}
}
void
kgdb_arch_set_pc
(
struct
pt_regs
*
regs
,
unsigned
long
pc
)
void
kgdb_arch_set_pc
(
struct
pt_regs
*
regs
,
unsigned
long
pc
)
...
...
arch/mips/kernel/perf_event_mipsxx.c
View file @
e469b23c
...
@@ -1446,6 +1446,11 @@ static int mipsxx_pmu_handle_shared_irq(void)
...
@@ -1446,6 +1446,11 @@ static int mipsxx_pmu_handle_shared_irq(void)
HANDLE_COUNTER
(
0
)
HANDLE_COUNTER
(
0
)
}
}
#ifdef CONFIG_MIPS_PERF_SHARED_TC_COUNTERS
read_unlock
(
&
pmuint_rwlock
);
#endif
resume_local_counters
();
/*
/*
* Do all the work for the pending perf events. We can do this
* Do all the work for the pending perf events. We can do this
* in here because the performance counter interrupt is a regular
* in here because the performance counter interrupt is a regular
...
@@ -1454,10 +1459,6 @@ static int mipsxx_pmu_handle_shared_irq(void)
...
@@ -1454,10 +1459,6 @@ static int mipsxx_pmu_handle_shared_irq(void)
if
(
handled
==
IRQ_HANDLED
)
if
(
handled
==
IRQ_HANDLED
)
irq_work_run
();
irq_work_run
();
#ifdef CONFIG_MIPS_PERF_SHARED_TC_COUNTERS
read_unlock
(
&
pmuint_rwlock
);
#endif
resume_local_counters
();
return
handled
;
return
handled
;
}
}
...
...
arch/mips/kernel/relocate.c
View file @
e469b23c
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
#include <linux/kernel.h>
#include <linux/kernel.h>
#include <linux/libfdt.h>
#include <linux/libfdt.h>
#include <linux/of_fdt.h>
#include <linux/of_fdt.h>
#include <linux/sched.h>
#include <linux/sched
/task
.h>
#include <linux/start_kernel.h>
#include <linux/start_kernel.h>
#include <linux/string.h>
#include <linux/string.h>
#include <linux/printk.h>
#include <linux/printk.h>
...
...
arch/mips/kernel/smp-cps.c
View file @
e469b23c
...
@@ -422,13 +422,12 @@ void play_dead(void)
...
@@ -422,13 +422,12 @@ void play_dead(void)
local_irq_disable
();
local_irq_disable
();
idle_task_exit
();
idle_task_exit
();
cpu
=
smp_processor_id
();
cpu
=
smp_processor_id
();
core
=
cpu_data
[
cpu
].
core
;
cpu_death
=
CPU_DEATH_POWER
;
cpu_death
=
CPU_DEATH_POWER
;
pr_debug
(
"CPU%d going offline
\n
"
,
cpu
);
pr_debug
(
"CPU%d going offline
\n
"
,
cpu
);
if
(
cpu_has_mipsmt
||
cpu_has_vp
)
{
if
(
cpu_has_mipsmt
||
cpu_has_vp
)
{
core
=
cpu_data
[
cpu
].
core
;
/* Look for another online VPE within the core */
/* Look for another online VPE within the core */
for_each_online_cpu
(
cpu_death_sibling
)
{
for_each_online_cpu
(
cpu_death_sibling
)
{
if
(
cpu_data
[
cpu_death_sibling
].
core
!=
core
)
if
(
cpu_data
[
cpu_death_sibling
].
core
!=
core
)
...
...
arch/mips/mti-malta/malta-int.c
View file @
e469b23c
...
@@ -176,6 +176,17 @@ void __init arch_init_irq(void)
...
@@ -176,6 +176,17 @@ void __init arch_init_irq(void)
{
{
int
corehi_irq
;
int
corehi_irq
;
/*
* Preallocate the i8259's expected virq's here. Since irqchip_init()
* will probe the irqchips in hierarchial order, i8259 is probed last.
* If anything allocates a virq before the i8259 is probed, it will
* be given one of the i8259's expected range and consequently setup
* of the i8259 will fail.
*/
WARN
(
irq_alloc_descs
(
I8259A_IRQ_BASE
,
I8259A_IRQ_BASE
,
16
,
numa_node_id
())
<
0
,
"Cannot reserve i8259 virqs at IRQ%d
\n
"
,
I8259A_IRQ_BASE
);
i8259_set_poll
(
mips_pcibios_iack
);
i8259_set_poll
(
mips_pcibios_iack
);
irqchip_init
();
irqchip_init
();
...
...
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