Skip to content

Commit

Permalink
score: Add support for Sunplus S+core architecture
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
  • Loading branch information
Chen Liqin authored and arndb committed Jun 19, 2009
1 parent 0732f87 commit 6bc9a39
Show file tree
Hide file tree
Showing 126 changed files with 8,566 additions and 0 deletions.
141 changes: 141 additions & 0 deletions arch/score/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.txt.

mainmenu "Linux/SCORE Kernel Configuration"

menu "Machine selection"

choice
prompt "System type"
default MACH_SPCT6600

config ARCH_SCORE7
bool "SCORE7 processor"
select SYS_SUPPORTS_32BIT_KERNEL
select CPU_SCORE7
select GENERIC_HAS_IOMAP

config MACH_SPCT6600
bool "SPCT6600 series based machines"
select SYS_SUPPORTS_32BIT_KERNEL
select CPU_SCORE7
select GENERIC_HAS_IOMAP

config SCORE_SIM
bool "Score simulator"
select SYS_SUPPORTS_32BIT_KERNEL
select CPU_SCORE7
select GENERIC_HAS_IOMAP
endchoice

endmenu

config CPU_SCORE7
bool

config GENERIC_IOMAP
def_bool y

config NO_DMA
bool
default y

config RWSEM_GENERIC_SPINLOCK
def_bool y

config GENERIC_FIND_NEXT_BIT
def_bool y

config GENERIC_HWEIGHT
def_bool y

config GENERIC_CALIBRATE_DELAY
def_bool y

config GENERIC_CLOCKEVENTS
def_bool y

config GENERIC_TIME
def_bool y

config SCHED_NO_NO_OMIT_FRAME_POINTER
def_bool y

config GENERIC_HARDIRQS_NO__DO_IRQ
def_bool y

config GENERIC_SYSCALL_TABLE
def_bool y

config SCORE_L1_CACHE_SHIFT
int
default "4"

menu "Kernel type"

config 32BIT
def_bool y

config GENERIC_HARDIRQS
def_bool y

config ARCH_FLATMEM_ENABLE
def_bool y

config ARCH_POPULATES_NODE_MAP
def_bool y

source "mm/Kconfig"

config MEMORY_START
hex
default 0xa0000000

source "kernel/time/Kconfig"
source "kernel/Kconfig.hz"
source "kernel/Kconfig.preempt"

endmenu

config RWSEM_GENERIC_SPINLOCK
def_bool y

config LOCKDEP_SUPPORT
def_bool y

config STACKTRACE_SUPPORT
def_bool y

source "init/Kconfig"

config PROBE_INITRD_HEADER
bool "Probe initrd header created by addinitrd"
depends on BLK_DEV_INITRD
help
Probe initrd header at the last page of kernel image.
Say Y here if you are using arch/score/boot/addinitrd.c to
add initrd or initramfs image to the kernel image.
Otherwise, say N.

config MMU
def_bool y

menu "Executable file formats"

source "fs/Kconfig.binfmt"

endmenu

source "net/Kconfig"

source "drivers/Kconfig"

source "fs/Kconfig"

source "arch/score/Kconfig.debug"

source "security/Kconfig"

source "crypto/Kconfig"

source "lib/Kconfig"
37 changes: 37 additions & 0 deletions arch/score/Kconfig.debug
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
menu "Kernel hacking"

config TRACE_IRQFLAGS_SUPPORT
bool
default y

source "lib/Kconfig.debug"

config CMDLINE
string "Default kernel command string"
default ""
help
On some platforms, there is currently no way for the boot loader to
pass arguments to the kernel. For these platforms, you can supply
some command-line options at build time by entering them here. In
other cases you can specify kernel args so that you don't have
to set them up in board prom initialization routines.

config DEBUG_STACK_USAGE
bool "Enable stack utilization instrumentation"
depends on DEBUG_KERNEL
help
Enables the display of the minimum amount of free stack which each
task has ever had available in the sysrq-T and sysrq-P debug output.

This option will slow down process creation somewhat.

config RUNTIME_DEBUG
bool "Enable run-time debugging"
depends on DEBUG_KERNEL
help
If you say Y here, some debugging macros will do run-time checking.
If you say N here, those macros will mostly turn to no-ops. See
include/asm-score/debug.h for debuging macros.
If unsure, say N.

endmenu
43 changes: 43 additions & 0 deletions arch/score/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#
# arch/score/Makefile
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#

KBUILD_DEFCONFIG := spct6600_defconfig
CROSS_COMPILE := score-linux-

#
# CPU-dependent compiler/assembler options for optimization.
#
cflags-y += -G0 -pipe -mel -mnhwloop -D__SCOREEL__ \
-D__linux__ -ffunction-sections -ffreestanding

#
# Board-dependent options and extra files
#
KBUILD_AFLAGS += $(cflags-y)
KBUILD_CFLAGS += $(cflags-y)
MODFLAGS += -mlong-calls
LDFLAGS += --oformat elf32-littlescore
LDFLAGS_vmlinux += -G0 -static -nostdlib

head-y := arch/score/kernel/head.o
libs-y += arch/score/lib/
core-y += arch/score/kernel/ arch/score/mm/

boot := arch/score/boot

vmlinux.bin: vmlinux
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@

archclean:
@$(MAKE) $(clean)=$(boot)

define archhelp
echo ' vmlinux.bin - Raw binary boot image'
echo
echo ' These will be default as apropriate for a configured platform.'
endef
15 changes: 15 additions & 0 deletions arch/score/boot/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#
# arch/score/boot/Makefile
#
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#

targets := vmlinux.bin

$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
@echo 'Kernel: $@ is ready' ' (#'`cat .version`')'

clean-files += vmlinux.bin
Loading

0 comments on commit 6bc9a39

Please sign in to comment.