add support for sh4

svn path=/dists/sid/linux-2.6/; revision=15467
This commit is contained in:
Moritz Muehlenhoff 2010-04-01 22:44:03 +00:00
parent e7c41ab174
commit 1a90511019
9 changed files with 415 additions and 1 deletions

4
debian/changelog vendored
View File

@ -30,6 +30,10 @@ linux-2.6 (2.6.32-11) UNRELEASED; urgency=low
* Revert to keep ABI:
- hrtimer: Tune hrtimer_interrupt hang logic
[ Moritz Muehlenhoff ]
* Add support for sh4 architecture, patch by Nobuhiro Iwamatsu
(Closes: #569034)
[ Bastian Blank ]
* Update Xen patch.
- Fix free interrupt problem on uni-processor machines.

View File

@ -17,6 +17,7 @@ arches:
mipsel
powerpc
s390
sh4
sparc
sparc64
compiler: gcc-4.3

49
debian/config/sh4/config vendored Normal file
View File

@ -0,0 +1,49 @@
CONFIG_SUPERH=y
CONFIG_SUPERH32=y
#
# System type
#
CONFIG_CPU_SH4=y
#
# Cache configuration
#
CONFIG_CACHE_WRITEBACK=y
#
# Processor features
#
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_SH_FPU=y
CONFIG_SH_STORE_QUEUES=y
CONFIG_CPU_HAS_INTEVT=y
CONFIG_CPU_HAS_SR_RB=y
CONFIG_CPU_HAS_FPU=y
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_SH_CPU_FREQ=y
#
# Additional SuperH Device Drivers
#
CONFIG_HEARTBEAT=y
#
# Kernel features
#
CONFIG_HZ_250=y
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_SECCOMP=y
CONFIG_PREEMPT_NONE=y
CONFIG_GUSA=y
CONFIG_SPARSE_IRQ=y

324
debian/config/sh4/config.sh7785lcr vendored Normal file
View File

@ -0,0 +1,324 @@
#
# System type
#
CONFIG_CPU_SH4A=y
CONFIG_CPU_SHX2=y
CONFIG_CPU_SUBTYPE_SH7785=y
#
# Memory management options
#
CONFIG_QUICKLIST=y
CONFIG_MMU=y
CONFIG_PAGE_OFFSET=0x80000000
CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_MEMORY_START=0x48000000
CONFIG_MEMORY_SIZE=0x18000000
CONFIG_32BIT=y
CONFIG_PMB_ENABLE=y
CONFIG_PMB_FIXED=y
CONFIG_VSYSCALL=y
CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_MAX_ACTIVE_REGIONS=2
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_PAGE_SIZE_4KB=y
CONFIG_HUGETLB_PAGE_SIZE_64K=y
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_STATIC=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_ZONE_DMA_FLAG=0
CONFIG_NR_QUICK=2
CONFIG_HAVE_MLOCK=y
CONFIG_HAVE_MLOCKED_PAGE_BIT=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
#
# Processor features
#
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_SH_FPU=y
CONFIG_SH_STORE_QUEUES=y
CONFIG_CPU_HAS_INTEVT=y
CONFIG_CPU_HAS_SR_RB=y
CONFIG_CPU_HAS_FPU=y
#
# Board support
#
CONFIG_SH_SH7785LCR=y
#
# Timer and clock configuration
#
CONFIG_SH_TIMER_TMU=y
CONFIG_SH_PCLK_FREQ=50000000
CONFIG_SH_CLK_CPG=y
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
#
# Boot options
#
CONFIG_ZERO_PAGE_OFFSET=0x00001000
CONFIG_BOOT_LINK_OFFSET=0x00800000
CONFIG_ENTRY_OFFSET=0x00001000
#
# Bus options
#
CONFIG_PCI=y
CONFIG_SH_PCIDMA_NONCOHERENT=y
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_MTD=y
CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y
#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_UTIL=y
#
# Mapping drivers for chip access
#
CONFIG_MTD_PHYSMAP=y
#
# UBI - Unsorted block images
#
CONFIG_HAVE_IDE=y
#
# SCSI device support
#
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
#
# SCSI Transports
#
CONFIG_ATA=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_SATA_PMP=y
CONFIG_ATA_SFF=y
CONFIG_SATA_SIL=y
# net device
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NETDEV_1000=y
CONFIG_R8169=y
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_EVDEV=y
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_LIBPS2=y
#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
#
# Non-8250 serial port support
#
CONFIG_SERIAL_SH_SCI=y
CONFIG_SERIAL_SH_SCI_NR_UARTS=6
CONFIG_SERIAL_SH_SCI_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOPCA=y
#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_PCA_PLATFORM=y
#
# PPS support
#
CONFIG_WATCHDOG=y
#
# Watchdog Device Drivers
#
CONFIG_SH_WDT=y
#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
#
# Multifunction device drivers
#
CONFIG_MFD_SM501=y
#
# Graphics support
#
CONFIG_FB=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
#
# Frame buffer hardware drivers
#
CONFIG_FB_SM501=y
#
# Console display driver support
#
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_SUPERH_MONO=y
CONFIG_LOGO_SUPERH_VGA16=y
CONFIG_LOGO_SUPERH_CLUT224=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
#
# USB Input Devices
#
CONFIG_USB_HID=y
#
# USB Host
#
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICE_CLASS=y
#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_R8A66597_HCD=y
#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
#
# RTC
#
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
#
# I2C RTC drivers
#
CONFIG_RTC_DRV_RS5C372=y
#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_SH is not set
# CONFIG_RTC_DRV_GENERIC is not set
CONFIG_DMADEVICES=y
#
# File systems
#
CONFIG_EXT3_FS=y

20
debian/config/sh4/defines vendored Normal file
View File

@ -0,0 +1,20 @@
[base]
flavours:
sh7785lcr
kernel-arch: sh
[image]
suggests: fdutils
[sh7785lcr_build]
image-file: arch/sh/boot/zImage
[sh7785lcr_description]
hardware: sh7785lcr
hardware-long: Renesas SH7785 reference board
[sh7785lcr_image]
recommends: uboot-mkimage
# Kernel partition size: 4MB
check-size: 4194304

View File

@ -0,0 +1,10 @@
--- a/arch/sh/Makefile 2009-12-03 12:51:21.000000000 +0900
+++ b/arch/sh/Makefile 2010-02-04 15:47:57.000000000 +0900
@@ -75,7 +75,6 @@
# Give the various platforms the opportunity to set default image types
defaultimage-$(CONFIG_SUPERH32) := zImage
-defaultimage-$(CONFIG_SH_SH7785LCR) := uImage
defaultimage-$(CONFIG_SH_RSK) := uImage
defaultimage-$(CONFIG_SH_URQUELL) := uImage
defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE) := vmlinux

