Commit Graph

64 Commits

Author SHA1 Message Date
Arnd Bergmann
fbd85b0e26 score: clean up mm/init.c
score does not need multiple zero pages, because it does not
suffer from cache aliasing problems, so simplify that code.
Also make some functions static and include the appropriate
header files.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-27 15:58:13 +02:00
Arnd Bergmann
9b05706a74 score: make irq.h definitions local
Some internal definitions of the interrupt controller are
only needed in irq.c, so move them out of the global irq.h
header. Also add proper __iomem annotations for sparse.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-27 15:22:00 +02:00
Arnd Bergmann
c606747225 score: cleanups: dead code, 0 as pointer, shadowed variables
A few smaller issues found by sparse, some code that was
never used, two instances of '0' instead of 'NULL' and
local variables shadowing another one.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-27 15:16:16 +02:00
Arnd Bergmann
bddc605955 score: fix function prototypes
Syscalls should return 'long' and be marked as 'asmlinkage'.
Functions that are only used in a single file should be 'static'.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-27 15:14:58 +02:00
Arnd Bergmann
a1f8213b95 score: add address space annotations
Annotate the address space for pointers that are used
correctly with __user and __iomem, so that sparse
can better warn about incorrect casts.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-27 15:09:52 +02:00
Arnd Bergmann
9fb24cc500 score: add missing #includes
Files that define a global function should #include the
header with its declaration to make sure that the prototypes
do not diverge.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-27 15:09:46 +02:00
Chen Liqin
e831a9c618 score: move save arg5 and arg6 instruction in front of enable_irq
Because enable_irq clobber r8 before arg5 was saved.

	modified:   arch/score/kernel/entry.S

Signed-off-by: Chen Liqin <liqin.chen@sunplusct.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-22 12:21:15 +02:00
Arnd Bergmann
2f476ef61f score: add prototypes for wrapped syscalls
Every system call should be declared, so this adds missing
declarations for the ones we were missing so far.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 14:10:46 +02:00
Arnd Bergmann
b5022df4c2 score: remove init_mm
init_mm is now part of the common code and not provided
by the architecture any more.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 14:10:45 +02:00
Arnd Bergmann
f673c032ed score: add generic sys_call_table
This adds back a sys_call_table to the score architecture, which
got lost in the conversion to the generic unistd.h file.
It's rather worrying that the code got submitted without a
system call table, which evidently means that it got zero
testing.

Since the system call table has a different layout from the old
one (which was modeled after the mips-o32 one), I also try to
fix the entry.S path to use it. In the modified calling conventions,
all system call arguments are passed as registers r4 through r9,
instead of r4 through r7 plus stack for the fifth and sixth argument.

This matches what other architectures to when they normally pass
arguments on the stack.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 14:10:33 +02:00
Arnd Bergmann
78229db4c4 score: remove __{put,get}_user_unknown
The point of these extern declarations is to provoke a link
error, so an architecture must not provide a symbol for them.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 11:41:07 +02:00
Arnd Bergmann
72ea372341 score: unset __ARCH_WANT_IPC_PARSE_VERSION
This really should not be needed. The change for not changing
the IPC code for every new architecture just went into 2.6.31,
so we can skip it now.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 11:41:05 +02:00
Chen Liqin
0402c91af9 score: update files according to review comments
modified:   arch/score/include/asm/cacheflush.h
	modified:   arch/score/include/asm/delay.h
	modified:   arch/score/include/asm/errno.h
	modified:   arch/score/include/asm/pgtable-bits.h
	modified:   arch/score/include/asm/pgtable.h
	modified:   arch/score/include/asm/ptrace.h
	modified:   arch/score/include/asm/unistd.h
	modified:   arch/score/kernel/entry.S
	modified:   arch/score/kernel/process.c
	modified:   arch/score/kernel/ptrace.c
	modified:   arch/score/kernel/signal.c
	modified:   arch/score/kernel/sys_score.c
	modified:   arch/score/kernel/traps.c
	modified:   arch/score/mm/cache.c

Signed-off-by: Chen Liqin <liqin.chen@sunplusct.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 11:40:13 +02:00
Chen Liqin
6bc9a3966f score: Add support for Sunplus S+core architecture
This is the complete set of new arch Score's files for linux.
Score instruction set support 16bits, 32bits and 64bits instruction,
Score SOC had been used in game machine and LCD TV.

Signed-off-by: Chen Liqin <liqin.chen@sunplusct.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2009-06-19 11:38:47 +02:00