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
Kirill Smelkov
linux
Commits
fa43972f
Commit
fa43972f
authored
Sep 04, 2008
by
Paul Mundt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sh: fixup many sparse errors.
Signed-off-by:
Paul Mundt
<
lethal@linux-sh.org
>
parent
7d96169c
Changes
33
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
220 additions
and
61 deletions
+220
-61
arch/sh/boot/compressed/misc_32.c
arch/sh/boot/compressed/misc_32.c
+1
-1
arch/sh/include/asm/clock.h
arch/sh/include/asm/clock.h
+1
-0
arch/sh/include/asm/io.h
arch/sh/include/asm/io.h
+2
-2
arch/sh/include/asm/irq.h
arch/sh/include/asm/irq.h
+3
-0
arch/sh/include/asm/processor.h
arch/sh/include/asm/processor.h
+4
-0
arch/sh/include/asm/processor_32.h
arch/sh/include/asm/processor_32.h
+3
-0
arch/sh/include/asm/processor_64.h
arch/sh/include/asm/processor_64.h
+0
-2
arch/sh/include/asm/rtc.h
arch/sh/include/asm/rtc.h
+1
-0
arch/sh/include/asm/setup.h
arch/sh/include/asm/setup.h
+2
-0
arch/sh/include/asm/syscalls.h
arch/sh/include/asm/syscalls.h
+25
-0
arch/sh/include/asm/syscalls_32.h
arch/sh/include/asm/syscalls_32.h
+56
-0
arch/sh/include/asm/syscalls_64.h
arch/sh/include/asm/syscalls_64.h
+34
-0
arch/sh/include/asm/system.h
arch/sh/include/asm/system.h
+4
-2
arch/sh/include/asm/system_32.h
arch/sh/include/asm/system_32.h
+16
-0
arch/sh/kernel/cpu/clock.c
arch/sh/kernel/cpu/clock.c
+3
-2
arch/sh/kernel/io_generic.c
arch/sh/kernel/io_generic.c
+3
-3
arch/sh/kernel/machvec.c
arch/sh/kernel/machvec.c
+1
-0
arch/sh/kernel/process_32.c
arch/sh/kernel/process_32.c
+1
-0
arch/sh/kernel/process_64.c
arch/sh/kernel/process_64.c
+1
-0
arch/sh/kernel/ptrace_32.c
arch/sh/kernel/ptrace_32.c
+4
-2
arch/sh/kernel/ptrace_64.c
arch/sh/kernel/ptrace_64.c
+1
-0
arch/sh/kernel/setup.c
arch/sh/kernel/setup.c
+1
-0
arch/sh/kernel/signal_32.c
arch/sh/kernel/signal_32.c
+4
-6
arch/sh/kernel/sys_sh.c
arch/sh/kernel/sys_sh.c
+4
-3
arch/sh/kernel/sys_sh32.c
arch/sh/kernel/sys_sh32.c
+3
-2
arch/sh/kernel/time_32.c
arch/sh/kernel/time_32.c
+1
-0
arch/sh/kernel/timers/timer-cmt.c
arch/sh/kernel/timers/timer-cmt.c
+1
-1
arch/sh/kernel/traps_32.c
arch/sh/kernel/traps_32.c
+35
-33
arch/sh/lib/div64-generic.c
arch/sh/lib/div64-generic.c
+1
-0
arch/sh/mm/consistent.c
arch/sh/mm/consistent.c
+1
-1
arch/sh/mm/pg-nommu.c
arch/sh/mm/pg-nommu.c
+1
-0
arch/sh/mm/tlb-nommu.c
arch/sh/mm/tlb-nommu.c
+1
-0
drivers/serial/sh-sci.c
drivers/serial/sh-sci.c
+1
-1
No files found.
arch/sh/boot/compressed/misc_32.c
View file @
fa43972f
...
...
@@ -191,7 +191,7 @@ long* stack_start = &user_stack[STACK_SIZE];
void
decompress_kernel
(
void
)
{
output_data
=
0
;
output_data
=
NULL
;
output_ptr
=
PHYSADDR
((
unsigned
long
)
&
_text
+
PAGE_SIZE
);
#ifdef CONFIG_29BIT
output_ptr
|=
P2SEG
;
...
...
arch/sh/include/asm/clock.h
View file @
fa43972f
...
...
@@ -39,6 +39,7 @@ struct clk {
/* Should be defined by processor-specific code */
void
arch_init_clk_ops
(
struct
clk_ops
**
,
int
type
);
int
__init
arch_clk_init
(
void
);
/* arch/sh/kernel/cpu/clock.c */
int
clk_init
(
void
);
...
...
arch/sh/include/asm/io.h
View file @
fa43972f
...
...
@@ -194,6 +194,8 @@ __BUILD_MEMORY_STRING(w, u16)
#define IO_SPACE_LIMIT 0xffffffff
extern
unsigned
long
generic_io_base
;
/*
* This function provides a method for the generic case where a board-specific
* ioport_map simply needs to return the port + some arbitrary port base.
...
...
@@ -203,8 +205,6 @@ __BUILD_MEMORY_STRING(w, u16)
*/
static
inline
void
__set_io_port_base
(
unsigned
long
pbase
)
{
extern
unsigned
long
generic_io_base
;
generic_io_base
=
pbase
;
}
...
...
arch/sh/include/asm/irq.h
View file @
fa43972f
...
...
@@ -41,6 +41,9 @@ static inline int generic_irq_demux(int irq)
#define irq_canonicalize(irq) (irq)
#define irq_demux(irq) sh_mv.mv_irq_demux(irq)
void
init_IRQ
(
void
);
asmlinkage
int
do_IRQ
(
unsigned
int
irq
,
struct
pt_regs
*
regs
);
#ifdef CONFIG_IRQSTACKS
extern
void
irq_ctx_init
(
int
cpu
);
extern
void
irq_ctx_exit
(
int
cpu
);
...
...
arch/sh/include/asm/processor.h
View file @
fa43972f
...
...
@@ -45,9 +45,13 @@ enum cpu_type {
/* Forward decl */
struct
sh_cpuinfo
;
struct
seq_operations
;
extern
struct
pt_regs
fake_swapper_regs
;
/* arch/sh/kernel/setup.c */
const
char
*
get_cpu_subtype
(
struct
sh_cpuinfo
*
c
);
extern
const
struct
seq_operations
cpuinfo_op
;
#ifdef CONFIG_VSYSCALL
int
vsyscall_init
(
void
);
...
...
arch/sh/include/asm/processor_32.h
View file @
fa43972f
...
...
@@ -10,6 +10,7 @@
#ifdef __KERNEL__
#include <linux/compiler.h>
#include <linux/linkage.h>
#include <asm/page.h>
#include <asm/types.h>
#include <asm/cache.h>
...
...
@@ -44,6 +45,8 @@ extern struct sh_cpuinfo cpu_data[];
#define current_cpu_data cpu_data[smp_processor_id()]
#define raw_current_cpu_data cpu_data[raw_smp_processor_id()]
asmlinkage
void
__init
sh_cpu_init
(
void
);
/*
* User space process size: 2GB.
*
...
...
arch/sh/include/asm/processor_64.h
View file @
fa43972f
...
...
@@ -169,8 +169,6 @@ struct thread_struct {
#define INIT_MMAP \
{ &init_mm, 0, 0, NULL, PAGE_SHARED, VM_READ | VM_WRITE | VM_EXEC, 1, NULL, NULL }
extern
struct
pt_regs
fake_swapper_regs
;
#define INIT_THREAD { \
.sp = sizeof(init_stack) + \
(long) &init_stack, \
...
...
arch/sh/include/asm/rtc.h
View file @
fa43972f
#ifndef _ASM_RTC_H
#define _ASM_RTC_H
void
time_init
(
void
);
extern
void
(
*
board_time_init
)(
void
);
extern
void
(
*
rtc_sh_get_time
)(
struct
timespec
*
);
extern
int
(
*
rtc_sh_set_time
)(
const
time_t
);
...
...
arch/sh/include/asm/setup.h
View file @
fa43972f
#ifndef _SH_SETUP_H
#define _SH_SETUP_H
#include <asm/mmzone.h>
#define COMMAND_LINE_SIZE 256
#ifdef __KERNEL__
...
...
arch/sh/include/asm/syscalls.h
0 → 100644
View file @
fa43972f
#ifndef __ASM_SH_SYSCALLS_H
#define __ASM_SH_SYSCALLS_H
#ifdef __KERNEL__
struct
old_utsname
;
asmlinkage
int
old_mmap
(
unsigned
long
addr
,
unsigned
long
len
,
unsigned
long
prot
,
unsigned
long
flags
,
int
fd
,
unsigned
long
off
);
asmlinkage
long
sys_mmap2
(
unsigned
long
addr
,
unsigned
long
len
,
unsigned
long
prot
,
unsigned
long
flags
,
unsigned
long
fd
,
unsigned
long
pgoff
);
asmlinkage
int
sys_ipc
(
uint
call
,
int
first
,
int
second
,
int
third
,
void
__user
*
ptr
,
long
fifth
);
asmlinkage
int
sys_uname
(
struct
old_utsname
__user
*
name
);
#ifdef CONFIG_SUPERH32
# include "syscalls_32.h"
#else
# include "syscalls_64.h"
#endif
#endif
/* __KERNEL__ */
#endif
/* __ASM_SH_SYSCALLS_H */
arch/sh/include/asm/syscalls_32.h
0 → 100644
View file @
fa43972f
#ifndef __ASM_SH_SYSCALLS_32_H
#define __ASM_SH_SYSCALLS_32_H
#ifdef __KERNEL__
#include <linux/compiler.h>
#include <linux/linkage.h>
#include <linux/types.h>
struct
pt_regs
;
asmlinkage
int
sys_fork
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_clone
(
unsigned
long
clone_flags
,
unsigned
long
newsp
,
unsigned
long
parent_tidptr
,
unsigned
long
child_tidptr
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_vfork
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_execve
(
char
__user
*
ufilename
,
char
__user
*
__user
*
uargv
,
char
__user
*
__user
*
uenvp
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_sigsuspend
(
old_sigset_t
mask
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_sigaction
(
int
sig
,
const
struct
old_sigaction
__user
*
act
,
struct
old_sigaction
__user
*
oact
);
asmlinkage
int
sys_sigaltstack
(
const
stack_t
__user
*
uss
,
stack_t
__user
*
uoss
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_sigreturn
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_rt_sigreturn
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
int
sys_pipe
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
ssize_t
sys_pread_wrapper
(
unsigned
int
fd
,
char
__user
*
buf
,
size_t
count
,
long
dummy
,
loff_t
pos
);
asmlinkage
ssize_t
sys_pwrite_wrapper
(
unsigned
int
fd
,
const
char
__user
*
buf
,
size_t
count
,
long
dummy
,
loff_t
pos
);
asmlinkage
int
sys_fadvise64_64_wrapper
(
int
fd
,
u32
offset0
,
u32
offset1
,
u32
len0
,
u32
len1
,
int
advice
);
/* Misc syscall related bits */
asmlinkage
long
do_syscall_trace_enter
(
struct
pt_regs
*
regs
);
asmlinkage
void
do_syscall_trace_leave
(
struct
pt_regs
*
regs
);
asmlinkage
void
do_notify_resume
(
struct
pt_regs
*
regs
,
unsigned
int
save_r0
,
unsigned
long
thread_info_flags
);
#endif
/* __KERNEL__ */
#endif
/* __ASM_SH_SYSCALLS_32_H */
arch/sh/include/asm/syscalls_64.h
0 → 100644
View file @
fa43972f
#ifndef __ASM_SH_SYSCALLS_64_H
#define __ASM_SH_SYSCALLS_64_H
#ifdef __KERNEL__
#include <linux/compiler.h>
#include <linux/linkage.h>
#include <linux/types.h>
struct
pt_regs
;
asmlinkage
int
sys_fork
(
unsigned
long
r2
,
unsigned
long
r3
,
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
*
pregs
);
asmlinkage
int
sys_clone
(
unsigned
long
clone_flags
,
unsigned
long
newsp
,
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
*
pregs
);
asmlinkage
int
sys_vfork
(
unsigned
long
r2
,
unsigned
long
r3
,
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
*
pregs
);
asmlinkage
int
sys_execve
(
char
*
ufilename
,
char
**
uargv
,
char
**
uenvp
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
*
pregs
);
/* Misc syscall related bits */
asmlinkage
long
long
do_syscall_trace_enter
(
struct
pt_regs
*
regs
);
asmlinkage
void
do_syscall_trace_leave
(
struct
pt_regs
*
regs
);
#endif
/* __KERNEL__ */
#endif
/* __ASM_SH_SYSCALLS_64_H */
arch/sh/include/asm/system.h
View file @
fa43972f
...
...
@@ -127,6 +127,8 @@ static inline unsigned long __cmpxchg(volatile void * ptr, unsigned long old,
})
extern
void
die
(
const
char
*
str
,
struct
pt_regs
*
regs
,
long
err
)
__attribute__
((
noreturn
));
void
free_initmem
(
void
);
void
free_initrd_mem
(
unsigned
long
start
,
unsigned
long
end
);
extern
void
*
set_exception_table_vec
(
unsigned
int
vec
,
void
*
handler
);
...
...
@@ -179,8 +181,8 @@ BUILD_TRAP_HANDLER(fpu_state_restore);
#define arch_align_stack(x) (x)
struct
mem_access
{
unsigned
long
(
*
from
)(
void
*
dst
,
const
void
*
src
,
unsigned
long
cnt
);
unsigned
long
(
*
to
)(
void
*
dst
,
const
void
*
src
,
unsigned
long
cnt
);
unsigned
long
(
*
from
)(
void
*
dst
,
const
void
__user
*
src
,
unsigned
long
cnt
);
unsigned
long
(
*
to
)(
void
__user
*
dst
,
const
void
*
src
,
unsigned
long
cnt
);
};
#ifdef CONFIG_SUPERH32
...
...
arch/sh/include/asm/system_32.h
View file @
fa43972f
...
...
@@ -99,4 +99,20 @@ do { \
int
handle_unaligned_access
(
opcode_t
instruction
,
struct
pt_regs
*
regs
,
struct
mem_access
*
ma
);
asmlinkage
void
do_address_error
(
struct
pt_regs
*
regs
,
unsigned
long
writeaccess
,
unsigned
long
address
);
asmlinkage
void
do_divide_error
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
void
do_reserved_inst
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
void
do_illegal_slot_inst
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
asmlinkage
void
do_exception_error
(
unsigned
long
r4
,
unsigned
long
r5
,
unsigned
long
r6
,
unsigned
long
r7
,
struct
pt_regs
__regs
);
#endif
/* __ASM_SH_SYSTEM_32_H */
arch/sh/kernel/cpu/clock.c
View file @
fa43972f
...
...
@@ -294,9 +294,10 @@ arch_init_clk_ops(struct clk_ops **ops, int type)
{
}
void
__init
__attribute__
((
weak
))
int
__init
__attribute__
((
weak
))
arch_clk_init
(
void
)
{
return
0
;
}
static
int
show_clocks
(
char
*
buf
,
char
**
start
,
off_t
off
,
...
...
@@ -331,7 +332,7 @@ int __init clk_init(void)
ret
|=
clk_register
(
clk
);
}
arch_clk_init
();
ret
|=
arch_clk_init
();
/* Kick the child clocks.. */
propagate_rate
(
&
master_clk
);
...
...
arch/sh/kernel/io_generic.c
View file @
fa43972f
...
...
@@ -81,7 +81,7 @@ void generic_insb(unsigned long port, void *dst, unsigned long count)
volatile
u8
*
port_addr
;
u8
*
buf
=
dst
;
port_addr
=
(
volatile
u8
*
)
__ioport_map
(
port
,
1
);
port_addr
=
(
volatile
u8
__force
*
)
__ioport_map
(
port
,
1
);
while
(
count
--
)
*
buf
++
=
*
port_addr
;
}
...
...
@@ -91,7 +91,7 @@ void generic_insw(unsigned long port, void *dst, unsigned long count)
volatile
u16
*
port_addr
;
u16
*
buf
=
dst
;
port_addr
=
(
volatile
u16
*
)
__ioport_map
(
port
,
2
);
port_addr
=
(
volatile
u16
__force
*
)
__ioport_map
(
port
,
2
);
while
(
count
--
)
*
buf
++
=
*
port_addr
;
...
...
@@ -103,7 +103,7 @@ void generic_insl(unsigned long port, void *dst, unsigned long count)
volatile
u32
*
port_addr
;
u32
*
buf
=
dst
;
port_addr
=
(
volatile
u32
*
)
__ioport_map
(
port
,
4
);
port_addr
=
(
volatile
u32
__force
*
)
__ioport_map
(
port
,
4
);
while
(
count
--
)
*
buf
++
=
*
port_addr
;
...
...
arch/sh/kernel/machvec.c
View file @
fa43972f
...
...
@@ -14,6 +14,7 @@
#include <linux/string.h>
#include <asm/machvec.h>
#include <asm/sections.h>
#include <asm/setup.h>
#include <asm/io.h>
#include <asm/irq.h>
...
...
arch/sh/kernel/process_32.c
View file @
fa43972f
...
...
@@ -26,6 +26,7 @@
#include <asm/system.h>
#include <asm/ubc.h>
#include <asm/fpu.h>
#include <asm/syscalls.h>
static
int
hlt_counter
;
int
ubc_usercnt
=
0
;
...
...
arch/sh/kernel/process_64.c
View file @
fa43972f
...
...
@@ -25,6 +25,7 @@
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/io.h>
#include <asm/syscalls.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/mmu_context.h>
...
...
arch/sh/kernel/ptrace_32.c
View file @
fa43972f
...
...
@@ -27,6 +27,7 @@
#include <asm/system.h>
#include <asm/processor.h>
#include <asm/mmu_context.h>
#include <asm/syscalls.h>
/*
* does not yet catch signals sent when the child dies.
...
...
@@ -105,6 +106,7 @@ void ptrace_disable(struct task_struct *child)
long
arch_ptrace
(
struct
task_struct
*
child
,
long
request
,
long
addr
,
long
data
)
{
struct
user
*
dummy
=
NULL
;
unsigned
long
__user
*
datap
=
(
unsigned
long
__user
*
)
data
;
int
ret
;
switch
(
request
)
{
...
...
@@ -133,7 +135,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
tmp
=
!!
tsk_used_math
(
child
);
else
tmp
=
0
;
ret
=
put_user
(
tmp
,
(
unsigned
long
__user
*
)
data
);
ret
=
put_user
(
tmp
,
datap
);
break
;
}
...
...
@@ -202,7 +204,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
}
ret
=
0
;
if
(
put_user
(
tmp
,
(
unsigned
long
*
)
data
))
{
if
(
put_user
(
tmp
,
datap
))
{
ret
=
-
EFAULT
;
break
;
}
...
...
arch/sh/kernel/ptrace_64.c
View file @
fa43972f
...
...
@@ -35,6 +35,7 @@
#include <asm/system.h>
#include <asm/processor.h>
#include <asm/mmu_context.h>
#include <asm/syscalls.h>
#include <asm/fpu.h>
/* This mask defines the bits of the SR which the user is not allowed to
...
...
arch/sh/kernel/setup.c
View file @
fa43972f
...
...
@@ -26,6 +26,7 @@
#include <linux/err.h>
#include <linux/debugfs.h>
#include <linux/crash_dump.h>
#include <linux/mmzone.h>
#include <asm/uaccess.h>
#include <asm/io.h>
#include <asm/page.h>
...
...
arch/sh/kernel/signal_32.c
View file @
fa43972f
...
...
@@ -30,6 +30,7 @@
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/cacheflush.h>
#include <asm/syscalls.h>
#include <asm/fpu.h>
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
...
...
@@ -247,7 +248,6 @@ asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5,
struct
pt_regs
*
regs
=
RELOC_HIDE
(
&
__regs
,
0
);
struct
rt_sigframe
__user
*
frame
=
(
struct
rt_sigframe
__user
*
)
regs
->
regs
[
15
];
sigset_t
set
;
stack_t
st
;
int
r0
;
if
(
!
access_ok
(
VERIFY_READ
,
frame
,
sizeof
(
*
frame
)))
...
...
@@ -265,11 +265,9 @@ asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5,
if
(
restore_sigcontext
(
regs
,
&
frame
->
uc
.
uc_mcontext
,
&
r0
))
goto
badframe
;
if
(
__copy_from_user
(
&
st
,
&
frame
->
uc
.
uc_stack
,
sizeof
(
st
)))
if
(
do_sigaltstack
(
&
frame
->
uc
.
uc_stack
,
NULL
,
regs
->
regs
[
15
])
==
-
EFAULT
)
goto
badframe
;
/* It is more difficult to avoid calling this function than to
call it and ignore errors. */
do_sigaltstack
((
const
stack_t
__user
*
)
&
st
,
NULL
,
(
unsigned
long
)
frame
);
return
r0
;
...
...
@@ -429,7 +427,7 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
/* Create the ucontext. */
err
|=
__put_user
(
0
,
&
frame
->
uc
.
uc_flags
);
err
|=
__put_user
(
0
,
&
frame
->
uc
.
uc_link
);
err
|=
__put_user
(
NULL
,
&
frame
->
uc
.
uc_link
);
err
|=
__put_user
((
void
*
)
current
->
sas_ss_sp
,
&
frame
->
uc
.
uc_stack
.
ss_sp
);
err
|=
__put_user
(
sas_ss_flags
(
regs
->
regs
[
15
]),
...
...
arch/sh/kernel/sys_sh.c
View file @
fa43972f
...
...
@@ -23,6 +23,7 @@
#include <linux/fs.h>
#include <linux/ipc.h>
#include <asm/cacheflush.h>
#include <asm/syscalls.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
...
...
@@ -186,7 +187,7 @@ asmlinkage int sys_ipc(uint call, int first, int second,
union
semun
fourth
;
if
(
!
ptr
)
return
-
EINVAL
;
if
(
get_user
(
fourth
.
__pad
,
(
void
*
__user
*
)
ptr
))
if
(
get_user
(
fourth
.
__pad
,
(
void
__user
*
__user
*
)
ptr
))
return
-
EFAULT
;
return
sys_semctl
(
first
,
second
,
third
,
fourth
);
}
...
...
@@ -261,13 +262,13 @@ asmlinkage int sys_ipc(uint call, int first, int second,
return
-
EINVAL
;
}
asmlinkage
int
sys_uname
(
struct
old_utsname
*
name
)
asmlinkage
int
sys_uname
(
struct
old_utsname
__user
*
name
)
{
int
err
;
if
(
!
name
)
return
-
EFAULT
;
down_read
(
&
uts_sem
);
err
=
copy_to_user
(
name
,
utsname
(),
sizeof
(
*
name
));
err
=
copy_to_user
(
name
,
utsname
(),
sizeof
(
*
name
));
up_read
(
&
uts_sem
);
return
err
?-
EFAULT
:
0
;
}
arch/sh/kernel/sys_sh32.c
View file @
fa43972f
...
...
@@ -16,6 +16,7 @@
#include <asm/cacheflush.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>
#include <asm/syscalls.h>
/*
* sys_pipe() is the normal C calling standard for creating
...
...
@@ -37,13 +38,13 @@ asmlinkage int sys_pipe(unsigned long r4, unsigned long r5,
return
error
;
}
asmlinkage
ssize_t
sys_pread_wrapper
(
unsigned
int
fd
,
char
*
buf
,
asmlinkage
ssize_t
sys_pread_wrapper
(
unsigned
int
fd
,
char
__user
*
buf
,
size_t
count
,
long
dummy
,
loff_t
pos
)
{
return
sys_pread64
(
fd
,
buf
,
count
,
pos
);
}
asmlinkage
ssize_t
sys_pwrite_wrapper
(
unsigned
int
fd
,
const
char
*
buf
,
asmlinkage
ssize_t
sys_pwrite_wrapper
(
unsigned
int
fd
,
const
char
__user
*
buf
,
size_t
count
,
long
dummy
,
loff_t
pos
)
{
return
sys_pwrite64
(
fd
,
buf
,
count
,
pos
);
...
...
arch/sh/kernel/time_32.c
View file @
fa43972f
...
...
@@ -16,6 +16,7 @@
#include <linux/timex.h>
#include <linux/sched.h>
#include <linux/clockchips.h>
#include <linux/mc146818rtc.h>
/* for rtc_lock */
#include <linux/smp.h>
#include <asm/clock.h>
#include <asm/rtc.h>
...
...
arch/sh/kernel/timers/timer-cmt.c
View file @
fa43972f
...
...
@@ -174,7 +174,7 @@ static int cmt_timer_init(void)
return
0
;
}
struct
sys_timer_ops
cmt_timer_ops
=
{
st
atic
st
ruct
sys_timer_ops
cmt_timer_ops
=
{
.
init
=
cmt_timer_init
,
.
start
=
cmt_timer_start
,
.
stop
=
cmt_timer_stop
,
...
...
arch/sh/kernel/traps_32.c
View file @
fa43972f
...
...
@@ -192,6 +192,7 @@ static int handle_unaligned_ins(opcode_t instruction, struct pt_regs *regs,
int
ret
,
index
,
count
;
unsigned
long
*
rm
,
*
rn
;
unsigned
char
*
src
,
*
dst
;
unsigned
char
__user
*
srcu
,
*
dstu
;
index
=
(
instruction
>>
8
)
&
15
;
/* 0x0F00 */
rn
=
&
regs
->
regs
[
index
];
...
...
@@ -206,28 +207,28 @@ static int handle_unaligned_ins(opcode_t instruction, struct pt_regs *regs,
case
0
:
/* mov.[bwl] to/from memory via r0+rn */
if
(
instruction
&
8
)
{
/* from memory */
src
=
(
unsigned
char
*
)
*
rm
;
src
+=
regs
->
regs
[
0
];
dst
=
(
unsigned
char
*
)
rn
;
*
(
unsigned
long
*
)
dst
=
0
;
src
u
=
(
unsigned
char
__user
*
)
*
rm
;
src
u
+=
regs
->
regs
[
0
];
dst
=
(
unsigned
char
*
)
rn
;
*
(
unsigned
long
*
)
dst
=
0
;
#if !defined(__LITTLE_ENDIAN__)
dst
+=
4
-
count
;
#endif
if
(
ma
->
from
(
dst
,
src
,
count
))
if
(
ma
->
from
(
dst
,
src
u
,
count
))
goto
fetch_fault
;
sign_extend
(
count
,
dst
);
}
else
{
/* to memory */
src
=
(
unsigned
char
*
)
rm
;
src
=
(
unsigned
char
*
)
rm
;
#if !defined(__LITTLE_ENDIAN__)
src
+=
4
-
count
;
#endif
dst
=
(
unsigned
char
*
)
*
rn
;
dst
+=
regs
->
regs
[
0
];
dst
u
=
(
unsigned
char
__user
*
)
*
rn
;
dst
u
+=
regs
->
regs
[
0
];
if
(
ma
->
to
(
dst
,
src
,
count
))
if
(
ma
->
to
(
dst
u
,
src
,
count
))
goto
fetch_fault
;
}
ret
=
0
;
...
...
@@ -235,10 +236,10 @@ static int handle_unaligned_ins(opcode_t instruction, struct pt_regs *regs,
case
1
:
/* mov.l Rm,@(disp,Rn) */
src
=
(
unsigned
char
*
)
rm
;
dst
=
(
unsigned
char
*
)
*
rn
;
dst
+=
(
instruction
&
0x000F
)
<<
2
;
dst
u
=
(
unsigned
char
__user
*
)
*
rn
;
dst
u
+=
(
instruction
&
0x000F
)
<<
2
;
if
(
ma
->
to
(
dst
,
src
,
4
))
if
(
ma
->
to
(
dst
u
,
src
,
4
))
goto
fetch_fault
;
ret
=
0
;
break
;
...
...
@@ -247,28 +248,28 @@ static int handle_unaligned_ins(opcode_t instruction, struct pt_regs *regs,
if
(
instruction
&
4
)
*
rn
-=
count
;
src
=
(
unsigned
char
*
)
rm
;
dst
=
(
unsigned
char
*
)
*
rn
;
dst
u
=
(
unsigned
char
__user
*
)
*
rn
;
#if !defined(__LITTLE_ENDIAN__)
src
+=
4
-
count
;
#endif
if
(
ma
->
to
(
dst
,
src
,
count
))
if
(
ma
->
to
(
dst
u
,
src
,
count
))
goto
fetch_fault
;
ret
=
0
;
break
;
case
5
:
/* mov.l @(disp,Rm),Rn */
src
=
(
unsigned
char
*
)
*
rm
;
src
+=
(
instruction
&
0x000F
)
<<
2
;
dst
=
(
unsigned
char
*
)
rn
;
*
(
unsigned
long
*
)
dst
=
0
;
src
u
=
(
unsigned
char
__user
*
)
*
rm
;
src
u
+=
(
instruction
&
0x000F
)
<<
2
;
dst
=
(
unsigned
char
*
)
rn
;
*
(
unsigned
long
*
)
dst
=
0
;
if
(
ma
->
from
(
dst
,
src
,
4
))
if
(
ma
->
from
(
dst
,
src
u
,
4
))
goto
fetch_fault
;
ret
=
0
;
break
;
case
6
:
/* mov.[bwl] from memory, possibly with post-increment */
src
=
(
unsigned
char
*
)
*
rm
;
src
u
=
(
unsigned
char
__user
*
)
*
rm
;
if
(
instruction
&
4
)
*
rm
+=
count
;
dst
=
(
unsigned
char
*
)
rn
;
...
...
@@ -277,7 +278,7 @@ static int handle_unaligned_ins(opcode_t instruction, struct pt_regs *regs,
#if !defined(__LITTLE_ENDIAN__)
dst
+=
4
-
count
;
#endif
if
(
ma
->
from
(
dst
,
src
,
count
))
if
(
ma
->
from
(
dst
,
src
u
,
count
))
goto
fetch_fault
;
sign_extend
(
count
,
dst
);
ret
=
0
;
...
...
@@ -286,28 +287,28 @@ static int handle_unaligned_ins(opcode_t instruction, struct pt_regs *regs,
case
8
:
switch
((
instruction
&
0xFF00
)
>>
8
)
{
case
0x81
:
/* mov.w R0,@(disp,Rn) */
src
=
(
unsigned
char
*
)
&
regs
->
regs
[
0
];
src
=
(
unsigned
char
*
)
&
regs
->
regs
[
0
];
#if !defined(__LITTLE_ENDIAN__)
src
+=
2
;
#endif
dst
=
(
unsigned
char
*
)
*
rm
;
/* called Rn in the spec */
dst
+=
(
instruction
&
0x000F
)
<<
1
;
dst
u
=
(
unsigned
char
__user
*
)
*
rm
;
/* called Rn in the spec */
dst
u
+=
(
instruction
&
0x000F
)
<<
1
;
if
(
ma
->
to
(
dst
,
src
,
2
))
if
(
ma
->
to
(
dst
u
,
src
,
2
))
goto
fetch_fault
;
ret
=
0
;
break
;
case
0x85
:
/* mov.w @(disp,Rm),R0 */
src
=
(
unsigned
char
*
)
*
rm
;
src
+=
(
instruction
&
0x000F
)
<<
1
;
dst
=
(
unsigned
char
*
)
&
regs
->
regs
[
0
];
*
(
unsigned
long
*
)
dst
=
0
;
src
u
=
(
unsigned
char
__user
*
)
*
rm
;
src
u
+=
(
instruction
&
0x000F
)
<<
1
;
dst
=
(
unsigned
char
*
)
&
regs
->
regs
[
0
];
*
(
unsigned
long
*
)
dst
=
0
;
#if !defined(__LITTLE_ENDIAN__)
dst
+=
2
;
#endif
if
(
ma
->
from
(
dst
,
src
,
2
))
if
(
ma
->
from
(
dst
,
src
u
,
2
))
goto
fetch_fault
;
sign_extend
(
2
,
dst
);
ret
=
0
;
...
...
@@ -333,7 +334,8 @@ static inline int handle_delayslot(struct pt_regs *regs,
struct
mem_access
*
ma
)
{
opcode_t
instruction
;
void
*
addr
=
(
void
*
)(
regs
->
pc
+
instruction_size
(
old_instruction
));
void
__user
*
addr
=
(
void
__user
*
)(
regs
->
pc
+
instruction_size
(
old_instruction
));
if
(
copy_from_user
(
&
instruction
,
addr
,
sizeof
(
instruction
)))
{
/* the instruction-fetch faulted */
...
...
@@ -559,7 +561,7 @@ asmlinkage void do_address_error(struct pt_regs *regs,
}
set_fs
(
USER_DS
);
if
(
copy_from_user
(
&
instruction
,
(
void
*
)(
regs
->
pc
),
if
(
copy_from_user
(
&
instruction
,
(
void
__user
*
)(
regs
->
pc
),
sizeof
(
instruction
)))
{
/* Argh. Fault on the instruction itself.
This should never happen non-SMP
...
...
@@ -589,7 +591,7 @@ asmlinkage void do_address_error(struct pt_regs *regs,
die
(
"unaligned program counter"
,
regs
,
error_code
);
set_fs
(
KERNEL_DS
);
if
(
copy_from_user
(
&
instruction
,
(
void
*
)(
regs
->
pc
),
if
(
copy_from_user
(
&
instruction
,
(
void
__user
*
)(
regs
->
pc
),
sizeof
(
instruction
)))
{
/* Argh. Fault on the instruction itself.
This should never happen non-SMP
...
...
arch/sh/lib/div64-generic.c
View file @
fa43972f
...
...
@@ -3,6 +3,7 @@
*/
#include <linux/types.h>
#include <asm/div64.h>
extern
uint64_t
__xdiv64_32
(
u64
n
,
u32
d
);
...
...
arch/sh/mm/consistent.c
View file @
fa43972f
...
...
@@ -44,7 +44,7 @@ void *dma_alloc_coherent(struct device *dev, size_t size,
*/
dma_cache_sync
(
dev
,
ret
,
size
,
DMA_BIDIRECTIONAL
);
ret_nocache
=
ioremap_nocache
(
virt_to_phys
(
ret
),
size
);
ret_nocache
=
(
void
__force
*
)
ioremap_nocache
(
virt_to_phys
(
ret
),
size
);
if
(
!
ret_nocache
)
{
free_pages
((
unsigned
long
)
ret
,
order
);
return
NULL
;
...
...
arch/sh/mm/pg-nommu.c
View file @
fa43972f
...
...
@@ -13,6 +13,7 @@
#include <linux/kernel.h>
#include <linux/string.h>
#include <asm/page.h>
#include <asm/uaccess.h>
void
copy_page
(
void
*
to
,
void
*
from
)
{
...
...
arch/sh/mm/tlb-nommu.c
View file @
fa43972f
...
...
@@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/mm.h>
#include <asm/pgtable.h>
#include <asm/tlbflush.h>
/*
* Nothing too terribly exciting here ..
...
...
drivers/serial/sh-sci.c
View file @
fa43972f
...
...
@@ -1113,7 +1113,7 @@ static const char *sci_type(struct uart_port *port)
case
PORT_IRDA
:
return
"irda"
;
}
return
0
;
return
NULL
;
}
static
void
sci_release_port
(
struct
uart_port
*
port
)
...
...
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