View File

@ -81,3 +81,5 @@
+ features/all/atl1e-allow-offload-disable.patch
+ bugfix/all/usbnet-link-down-initially-for-drivers-that-update.patch
+ features/all/i915-autoload-without-CONFIG_DRM_I915_KMS.patch
+ debian/arch-sh4-fix-uimage-build.patch

3
debian/rules.real vendored
View File

@ -342,7 +342,8 @@ endif
install-image_arm_$(FEATURESET)_$(FLAVOUR)_plain_image \
install-image_armel_$(FEATURESET)_$(FLAVOUR)_plain_image \
install-image_sparc_$(FEATURESET)_$(FLAVOUR)_plain_image \
install-image_sparc64_$(FEATURESET)_$(FLAVOUR)_plain_image:
install-image_sparc64_$(FEATURESET)_$(FLAVOUR)_plain_image \
install-image_sh4_$(FEATURESET)_$(FLAVOUR)_plain_image:
install -m644 '$(DIR)/arch/$(KERNEL_ARCH)/boot/zImage' $(INSTALL_DIR)/vmlinuz-$(REAL_VERSION)
install-image_amd64_$(FEATURESET)_$(FLAVOUR)_plain_image \

View File

@ -32,6 +32,9 @@ grep_model() {
sparc|sparc64)
egrep '^(cpu|fpu|pmu|prom|type)\b' /proc/cpuinfo
;;
sh4|sh4a)
egrep '^(machine|cpu)\b' /proc/cpuinfo
;;
*)
false
;;