aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-13 12:50:26 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-13 12:50:26 -0400
commitecaedfa385a6df297e17d6e9f296cc63f12c053f (patch)
tree236a4484cdb04f73f8f365ae46a1741eb0d9ce54
parentdcf397f037f52add9945eced57ca300ab6a4413c (diff)
parentcb0f3fe08d4718cfe6cf7b50d0fb2732e5e5459d (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh64-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh64-2.6: sh64: mach-cayman: Build fixes. sh64: Symbol export fixups. sh64: linker script tidying and alignment fixups. sh64: Set KBUILD_IMAGE to make the rpm target happy. sh64: Kill off obsolete linux/blk.h reference. sh64: cleanup struct irqaction initializers. sh64: Kill off dead gdb stub symbol. sh64: alphanumeric display only on Cayman. sh64: Add defconfigs for mach-sim and mach-harp. sh64: update cayman defconfig. sh64: Tidy up Kconfig dependencies. sh64: Move consistent DMA routines to arch/sh64/mm/. sh64: Some symbol exports and build fixes. sh64: mach-sim: Build fixes. sh64: mach-harp: Build fixes. sh64: Kill off duplicate frame pointer option. sh64: Kill off dead ROM-RAM and generic boards. sh64: Tidy up includes for Cayman board. sh64: Move *_p() I/O routine variants to io.h.
-rw-r--r--arch/sh64/Kconfig51
-rw-r--r--arch/sh64/Kconfig.debug13
-rw-r--r--arch/sh64/Makefile6
-rw-r--r--arch/sh64/configs/cayman_defconfig258
-rw-r--r--arch/sh64/configs/harp_defconfig756
-rw-r--r--arch/sh64/configs/sim_defconfig566
-rw-r--r--arch/sh64/kernel/Makefile2
-rw-r--r--arch/sh64/kernel/alphanum.c1
-rw-r--r--arch/sh64/kernel/sh_ksyms.c32
-rw-r--r--arch/sh64/kernel/time.c14
-rw-r--r--arch/sh64/kernel/vmlinux.lds.S60
-rw-r--r--arch/sh64/lib/c-checksum.c3
-rw-r--r--arch/sh64/lib/io.c29
-rw-r--r--arch/sh64/lib/iomap.c10
-rw-r--r--arch/sh64/mach-cayman/setup.c10
-rw-r--r--arch/sh64/mach-harp/Makefile13
-rw-r--r--arch/sh64/mach-harp/setup.c25
-rw-r--r--arch/sh64/mach-romram/Makefile14
-rw-r--r--arch/sh64/mach-romram/setup.c141
-rw-r--r--arch/sh64/mach-sim/Makefile13
-rw-r--r--arch/sh64/mach-sim/setup.c53
-rw-r--r--arch/sh64/mm/Makefile4
-rw-r--r--arch/sh64/mm/consistent.c (renamed from arch/sh64/kernel/pci-dma.c)4
-rw-r--r--arch/sh64/mm/init.c4
-rw-r--r--arch/sh64/mm/ioremap.c7
-rw-r--r--include/asm-sh64/io.h7
26 files changed, 1641 insertions, 455 deletions
diff --git a/arch/sh64/Kconfig b/arch/sh64/Kconfig
index 5664631d8ae5..b3327ce8e82f 100644
--- a/arch/sh64/Kconfig
+++ b/arch/sh64/Kconfig
@@ -36,6 +36,14 @@ config GENERIC_CALIBRATE_DELAY
36 bool 36 bool
37 default y 37 default y
38 38
39config GENERIC_HARDIRQS
40 bool
41 default y
42
43config GENERIC_IRQ_PROBE
44 bool
45 default y
46
39config RWSEM_XCHGADD_ALGORITHM 47config RWSEM_XCHGADD_ALGORITHM
40 bool 48 bool
41 49
@@ -58,18 +66,12 @@ choice
58 prompt "SuperH system type" 66 prompt "SuperH system type"
59 default SH_SIMULATOR 67 default SH_SIMULATOR
60 68
61config SH_GENERIC
62 bool "Generic"
63
64config SH_SIMULATOR 69config SH_SIMULATOR
65 bool "Simulator" 70 bool "Simulator"
66 71
67config SH_CAYMAN 72config SH_CAYMAN
68 bool "Cayman" 73 bool "Cayman"
69 74
70config SH_ROMRAM
71 bool "ROM/RAM"
72
73config SH_HARP 75config SH_HARP
74 bool "ST50-Harp" 76 bool "ST50-Harp"
75 77
@@ -152,60 +154,54 @@ comment "Memory options"
152 154
153config CACHED_MEMORY_OFFSET 155config CACHED_MEMORY_OFFSET
154 hex "Cached Area Offset" 156 hex "Cached Area Offset"
155 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
156 default "20000000" 157 default "20000000"
157 158
158config MEMORY_START 159config MEMORY_START
159 hex "Physical memory start address" 160 hex "Physical memory start address"
160 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
161 default "80000000" 161 default "80000000"
162 162
163config MEMORY_SIZE_IN_MB 163config MEMORY_SIZE_IN_MB
164 int "Memory size (in MB)" if SH_HARP || SH_CAYMAN || SH_SIMULATOR 164 int "Memory size (in MB)"
165 default "64" if SH_HARP || SH_CAYMAN
166 default "8" if SH_SIMULATOR 165 default "8" if SH_SIMULATOR
166 default "64"
167 167
168comment "Cache options" 168comment "Cache options"
169 169
170config DCACHE_DISABLED
171 bool "DCache Disabling"
172 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
173
174choice 170choice
175 prompt "DCache mode" 171 prompt "DCache mode"
176 depends on !DCACHE_DISABLED && !SH_SIMULATOR 172 default DCACHE_DISABLED if SH_SIMULATOR
177 default DCACHE_WRITE_BACK 173 default DCACHE_WRITE_BACK
178 174
179config DCACHE_WRITE_BACK 175config DCACHE_WRITE_BACK
180 bool "Write-back" 176 bool "Write-back"
177 depends on !SH_SIMULATOR
181 178
182config DCACHE_WRITE_THROUGH 179config DCACHE_WRITE_THROUGH
183 bool "Write-through" 180 bool "Write-through"
181 depends on !SH_SIMULATOR
182
183config DCACHE_DISABLED
184 bool "Disabled"
184 185
185endchoice 186endchoice
186 187
187config ICACHE_DISABLED 188config ICACHE_DISABLED
188 bool "ICache Disabling" 189 bool "ICache Disabling"
189 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
190 190
191config PCIDEVICE_MEMORY_START 191config PCIDEVICE_MEMORY_START
192 hex 192 hex
193 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
194 default "C0000000" 193 default "C0000000"
195 194
196config DEVICE_MEMORY_START 195config DEVICE_MEMORY_START
197 hex 196 hex
198 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
199 default "E0000000" 197 default "E0000000"
200 198
201config FLASH_MEMORY_START 199config FLASH_MEMORY_START
202 hex "Flash memory/on-chip devices start address" 200 hex "Flash memory/on-chip devices start address"
203 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
204 default "00000000" 201 default "00000000"
205 202
206config PCI_BLOCK_START 203config PCI_BLOCK_START
207 hex "PCI block start address" 204 hex "PCI block start address"
208 depends on SH_HARP || SH_CAYMAN || SH_SIMULATOR
209 default "40000000" 205 default "40000000"
210 206
211comment "CPU Subtype specific options" 207comment "CPU Subtype specific options"
@@ -214,8 +210,10 @@ config SH64_ID2815_WORKAROUND
214 bool "Include workaround for SH5-101 cut2 silicon defect ID2815" 210 bool "Include workaround for SH5-101 cut2 silicon defect ID2815"
215 211
216comment "Misc options" 212comment "Misc options"
213
217config HEARTBEAT 214config HEARTBEAT
218 bool "Heartbeat LED" 215 bool "Heartbeat LED"
216 depends on SH_CAYMAN
219 217
220config HDSP253_LED 218config HDSP253_LED
221 bool "Support for HDSP-253 LED" 219 bool "Support for HDSP-253 LED"
@@ -242,6 +240,7 @@ config SBUS
242 240
243config PCI 241config PCI
244 bool "PCI support" 242 bool "PCI support"
243 depends on SH_CAYMAN
245 help 244 help
246 Find out whether you have a PCI motherboard. PCI is the name of a 245 Find out whether you have a PCI motherboard. PCI is the name of a
247 bus system, i.e. the way the CPU talks to the other stuff inside 246 bus system, i.e. the way the CPU talks to the other stuff inside
@@ -294,15 +293,3 @@ source "security/Kconfig"
294source "crypto/Kconfig" 293source "crypto/Kconfig"
295 294
296source "lib/Kconfig" 295source "lib/Kconfig"
297
298#
299# Use the generic interrupt handling code in kernel/irq/:
300#
301config GENERIC_HARDIRQS
302 bool
303 default y
304
305config GENERIC_IRQ_PROBE
306 bool
307 default y
308
diff --git a/arch/sh64/Kconfig.debug b/arch/sh64/Kconfig.debug
index 26d842c07139..05c07c4e4ed6 100644
--- a/arch/sh64/Kconfig.debug
+++ b/arch/sh64/Kconfig.debug
@@ -5,9 +5,6 @@ source "lib/Kconfig.debug"
5config EARLY_PRINTK 5config EARLY_PRINTK
6 bool "Early SCIF console support" 6 bool "Early SCIF console support"
7 7
8config DEBUG_KERNEL_WITH_GDB_STUB
9 bool "GDB Stub kernel debug"
10
11config SH64_PROC_TLB 8config SH64_PROC_TLB
12 bool "Debug: report TLB fill/purge activity through /proc/tlb" 9 bool "Debug: report TLB fill/purge activity through /proc/tlb"
13 depends on PROC_FS 10 depends on PROC_FS
@@ -28,17 +25,9 @@ config POOR_MANS_STRACE
28 25
29config SH_ALPHANUMERIC 26config SH_ALPHANUMERIC
30 bool "Enable debug outputs to on-board alphanumeric display" 27 bool "Enable debug outputs to on-board alphanumeric display"
28 depends on SH_CAYMAN
31 29
32config SH_NO_BSS_INIT 30config SH_NO_BSS_INIT
33 bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)" 31 bool "Avoid zeroing BSS (to speed-up startup on suitable platforms)"
34 32
35config FRAME_POINTER
36 bool "Compile the kernel with frame pointers"
37 default y if KGDB
38 help
39 If you say Y here the resulting kernel image will be slightly larger
40 and slower, but it will give very useful debugging information.
41 If you don't debug the kernel, you can say N, but we may not be able
42 to solve problems without frame pointers.
43
44endmenu 33endmenu
diff --git a/arch/sh64/Makefile b/arch/sh64/Makefile
index ebf20043991c..8290c6380d7d 100644
--- a/arch/sh64/Makefile
+++ b/arch/sh64/Makefile
@@ -40,6 +40,8 @@ OBJCOPYFLAGS := -O binary -R .note -R .comment -R .stab -R .stabstr -S
40# 40#
41KBUILD_DEFCONFIG := cayman_defconfig 41KBUILD_DEFCONFIG := cayman_defconfig
42 42
43KBUILD_IMAGE := arch/$(ARCH)/boot/zImage
44
43ifdef LOADADDR 45ifdef LOADADDR
44LINKFLAGS += -Ttext $(word 1,$(LOADADDR)) 46LINKFLAGS += -Ttext $(word 1,$(LOADADDR))
45endif 47endif
@@ -47,7 +49,6 @@ endif
47machine-$(CONFIG_SH_CAYMAN) := cayman 49machine-$(CONFIG_SH_CAYMAN) := cayman
48machine-$(CONFIG_SH_SIMULATOR) := sim 50machine-$(CONFIG_SH_SIMULATOR) := sim
49machine-$(CONFIG_SH_HARP) := harp 51machine-$(CONFIG_SH_HARP) := harp
50machine-$(CONFIG_SH_ROMRAM) := romram
51 52
52head-y := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o 53head-y := arch/$(ARCH)/kernel/head.o arch/$(ARCH)/kernel/init_task.o
53 54
@@ -106,6 +107,5 @@ arch/$(ARCH)/lib/syscalltab.h: arch/sh64/kernel/syscalls.S
106CLEAN_FILES += arch/$(ARCH)/lib/syscalltab.h 107CLEAN_FILES += arch/$(ARCH)/lib/syscalltab.h
107 108
108define archhelp 109define archhelp
109 @echo ' zImage - Compressed kernel image (arch/sh64/boot/zImage)' 110 @echo '* zImage - Compressed kernel image'
110endef 111endef
111
diff --git a/arch/sh64/configs/cayman_defconfig b/arch/sh64/configs/cayman_defconfig
index 784434143343..91b59118c1b1 100644
--- a/arch/sh64/configs/cayman_defconfig
+++ b/arch/sh64/configs/cayman_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.22 3# Linux kernel version: 2.6.23-rc8
4# Fri Jul 20 12:28:34 2007 4# Tue Oct 9 15:37:16 2007
5# 5#
6CONFIG_SUPERH=y 6CONFIG_SUPERH=y
7CONFIG_SUPERH64=y 7CONFIG_SUPERH64=y
@@ -11,21 +11,20 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
11CONFIG_GENERIC_FIND_NEXT_BIT=y 11CONFIG_GENERIC_FIND_NEXT_BIT=y
12CONFIG_GENERIC_HWEIGHT=y 12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_GENERIC_HARDIRQS=y
15CONFIG_GENERIC_IRQ_PROBE=y
14# CONFIG_ARCH_HAS_ILOG2_U32 is not set 16# CONFIG_ARCH_HAS_ILOG2_U32 is not set
15# CONFIG_ARCH_HAS_ILOG2_U64 is not set 17# CONFIG_ARCH_HAS_ILOG2_U64 is not set
18CONFIG_ARCH_NO_VIRT_TO_BUS=y
16CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
17 20
18# 21#
19# Code maturity level options 22# General setup
20# 23#
21CONFIG_EXPERIMENTAL=y 24CONFIG_EXPERIMENTAL=y
22CONFIG_BROKEN_ON_SMP=y 25CONFIG_BROKEN_ON_SMP=y
23CONFIG_LOCK_KERNEL=y 26CONFIG_LOCK_KERNEL=y
24CONFIG_INIT_ENV_ARG_LIMIT=32 27CONFIG_INIT_ENV_ARG_LIMIT=32
25
26#
27# General setup
28#
29CONFIG_LOCALVERSION="" 28CONFIG_LOCALVERSION=""
30CONFIG_LOCALVERSION_AUTO=y 29CONFIG_LOCALVERSION_AUTO=y
31CONFIG_SWAP=y 30CONFIG_SWAP=y
@@ -57,7 +56,6 @@ CONFIG_FUTEX=y
57CONFIG_ANON_INODES=y 56CONFIG_ANON_INODES=y
58CONFIG_EPOLL=y 57CONFIG_EPOLL=y
59CONFIG_SIGNALFD=y 58CONFIG_SIGNALFD=y
60CONFIG_TIMERFD=y
61CONFIG_EVENTFD=y 59CONFIG_EVENTFD=y
62CONFIG_SHMEM=y 60CONFIG_SHMEM=y
63CONFIG_VM_EVENT_COUNTERS=y 61CONFIG_VM_EVENT_COUNTERS=y
@@ -67,7 +65,12 @@ CONFIG_SLAB=y
67CONFIG_RT_MUTEXES=y 65CONFIG_RT_MUTEXES=y
68# CONFIG_TINY_SHMEM is not set 66# CONFIG_TINY_SHMEM is not set
69CONFIG_BASE_SMALL=0 67CONFIG_BASE_SMALL=0
70# CONFIG_MODULES is not set 68CONFIG_MODULES=y
69CONFIG_MODULE_UNLOAD=y
70# CONFIG_MODULE_FORCE_UNLOAD is not set
71# CONFIG_MODVERSIONS is not set
72# CONFIG_MODULE_SRCVERSION_ALL is not set
73CONFIG_KMOD=y
71CONFIG_BLOCK=y 74CONFIG_BLOCK=y
72# CONFIG_LBD is not set 75# CONFIG_LBD is not set
73# CONFIG_BLK_DEV_IO_TRACE is not set 76# CONFIG_BLK_DEV_IO_TRACE is not set
@@ -90,10 +93,8 @@ CONFIG_DEFAULT_IOSCHED="cfq"
90# 93#
91# System type 94# System type
92# 95#
93# CONFIG_SH_GENERIC is not set
94# CONFIG_SH_SIMULATOR is not set 96# CONFIG_SH_SIMULATOR is not set
95CONFIG_SH_CAYMAN=y 97CONFIG_SH_CAYMAN=y
96# CONFIG_SH_ROMRAM is not set
97# CONFIG_SH_HARP is not set 98# CONFIG_SH_HARP is not set
98CONFIG_CPU_SH5=y 99CONFIG_CPU_SH5=y
99CONFIG_CPU_SUBTYPE_SH5_101=y 100CONFIG_CPU_SUBTYPE_SH5_101=y
@@ -119,9 +120,9 @@ CONFIG_MEMORY_SIZE_IN_MB=128
119# 120#
120# Cache options 121# Cache options
121# 122#
122# CONFIG_DCACHE_DISABLED is not set
123CONFIG_DCACHE_WRITE_BACK=y 123CONFIG_DCACHE_WRITE_BACK=y
124# CONFIG_DCACHE_WRITE_THROUGH is not set 124# CONFIG_DCACHE_WRITE_THROUGH is not set
125# CONFIG_DCACHE_DISABLED is not set
125# CONFIG_ICACHE_DISABLED is not set 126# CONFIG_ICACHE_DISABLED is not set
126CONFIG_PCIDEVICE_MEMORY_START=C0000000 127CONFIG_PCIDEVICE_MEMORY_START=C0000000
127CONFIG_DEVICE_MEMORY_START=E0000000 128CONFIG_DEVICE_MEMORY_START=E0000000
@@ -151,7 +152,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
151# CONFIG_RESOURCES_64BIT is not set 152# CONFIG_RESOURCES_64BIT is not set
152CONFIG_ZONE_DMA_FLAG=0 153CONFIG_ZONE_DMA_FLAG=0
153CONFIG_NR_QUICK=1 154CONFIG_NR_QUICK=1
154CONFIG_VIRT_TO_BUS=y
155 155
156# 156#
157# Bus options (PCI, PCMCIA, EISA, MCA, ISA) 157# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
@@ -276,7 +276,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
276# CONFIG_MTD is not set 276# CONFIG_MTD is not set
277# CONFIG_PARPORT is not set 277# CONFIG_PARPORT is not set
278CONFIG_BLK_DEV=y 278CONFIG_BLK_DEV=y
279# CONFIG_BLK_CPQ_DA is not set
280# CONFIG_BLK_CPQ_CISS_DA is not set 279# CONFIG_BLK_CPQ_CISS_DA is not set
281# CONFIG_BLK_DEV_DAC960 is not set 280# CONFIG_BLK_DEV_DAC960 is not set
282# CONFIG_BLK_DEV_UMEM is not set 281# CONFIG_BLK_DEV_UMEM is not set
@@ -325,6 +324,7 @@ CONFIG_SCSI_MULTI_LUN=y
325# CONFIG_SCSI_CONSTANTS is not set 324# CONFIG_SCSI_CONSTANTS is not set
326# CONFIG_SCSI_LOGGING is not set 325# CONFIG_SCSI_LOGGING is not set
327# CONFIG_SCSI_SCAN_ASYNC is not set 326# CONFIG_SCSI_SCAN_ASYNC is not set
327CONFIG_SCSI_WAIT_SCAN=m
328 328
329# 329#
330# SCSI Transports 330# SCSI Transports
@@ -332,12 +332,8 @@ CONFIG_SCSI_MULTI_LUN=y
332CONFIG_SCSI_SPI_ATTRS=y 332CONFIG_SCSI_SPI_ATTRS=y
333# CONFIG_SCSI_FC_ATTRS is not set 333# CONFIG_SCSI_FC_ATTRS is not set
334# CONFIG_SCSI_ISCSI_ATTRS is not set 334# CONFIG_SCSI_ISCSI_ATTRS is not set
335# CONFIG_SCSI_SAS_ATTRS is not set
336# CONFIG_SCSI_SAS_LIBSAS is not set 335# CONFIG_SCSI_SAS_LIBSAS is not set
337 336CONFIG_SCSI_LOWLEVEL=y
338#
339# SCSI low-level drivers
340#
341# CONFIG_ISCSI_TCP is not set 337# CONFIG_ISCSI_TCP is not set
342# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 338# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
343# CONFIG_SCSI_3W_9XXX is not set 339# CONFIG_SCSI_3W_9XXX is not set
@@ -347,7 +343,6 @@ CONFIG_SCSI_SPI_ATTRS=y
347# CONFIG_SCSI_AIC7XXX_OLD is not set 343# CONFIG_SCSI_AIC7XXX_OLD is not set
348# CONFIG_SCSI_AIC79XX is not set 344# CONFIG_SCSI_AIC79XX is not set
349# CONFIG_SCSI_AIC94XX is not set 345# CONFIG_SCSI_AIC94XX is not set
350# CONFIG_SCSI_DPT_I2O is not set
351# CONFIG_SCSI_ARCMSR is not set 346# CONFIG_SCSI_ARCMSR is not set
352# CONFIG_MEGARAID_NEWGEN is not set 347# CONFIG_MEGARAID_NEWGEN is not set
353# CONFIG_MEGARAID_LEGACY is not set 348# CONFIG_MEGARAID_LEGACY is not set
@@ -449,6 +444,7 @@ CONFIG_NETDEV_1000=y
449# CONFIG_SIS190 is not set 444# CONFIG_SIS190 is not set
450# CONFIG_SKGE is not set 445# CONFIG_SKGE is not set
451# CONFIG_SKY2 is not set 446# CONFIG_SKY2 is not set
447# CONFIG_SK98LIN is not set
452# CONFIG_VIA_VELOCITY is not set 448# CONFIG_VIA_VELOCITY is not set
453# CONFIG_TIGON3 is not set 449# CONFIG_TIGON3 is not set
454# CONFIG_BNX2 is not set 450# CONFIG_BNX2 is not set
@@ -572,7 +568,6 @@ CONFIG_WATCHDOG=y
572# Watchdog Device Drivers 568# Watchdog Device Drivers
573# 569#
574# CONFIG_SOFT_WATCHDOG is not set 570# CONFIG_SOFT_WATCHDOG is not set
575# CONFIG_SH_WDT is not set
576 571
577# 572#
578# PCI-based Watchdog Cards 573# PCI-based Watchdog Cards
@@ -586,7 +581,59 @@ CONFIG_HW_RANDOM=y
586# CONFIG_RAW_DRIVER is not set 581# CONFIG_RAW_DRIVER is not set
587# CONFIG_TCG_TPM is not set 582# CONFIG_TCG_TPM is not set
588CONFIG_DEVPORT=y 583CONFIG_DEVPORT=y
589# CONFIG_I2C is not set 584CONFIG_I2C=m
585CONFIG_I2C_BOARDINFO=y
586# CONFIG_I2C_CHARDEV is not set
587
588#
589# I2C Algorithms
590#
591# CONFIG_I2C_ALGOBIT is not set
592# CONFIG_I2C_ALGOPCF is not set
593# CONFIG_I2C_ALGOPCA is not set
594
595#
596# I2C Hardware Bus support
597#
598# CONFIG_I2C_ALI1535 is not set
599# CONFIG_I2C_ALI1563 is not set
600# CONFIG_I2C_ALI15X3 is not set
601# CONFIG_I2C_AMD756 is not set
602# CONFIG_I2C_AMD8111 is not set
603# CONFIG_I2C_I801 is not set
604# CONFIG_I2C_I810 is not set
605# CONFIG_I2C_PIIX4 is not set
606# CONFIG_I2C_NFORCE2 is not set
607# CONFIG_I2C_OCORES is not set
608# CONFIG_I2C_PARPORT_LIGHT is not set
609# CONFIG_I2C_PROSAVAGE is not set
610# CONFIG_I2C_SAVAGE4 is not set
611# CONFIG_I2C_SIMTEC is not set
612# CONFIG_I2C_SIS5595 is not set
613# CONFIG_I2C_SIS630 is not set
614# CONFIG_I2C_SIS96X is not set
615# CONFIG_I2C_TAOS_EVM is not set
616# CONFIG_I2C_STUB is not set
617# CONFIG_I2C_VIA is not set
618# CONFIG_I2C_VIAPRO is not set
619# CONFIG_I2C_VOODOO3 is not set
620
621#
622# Miscellaneous I2C Chip support
623#
624# CONFIG_SENSORS_DS1337 is not set
625# CONFIG_SENSORS_DS1374 is not set
626# CONFIG_DS1682 is not set
627# CONFIG_SENSORS_EEPROM is not set
628# CONFIG_SENSORS_PCF8574 is not set
629# CONFIG_SENSORS_PCA9539 is not set
630# CONFIG_SENSORS_PCF8591 is not set
631# CONFIG_SENSORS_MAX6875 is not set
632# CONFIG_SENSORS_TSL2550 is not set
633# CONFIG_I2C_DEBUG_CORE is not set
634# CONFIG_I2C_DEBUG_ALGO is not set
635# CONFIG_I2C_DEBUG_BUS is not set
636# CONFIG_I2C_DEBUG_CHIP is not set
590 637
591# 638#
592# SPI support 639# SPI support
@@ -599,16 +646,51 @@ CONFIG_HWMON=y
599# CONFIG_HWMON_VID is not set 646# CONFIG_HWMON_VID is not set
600# CONFIG_SENSORS_ABITUGURU is not set 647# CONFIG_SENSORS_ABITUGURU is not set
601# CONFIG_SENSORS_ABITUGURU3 is not set 648# CONFIG_SENSORS_ABITUGURU3 is not set
649# CONFIG_SENSORS_AD7418 is not set
650# CONFIG_SENSORS_ADM1021 is not set
651# CONFIG_SENSORS_ADM1025 is not set
652# CONFIG_SENSORS_ADM1026 is not set
653# CONFIG_SENSORS_ADM1029 is not set
654# CONFIG_SENSORS_ADM1031 is not set
655# CONFIG_SENSORS_ADM9240 is not set
656# CONFIG_SENSORS_ASB100 is not set
657# CONFIG_SENSORS_ATXP1 is not set
658# CONFIG_SENSORS_DS1621 is not set
602# CONFIG_SENSORS_F71805F is not set 659# CONFIG_SENSORS_F71805F is not set
660# CONFIG_SENSORS_FSCHER is not set
661# CONFIG_SENSORS_FSCPOS is not set
662# CONFIG_SENSORS_GL518SM is not set
663# CONFIG_SENSORS_GL520SM is not set
603# CONFIG_SENSORS_IT87 is not set 664# CONFIG_SENSORS_IT87 is not set
665# CONFIG_SENSORS_LM63 is not set
666# CONFIG_SENSORS_LM75 is not set
667# CONFIG_SENSORS_LM77 is not set
668# CONFIG_SENSORS_LM78 is not set
669# CONFIG_SENSORS_LM80 is not set
670# CONFIG_SENSORS_LM83 is not set
671# CONFIG_SENSORS_LM85 is not set
672# CONFIG_SENSORS_LM87 is not set
673# CONFIG_SENSORS_LM90 is not set
674# CONFIG_SENSORS_LM92 is not set
675# CONFIG_SENSORS_LM93 is not set
676# CONFIG_SENSORS_MAX1619 is not set
677# CONFIG_SENSORS_MAX6650 is not set
604# CONFIG_SENSORS_PC87360 is not set 678# CONFIG_SENSORS_PC87360 is not set
605# CONFIG_SENSORS_PC87427 is not set 679# CONFIG_SENSORS_PC87427 is not set
606# CONFIG_SENSORS_SIS5595 is not set 680# CONFIG_SENSORS_SIS5595 is not set
681# CONFIG_SENSORS_DME1737 is not set
607# CONFIG_SENSORS_SMSC47M1 is not set 682# CONFIG_SENSORS_SMSC47M1 is not set
683# CONFIG_SENSORS_SMSC47M192 is not set
608# CONFIG_SENSORS_SMSC47B397 is not set 684# CONFIG_SENSORS_SMSC47B397 is not set
685# CONFIG_SENSORS_THMC50 is not set
609# CONFIG_SENSORS_VIA686A is not set 686# CONFIG_SENSORS_VIA686A is not set
610# CONFIG_SENSORS_VT1211 is not set 687# CONFIG_SENSORS_VT1211 is not set
611# CONFIG_SENSORS_VT8231 is not set 688# CONFIG_SENSORS_VT8231 is not set
689# CONFIG_SENSORS_W83781D is not set
690# CONFIG_SENSORS_W83791D is not set
691# CONFIG_SENSORS_W83792D is not set
692# CONFIG_SENSORS_W83793 is not set
693# CONFIG_SENSORS_W83L785TS is not set
612# CONFIG_SENSORS_W83627HF is not set 694# CONFIG_SENSORS_W83627HF is not set
613# CONFIG_SENSORS_W83627EHF is not set 695# CONFIG_SENSORS_W83627EHF is not set
614# CONFIG_HWMON_DEBUG_CHIP is not set 696# CONFIG_HWMON_DEBUG_CHIP is not set
@@ -621,8 +703,115 @@ CONFIG_HWMON=y
621# 703#
622# Multimedia devices 704# Multimedia devices
623# 705#
624# CONFIG_VIDEO_DEV is not set 706CONFIG_VIDEO_DEV=m
625# CONFIG_DVB_CORE is not set 707# CONFIG_VIDEO_V4L1 is not set
708# CONFIG_VIDEO_V4L1_COMPAT is not set
709CONFIG_VIDEO_V4L2=y
710CONFIG_VIDEO_CAPTURE_DRIVERS=y
711# CONFIG_VIDEO_ADV_DEBUG is not set
712CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
713# CONFIG_VIDEO_VIVI is not set
714# CONFIG_VIDEO_SAA5246A is not set
715# CONFIG_VIDEO_SAA5249 is not set
716# CONFIG_TUNER_TEA5761 is not set
717# CONFIG_VIDEO_SAA7134 is not set
718# CONFIG_VIDEO_HEXIUM_ORION is not set
719# CONFIG_VIDEO_HEXIUM_GEMINI is not set
720# CONFIG_VIDEO_CX88 is not set
721# CONFIG_VIDEO_CAFE_CCIC is not set
722# CONFIG_RADIO_ADAPTERS is not set
723CONFIG_DVB_CORE=y
724# CONFIG_DVB_CORE_ATTACH is not set
725CONFIG_DVB_CAPTURE_DRIVERS=y
726
727#
728# Supported SAA7146 based PCI Adapters
729#
730
731#
732# Supported FlexCopII (B2C2) Adapters
733#
734# CONFIG_DVB_B2C2_FLEXCOP is not set
735
736#
737# Supported BT878 Adapters
738#
739
740#
741# Supported Pluto2 Adapters
742#
743# CONFIG_DVB_PLUTO2 is not set
744
745#
746# Supported DVB Frontends
747#
748
749#
750# Customise DVB Frontends
751#
752# CONFIG_DVB_FE_CUSTOMISE is not set
753
754#
755# DVB-S (satellite) frontends
756#
757# CONFIG_DVB_STV0299 is not set
758# CONFIG_DVB_CX24110 is not set
759# CONFIG_DVB_CX24123 is not set
760# CONFIG_DVB_TDA8083 is not set
761# CONFIG_DVB_MT312 is not set
762# CONFIG_DVB_VES1X93 is not set
763# CONFIG_DVB_S5H1420 is not set
764# CONFIG_DVB_TDA10086 is not set
765
766#
767# DVB-T (terrestrial) frontends
768#
769# CONFIG_DVB_SP8870 is not set
770# CONFIG_DVB_SP887X is not set
771# CONFIG_DVB_CX22700 is not set
772# CONFIG_DVB_CX22702 is not set
773# CONFIG_DVB_L64781 is not set
774# CONFIG_DVB_TDA1004X is not set
775# CONFIG_DVB_NXT6000 is not set
776# CONFIG_DVB_MT352 is not set
777# CONFIG_DVB_ZL10353 is not set
778# CONFIG_DVB_DIB3000MB is not set
779# CONFIG_DVB_DIB3000MC is not set
780# CONFIG_DVB_DIB7000M is not set
781# CONFIG_DVB_DIB7000P is not set
782
783#
784# DVB-C (cable) frontends
785#
786# CONFIG_DVB_VES1820 is not set
787# CONFIG_DVB_TDA10021 is not set
788# CONFIG_DVB_TDA10023 is not set
789# CONFIG_DVB_STV0297 is not set
790
791#
792# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
793#
794# CONFIG_DVB_NXT200X is not set
795# CONFIG_DVB_OR51211 is not set
796# CONFIG_DVB_OR51132 is not set
797# CONFIG_DVB_BCM3510 is not set
798# CONFIG_DVB_LGDT330X is not set
799
800#
801# Tuners/PLL support
802#
803# CONFIG_DVB_PLL is not set
804# CONFIG_DVB_TDA826X is not set
805# CONFIG_DVB_TDA827X is not set
806# CONFIG_DVB_TUNER_QT1010 is not set
807# CONFIG_DVB_TUNER_MT2060 is not set
808
809#
810# Miscellaneous devices
811#
812# CONFIG_DVB_LNBP21 is not set
813# CONFIG_DVB_ISL6421 is not set
814# CONFIG_DVB_TUA6100 is not set
626CONFIG_DAB=y 815CONFIG_DAB=y
627 816
628# 817#
@@ -635,6 +824,7 @@ CONFIG_DAB=y
635# 824#
636# CONFIG_DISPLAY_SUPPORT is not set 825# CONFIG_DISPLAY_SUPPORT is not set
637# CONFIG_VGASTATE is not set 826# CONFIG_VGASTATE is not set
827CONFIG_VIDEO_OUTPUT_CONTROL=y
638CONFIG_FB=y 828CONFIG_FB=y
639CONFIG_FIRMWARE_EDID=y 829CONFIG_FIRMWARE_EDID=y
640# CONFIG_FB_DDC is not set 830# CONFIG_FB_DDC is not set
@@ -728,24 +918,8 @@ CONFIG_USB_ARCH_HAS_EHCI=y
728# 918#
729# CONFIG_USB_GADGET is not set 919# CONFIG_USB_GADGET is not set
730# CONFIG_MMC is not set 920# CONFIG_MMC is not set
731
732#
733# LED devices
734#
735# CONFIG_NEW_LEDS is not set 921# CONFIG_NEW_LEDS is not set
736
737#
738# LED drivers
739#
740
741#
742# LED Triggers
743#
744# CONFIG_INFINIBAND is not set 922# CONFIG_INFINIBAND is not set
745
746#
747# Real Time Clock
748#
749# CONFIG_RTC_CLASS is not set 923# CONFIG_RTC_CLASS is not set
750 924
751# 925#
@@ -929,9 +1103,9 @@ CONFIG_DEBUG_BUGVERBOSE=y
929# CONFIG_DEBUG_LIST is not set 1103# CONFIG_DEBUG_LIST is not set
930CONFIG_FRAME_POINTER=y 1104CONFIG_FRAME_POINTER=y
931CONFIG_FORCED_INLINING=y 1105CONFIG_FORCED_INLINING=y
1106# CONFIG_RCU_TORTURE_TEST is not set
932# CONFIG_FAULT_INJECTION is not set 1107# CONFIG_FAULT_INJECTION is not set
933# CONFIG_EARLY_PRINTK is not set 1108# CONFIG_EARLY_PRINTK is not set
934# CONFIG_DEBUG_KERNEL_WITH_GDB_STUB is not set
935CONFIG_SH64_PROC_TLB=y 1109CONFIG_SH64_PROC_TLB=y
936CONFIG_SH64_PROC_ASIDS=y 1110CONFIG_SH64_PROC_ASIDS=y
937CONFIG_SH64_SR_WATCH=y 1111CONFIG_SH64_SR_WATCH=y
@@ -960,5 +1134,3 @@ CONFIG_PLIST=y
960CONFIG_HAS_IOMEM=y 1134CONFIG_HAS_IOMEM=y
961CONFIG_HAS_IOPORT=y 1135CONFIG_HAS_IOPORT=y
962CONFIG_HAS_DMA=y 1136CONFIG_HAS_DMA=y
963CONFIG_GENERIC_HARDIRQS=y
964CONFIG_GENERIC_IRQ_PROBE=y
diff --git a/arch/sh64/configs/harp_defconfig b/arch/sh64/configs/harp_defconfig
new file mode 100644
index 000000000000..e4b84b51baf8
--- /dev/null
+++ b/arch/sh64/configs/harp_defconfig
@@ -0,0 +1,756 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc8
4# Mon Oct 1 18:01:38 2007
5#
6CONFIG_SUPERH=y
7CONFIG_SUPERH64=y
8CONFIG_MMU=y
9CONFIG_QUICKLIST=y
10CONFIG_RWSEM_GENERIC_SPINLOCK=y
11CONFIG_GENERIC_FIND_NEXT_BIT=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_GENERIC_HARDIRQS=y
15CONFIG_GENERIC_IRQ_PROBE=y
16# CONFIG_ARCH_HAS_ILOG2_U32 is not set
17# CONFIG_ARCH_HAS_ILOG2_U64 is not set
18CONFIG_ARCH_NO_VIRT_TO_BUS=y
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
20
21#
22# General setup
23#
24CONFIG_EXPERIMENTAL=y
25CONFIG_BROKEN_ON_SMP=y
26CONFIG_LOCK_KERNEL=y
27CONFIG_INIT_ENV_ARG_LIMIT=32
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31# CONFIG_SYSVIPC is not set
32CONFIG_POSIX_MQUEUE=y
33# CONFIG_BSD_PROCESS_ACCT is not set
34# CONFIG_TASKSTATS is not set
35# CONFIG_USER_NS is not set
36# CONFIG_AUDIT is not set
37# CONFIG_IKCONFIG is not set
38CONFIG_LOG_BUF_SHIFT=14
39CONFIG_SYSFS_DEPRECATED=y
40# CONFIG_RELAY is not set
41# CONFIG_BLK_DEV_INITRD is not set
42# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
43CONFIG_SYSCTL=y
44# CONFIG_EMBEDDED is not set
45CONFIG_UID16=y
46CONFIG_SYSCTL_SYSCALL=y
47CONFIG_KALLSYMS=y
48# CONFIG_KALLSYMS_ALL is not set
49# CONFIG_KALLSYMS_EXTRA_PASS is not set
50CONFIG_HOTPLUG=y
51CONFIG_PRINTK=y
52CONFIG_BUG=y
53CONFIG_ELF_CORE=y
54CONFIG_BASE_FULL=y
55CONFIG_FUTEX=y
56CONFIG_ANON_INODES=y
57CONFIG_EPOLL=y
58CONFIG_SIGNALFD=y
59CONFIG_EVENTFD=y
60CONFIG_SHMEM=y
61CONFIG_VM_EVENT_COUNTERS=y
62CONFIG_SLAB=y
63# CONFIG_SLUB is not set
64# CONFIG_SLOB is not set
65CONFIG_RT_MUTEXES=y
66# CONFIG_TINY_SHMEM is not set
67CONFIG_BASE_SMALL=0
68# CONFIG_MODULES is not set
69CONFIG_BLOCK=y
70# CONFIG_LBD is not set
71# CONFIG_BLK_DEV_IO_TRACE is not set
72# CONFIG_LSF is not set
73# CONFIG_BLK_DEV_BSG is not set
74
75#
76# IO Schedulers
77#
78CONFIG_IOSCHED_NOOP=y
79CONFIG_IOSCHED_AS=y
80CONFIG_IOSCHED_DEADLINE=y
81CONFIG_IOSCHED_CFQ=y
82# CONFIG_DEFAULT_AS is not set
83# CONFIG_DEFAULT_DEADLINE is not set
84CONFIG_DEFAULT_CFQ=y
85# CONFIG_DEFAULT_NOOP is not set
86CONFIG_DEFAULT_IOSCHED="cfq"
87
88#
89# System type
90#
91# CONFIG_SH_SIMULATOR is not set
92# CONFIG_SH_CAYMAN is not set
93CONFIG_SH_HARP=y
94CONFIG_CPU_SH5=y
95CONFIG_CPU_SUBTYPE_SH5_101=y
96# CONFIG_CPU_SUBTYPE_SH5_103 is not set
97CONFIG_LITTLE_ENDIAN=y
98# CONFIG_BIG_ENDIAN is not set
99CONFIG_SH_FPU=y
100# CONFIG_SH64_FPU_DENORM_FLUSH is not set
101CONFIG_SH64_PGTABLE_2_LEVEL=y
102# CONFIG_SH64_PGTABLE_3_LEVEL is not set
103CONFIG_HUGETLB_PAGE_SIZE_64K=y
104# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set
105# CONFIG_HUGETLB_PAGE_SIZE_512MB is not set
106CONFIG_SH64_USER_MISALIGNED_FIXUP=y
107
108#
109# Memory options
110#
111CONFIG_CACHED_MEMORY_OFFSET=0x20000000
112CONFIG_MEMORY_START=0x80000000
113CONFIG_MEMORY_SIZE_IN_MB=128
114
115#
116# Cache options
117#
118CONFIG_DCACHE_WRITE_BACK=y
119# CONFIG_DCACHE_WRITE_THROUGH is not set
120# CONFIG_DCACHE_DISABLED is not set
121# CONFIG_ICACHE_DISABLED is not set
122CONFIG_PCIDEVICE_MEMORY_START=C0000000
123CONFIG_DEVICE_MEMORY_START=E0000000
124CONFIG_FLASH_MEMORY_START=0x00000000
125CONFIG_PCI_BLOCK_START=0x40000000
126
127#
128# CPU Subtype specific options
129#
130CONFIG_SH64_ID2815_WORKAROUND=y
131
132#
133# Misc options
134#
135# CONFIG_SH_DMA is not set
136CONFIG_PREEMPT=y
137CONFIG_SELECT_MEMORY_MODEL=y
138CONFIG_FLATMEM_MANUAL=y
139# CONFIG_DISCONTIGMEM_MANUAL is not set
140# CONFIG_SPARSEMEM_MANUAL is not set
141CONFIG_FLATMEM=y
142CONFIG_FLAT_NODE_MEM_MAP=y
143# CONFIG_SPARSEMEM_STATIC is not set
144CONFIG_SPLIT_PTLOCK_CPUS=4
145# CONFIG_RESOURCES_64BIT is not set
146CONFIG_ZONE_DMA_FLAG=0
147CONFIG_NR_QUICK=1
148
149#
150# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
151#
152# CONFIG_ARCH_SUPPORTS_MSI is not set
153
154#
155# PCCARD (PCMCIA/CardBus) support
156#
157# CONFIG_PCCARD is not set
158
159#
160# Executable file formats
161#
162CONFIG_BINFMT_ELF=y
163# CONFIG_BINFMT_MISC is not set
164
165#
166# Networking
167#
168CONFIG_NET=y
169
170#
171# Networking options
172#
173CONFIG_PACKET=y
174# CONFIG_PACKET_MMAP is not set
175CONFIG_UNIX=y
176CONFIG_XFRM=y
177# CONFIG_XFRM_USER is not set
178# CONFIG_XFRM_SUB_POLICY is not set
179# CONFIG_XFRM_MIGRATE is not set
180# CONFIG_NET_KEY is not set
181CONFIG_INET=y
182# CONFIG_IP_MULTICAST is not set
183# CONFIG_IP_ADVANCED_ROUTER is not set
184CONFIG_IP_FIB_HASH=y
185CONFIG_IP_PNP=y
186# CONFIG_IP_PNP_DHCP is not set
187# CONFIG_IP_PNP_BOOTP is not set
188# CONFIG_IP_PNP_RARP is not set
189# CONFIG_NET_IPIP is not set
190# CONFIG_NET_IPGRE is not set
191# CONFIG_ARPD is not set
192# CONFIG_SYN_COOKIES is not set
193# CONFIG_INET_AH is not set
194# CONFIG_INET_ESP is not set
195# CONFIG_INET_IPCOMP is not set
196# CONFIG_INET_XFRM_TUNNEL is not set
197# CONFIG_INET_TUNNEL is not set
198CONFIG_INET_XFRM_MODE_TRANSPORT=y
199CONFIG_INET_XFRM_MODE_TUNNEL=y
200CONFIG_INET_XFRM_MODE_BEET=y
201CONFIG_INET_DIAG=y
202CONFIG_INET_TCP_DIAG=y
203# CONFIG_TCP_CONG_ADVANCED is not set
204CONFIG_TCP_CONG_CUBIC=y
205CONFIG_DEFAULT_TCP_CONG="cubic"
206# CONFIG_TCP_MD5SIG is not set
207# CONFIG_IPV6 is not set
208# CONFIG_INET6_XFRM_TUNNEL is not set
209# CONFIG_INET6_TUNNEL is not set
210# CONFIG_NETWORK_SECMARK is not set
211# CONFIG_NETFILTER is not set
212# CONFIG_IP_DCCP is not set
213# CONFIG_IP_SCTP is not set
214# CONFIG_TIPC is not set
215# CONFIG_ATM is not set
216# CONFIG_BRIDGE is not set
217# CONFIG_VLAN_8021Q is not set
218# CONFIG_DECNET is not set
219# CONFIG_LLC2 is not set
220# CONFIG_IPX is not set
221# CONFIG_ATALK is not set
222# CONFIG_X25 is not set
223# CONFIG_LAPB is not set
224# CONFIG_ECONET is not set
225# CONFIG_WAN_ROUTER is not set
226
227#
228# QoS and/or fair queueing
229#
230# CONFIG_NET_SCHED is not set
231
232#
233# Network testing
234#
235# CONFIG_NET_PKTGEN is not set
236# CONFIG_HAMRADIO is not set
237# CONFIG_IRDA is not set
238# CONFIG_BT is not set
239# CONFIG_AF_RXRPC is not set
240
241#
242# Wireless
243#
244# CONFIG_CFG80211 is not set
245# CONFIG_WIRELESS_EXT is not set
246# CONFIG_MAC80211 is not set
247# CONFIG_IEEE80211 is not set
248# CONFIG_RFKILL is not set
249# CONFIG_NET_9P is not set
250
251#
252# Device Drivers
253#
254
255#
256# Generic Driver Options
257#
258CONFIG_STANDALONE=y
259CONFIG_PREVENT_FIRMWARE_BUILD=y
260# CONFIG_FW_LOADER is not set
261# CONFIG_DEBUG_DRIVER is not set
262# CONFIG_DEBUG_DEVRES is not set
263# CONFIG_SYS_HYPERVISOR is not set
264# CONFIG_CONNECTOR is not set
265# CONFIG_MTD is not set
266# CONFIG_PARPORT is not set
267CONFIG_BLK_DEV=y
268# CONFIG_BLK_DEV_COW_COMMON is not set
269CONFIG_BLK_DEV_LOOP=y
270# CONFIG_BLK_DEV_CRYPTOLOOP is not set
271# CONFIG_BLK_DEV_NBD is not set
272CONFIG_BLK_DEV_RAM=y
273CONFIG_BLK_DEV_RAM_COUNT=16
274CONFIG_BLK_DEV_RAM_SIZE=4096
275CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
276# CONFIG_CDROM_PKTCDVD is not set
277# CONFIG_ATA_OVER_ETH is not set
278CONFIG_MISC_DEVICES=y
279# CONFIG_EEPROM_93CX6 is not set
280# CONFIG_IDE is not set
281
282#
283# SCSI device support
284#
285# CONFIG_RAID_ATTRS is not set
286CONFIG_SCSI=y
287CONFIG_SCSI_DMA=y
288# CONFIG_SCSI_TGT is not set
289# CONFIG_SCSI_NETLINK is not set
290CONFIG_SCSI_PROC_FS=y
291
292#
293# SCSI support type (disk, tape, CD-ROM)
294#
295CONFIG_BLK_DEV_SD=y
296# CONFIG_CHR_DEV_ST is not set
297# CONFIG_CHR_DEV_OSST is not set
298# CONFIG_BLK_DEV_SR is not set
299# CONFIG_CHR_DEV_SG is not set
300# CONFIG_CHR_DEV_SCH is not set
301
302#
303# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
304#
305CONFIG_SCSI_MULTI_LUN=y
306# CONFIG_SCSI_CONSTANTS is not set
307# CONFIG_SCSI_LOGGING is not set
308# CONFIG_SCSI_SCAN_ASYNC is not set
309
310#
311# SCSI Transports
312#
313CONFIG_SCSI_SPI_ATTRS=y
314# CONFIG_SCSI_FC_ATTRS is not set
315# CONFIG_SCSI_ISCSI_ATTRS is not set
316# CONFIG_SCSI_SAS_LIBSAS is not set
317CONFIG_SCSI_LOWLEVEL=y
318# CONFIG_ISCSI_TCP is not set
319# CONFIG_SCSI_DEBUG is not set
320# CONFIG_ATA is not set
321# CONFIG_MD is not set
322CONFIG_NETDEVICES=y
323# CONFIG_NETDEVICES_MULTIQUEUE is not set
324# CONFIG_DUMMY is not set
325# CONFIG_BONDING is not set
326# CONFIG_MACVLAN is not set
327# CONFIG_EQUALIZER is not set
328# CONFIG_TUN is not set
329# CONFIG_PHYLIB is not set
330CONFIG_NET_ETHERNET=y
331# CONFIG_MII is not set
332# CONFIG_STNIC is not set
333# CONFIG_SMC91X is not set
334CONFIG_NETDEV_1000=y
335CONFIG_NETDEV_10000=y
336
337#
338# Wireless LAN
339#
340# CONFIG_WLAN_PRE80211 is not set
341# CONFIG_WLAN_80211 is not set
342# CONFIG_WAN is not set
343# CONFIG_PPP is not set
344# CONFIG_SLIP is not set
345# CONFIG_SHAPER is not set
346# CONFIG_NETCONSOLE is not set
347# CONFIG_NETPOLL is not set
348# CONFIG_NET_POLL_CONTROLLER is not set
349# CONFIG_ISDN is not set
350# CONFIG_PHONE is not set
351
352#
353# Input device support
354#
355CONFIG_INPUT=y
356# CONFIG_INPUT_FF_MEMLESS is not set
357# CONFIG_INPUT_POLLDEV is not set
358
359#
360# Userland interfaces
361#
362CONFIG_INPUT_MOUSEDEV=y
363# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
364CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
365CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
366# CONFIG_INPUT_JOYDEV is not set
367# CONFIG_INPUT_TSDEV is not set
368# CONFIG_INPUT_EVDEV is not set
369# CONFIG_INPUT_EVBUG is not set
370
371#
372# Input Device Drivers
373#
374# CONFIG_INPUT_KEYBOARD is not set
375# CONFIG_INPUT_MOUSE is not set
376# CONFIG_INPUT_JOYSTICK is not set
377# CONFIG_INPUT_TABLET is not set
378# CONFIG_INPUT_TOUCHSCREEN is not set
379# CONFIG_INPUT_MISC is not set
380
381#
382# Hardware I/O ports
383#
384# CONFIG_SERIO is not set
385# CONFIG_GAMEPORT is not set
386
387#
388# Character devices
389#
390CONFIG_VT=y
391CONFIG_VT_CONSOLE=y
392CONFIG_HW_CONSOLE=y
393# CONFIG_VT_HW_CONSOLE_BINDING is not set
394# CONFIG_SERIAL_NONSTANDARD is not set
395
396#
397# Serial drivers
398#
399# CONFIG_SERIAL_8250 is not set
400
401#
402# Non-8250 serial port support
403#
404CONFIG_SERIAL_SH_SCI=y
405CONFIG_SERIAL_SH_SCI_NR_UARTS=2
406CONFIG_SERIAL_SH_SCI_CONSOLE=y
407CONFIG_SERIAL_CORE=y
408CONFIG_SERIAL_CORE_CONSOLE=y
409CONFIG_UNIX98_PTYS=y
410CONFIG_LEGACY_PTYS=y
411CONFIG_LEGACY_PTY_COUNT=256
412# CONFIG_IPMI_HANDLER is not set
413CONFIG_WATCHDOG=y
414# CONFIG_WATCHDOG_NOWAYOUT is not set
415
416#
417# Watchdog Device Drivers
418#
419# CONFIG_SOFT_WATCHDOG is not set
420CONFIG_HW_RANDOM=y
421# CONFIG_R3964 is not set
422# CONFIG_RAW_DRIVER is not set
423# CONFIG_TCG_TPM is not set
424# CONFIG_I2C is not set
425
426#
427# SPI support
428#
429# CONFIG_SPI is not set
430# CONFIG_SPI_MASTER is not set
431# CONFIG_W1 is not set
432# CONFIG_POWER_SUPPLY is not set
433CONFIG_HWMON=y
434# CONFIG_HWMON_VID is not set
435# CONFIG_SENSORS_ABITUGURU is not set
436# CONFIG_SENSORS_ABITUGURU3 is not set
437# CONFIG_SENSORS_F71805F is not set
438# CONFIG_SENSORS_IT87 is not set
439# CONFIG_SENSORS_PC87360 is not set
440# CONFIG_SENSORS_PC87427 is not set
441# CONFIG_SENSORS_SMSC47M1 is not set
442# CONFIG_SENSORS_SMSC47B397 is not set
443# CONFIG_SENSORS_VT1211 is not set
444# CONFIG_SENSORS_W83627HF is not set
445# CONFIG_SENSORS_W83627EHF is not set
446# CONFIG_HWMON_DEBUG_CHIP is not set
447
448#
449# Multifunction device drivers
450#
451# CONFIG_MFD_SM501 is not set
452
453#
454# Multimedia devices
455#
456# CONFIG_VIDEO_DEV is not set
457# CONFIG_DVB_CORE is not set
458CONFIG_DAB=y
459
460#
461# Graphics support
462#
463# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
464
465#
466# Display device support
467#
468# CONFIG_DISPLAY_SUPPORT is not set
469# CONFIG_VGASTATE is not set
470CONFIG_VIDEO_OUTPUT_CONTROL=y
471CONFIG_FB=y
472CONFIG_FIRMWARE_EDID=y
473# CONFIG_FB_DDC is not set
474# CONFIG_FB_CFB_FILLRECT is not set
475# CONFIG_FB_CFB_COPYAREA is not set
476# CONFIG_FB_CFB_IMAGEBLIT is not set
477# CONFIG_FB_SYS_FILLRECT is not set
478# CONFIG_FB_SYS_COPYAREA is not set
479# CONFIG_FB_SYS_IMAGEBLIT is not set
480# CONFIG_FB_SYS_FOPS is not set
481CONFIG_FB_DEFERRED_IO=y
482# CONFIG_FB_SVGALIB is not set
483# CONFIG_FB_MACMODES is not set
484# CONFIG_FB_BACKLIGHT is not set
485CONFIG_FB_MODE_HELPERS=y
486# CONFIG_FB_TILEBLITTING is not set
487
488#
489# Frame buffer hardware drivers
490#
491# CONFIG_FB_S1D13XXX is not set
492# CONFIG_FB_VIRTUAL is not set
493
494#
495# Console display driver support
496#
497CONFIG_DUMMY_CONSOLE=y
498CONFIG_FRAMEBUFFER_CONSOLE=y
499# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
500# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
501CONFIG_FONTS=y
502# CONFIG_FONT_8x8 is not set
503CONFIG_FONT_8x16=y
504# CONFIG_FONT_6x11 is not set
505# CONFIG_FONT_7x14 is not set
506# CONFIG_FONT_PEARL_8x8 is not set
507# CONFIG_FONT_ACORN_8x8 is not set
508# CONFIG_FONT_MINI_4x6 is not set
509# CONFIG_FONT_SUN8x16 is not set
510# CONFIG_FONT_SUN12x22 is not set
511# CONFIG_FONT_10x18 is not set
512CONFIG_LOGO=y
513# CONFIG_LOGO_LINUX_MONO is not set
514# CONFIG_LOGO_LINUX_VGA16 is not set
515# CONFIG_LOGO_LINUX_CLUT224 is not set
516# CONFIG_LOGO_SUPERH_MONO is not set
517# CONFIG_LOGO_SUPERH_VGA16 is not set
518CONFIG_LOGO_SUPERH_CLUT224=y
519
520#
521# Sound
522#
523# CONFIG_SOUND is not set
524CONFIG_HID_SUPPORT=y
525CONFIG_HID=y
526# CONFIG_HID_DEBUG is not set
527CONFIG_USB_SUPPORT=y
528CONFIG_USB_ARCH_HAS_HCD=y
529# CONFIG_USB_ARCH_HAS_OHCI is not set
530# CONFIG_USB_ARCH_HAS_EHCI is not set
531# CONFIG_USB is not set
532
533#
534# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
535#
536
537#
538# USB Gadget Support
539#
540# CONFIG_USB_GADGET is not set
541# CONFIG_MMC is not set
542# CONFIG_NEW_LEDS is not set
543# CONFIG_RTC_CLASS is not set
544
545#
546# DMA Engine support
547#
548# CONFIG_DMA_ENGINE is not set
549
550#
551# DMA Clients
552#
553
554#
555# DMA Devices
556#
557
558#
559# Userspace I/O
560#
561# CONFIG_UIO is not set
562
563#
564# File systems
565#
566CONFIG_EXT2_FS=y
567# CONFIG_EXT2_FS_XATTR is not set
568# CONFIG_EXT2_FS_XIP is not set
569CONFIG_EXT3_FS=y
570CONFIG_EXT3_FS_XATTR=y
571# CONFIG_EXT3_FS_POSIX_ACL is not set
572# CONFIG_EXT3_FS_SECURITY is not set
573# CONFIG_EXT4DEV_FS is not set
574CONFIG_JBD=y
575# CONFIG_JBD_DEBUG is not set
576CONFIG_FS_MBCACHE=y
577# CONFIG_REISERFS_FS is not set
578# CONFIG_JFS_FS is not set
579# CONFIG_FS_POSIX_ACL is not set
580# CONFIG_XFS_FS is not set
581# CONFIG_GFS2_FS is not set
582# CONFIG_OCFS2_FS is not set
583CONFIG_MINIX_FS=y
584CONFIG_ROMFS_FS=y
585CONFIG_INOTIFY=y
586CONFIG_INOTIFY_USER=y
587# CONFIG_QUOTA is not set
588CONFIG_DNOTIFY=y
589# CONFIG_AUTOFS_FS is not set
590# CONFIG_AUTOFS4_FS is not set
591# CONFIG_FUSE_FS is not set
592
593#
594# CD-ROM/DVD Filesystems
595#
596# CONFIG_ISO9660_FS is not set
597# CONFIG_UDF_FS is not set
598
599#
600# DOS/FAT/NT Filesystems
601#
602# CONFIG_MSDOS_FS is not set
603# CONFIG_VFAT_FS is not set
604# CONFIG_NTFS_FS is not set
605
606#
607# Pseudo filesystems
608#
609CONFIG_PROC_FS=y
610CONFIG_PROC_KCORE=y
611CONFIG_PROC_SYSCTL=y
612CONFIG_SYSFS=y
613CONFIG_TMPFS=y
614# CONFIG_TMPFS_POSIX_ACL is not set
615CONFIG_HUGETLBFS=y
616CONFIG_HUGETLB_PAGE=y
617CONFIG_RAMFS=y
618# CONFIG_CONFIGFS_FS is not set
619
620#
621# Miscellaneous filesystems
622#
623# CONFIG_ADFS_FS is not set
624# CONFIG_AFFS_FS is not set
625# CONFIG_HFS_FS is not set
626# CONFIG_HFSPLUS_FS is not set
627# CONFIG_BEFS_FS is not set
628# CONFIG_BFS_FS is not set
629# CONFIG_EFS_FS is not set
630# CONFIG_CRAMFS is not set
631# CONFIG_VXFS_FS is not set
632# CONFIG_HPFS_FS is not set
633# CONFIG_QNX4FS_FS is not set
634# CONFIG_SYSV_FS is not set
635# CONFIG_UFS_FS is not set
636
637#
638# Network File Systems
639#
640CONFIG_NFS_FS=y
641CONFIG_NFS_V3=y
642# CONFIG_NFS_V3_ACL is not set
643# CONFIG_NFS_V4 is not set
644# CONFIG_NFS_DIRECTIO is not set
645# CONFIG_NFSD is not set
646CONFIG_ROOT_NFS=y
647CONFIG_LOCKD=y
648CONFIG_LOCKD_V4=y
649CONFIG_NFS_COMMON=y
650CONFIG_SUNRPC=y
651# CONFIG_SUNRPC_BIND34 is not set
652# CONFIG_RPCSEC_GSS_KRB5 is not set
653# CONFIG_RPCSEC_GSS_SPKM3 is not set
654# CONFIG_SMB_FS is not set
655# CONFIG_CIFS is not set
656# CONFIG_NCP_FS is not set
657# CONFIG_CODA_FS is not set
658# CONFIG_AFS_FS is not set
659
660#
661# Partition Types
662#
663CONFIG_PARTITION_ADVANCED=y
664# CONFIG_ACORN_PARTITION is not set
665# CONFIG_OSF_PARTITION is not set
666# CONFIG_AMIGA_PARTITION is not set
667# CONFIG_ATARI_PARTITION is not set
668# CONFIG_MAC_PARTITION is not set
669CONFIG_MSDOS_PARTITION=y
670# CONFIG_BSD_DISKLABEL is not set
671# CONFIG_MINIX_SUBPARTITION is not set
672# CONFIG_SOLARIS_X86_PARTITION is not set
673# CONFIG_UNIXWARE_DISKLABEL is not set
674# CONFIG_LDM_PARTITION is not set
675# CONFIG_SGI_PARTITION is not set
676# CONFIG_ULTRIX_PARTITION is not set
677# CONFIG_SUN_PARTITION is not set
678# CONFIG_KARMA_PARTITION is not set
679# CONFIG_EFI_PARTITION is not set
680# CONFIG_SYSV68_PARTITION is not set
681
682#
683# Native Language Support
684#
685# CONFIG_NLS is not set
686
687#
688# Distributed Lock Manager
689#
690# CONFIG_DLM is not set
691
692#
693# Profiling support
694#
695# CONFIG_PROFILING is not set
696
697#
698# Kernel hacking
699#
700# CONFIG_PRINTK_TIME is not set
701CONFIG_ENABLE_MUST_CHECK=y
702CONFIG_MAGIC_SYSRQ=y
703# CONFIG_UNUSED_SYMBOLS is not set
704CONFIG_DEBUG_FS=y
705# CONFIG_HEADERS_CHECK is not set
706CONFIG_DEBUG_KERNEL=y
707# CONFIG_DEBUG_SHIRQ is not set
708CONFIG_DETECT_SOFTLOCKUP=y
709CONFIG_SCHED_DEBUG=y
710CONFIG_SCHEDSTATS=y
711# CONFIG_TIMER_STATS is not set
712# CONFIG_DEBUG_SLAB is not set
713# CONFIG_DEBUG_RT_MUTEXES is not set
714# CONFIG_RT_MUTEX_TESTER is not set
715# CONFIG_DEBUG_SPINLOCK is not set
716# CONFIG_DEBUG_MUTEXES is not set
717# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
718# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
719# CONFIG_DEBUG_KOBJECT is not set
720CONFIG_DEBUG_BUGVERBOSE=y
721# CONFIG_DEBUG_INFO is not set
722# CONFIG_DEBUG_VM is not set
723# CONFIG_DEBUG_LIST is not set
724CONFIG_FRAME_POINTER=y
725CONFIG_FORCED_INLINING=y
726# CONFIG_FAULT_INJECTION is not set
727# CONFIG_EARLY_PRINTK is not set
728# CONFIG_DEBUG_KERNEL_WITH_GDB_STUB is not set
729CONFIG_SH64_PROC_TLB=y
730CONFIG_SH64_PROC_ASIDS=y
731CONFIG_SH64_SR_WATCH=y
732# CONFIG_POOR_MANS_STRACE is not set
733# CONFIG_SH_ALPHANUMERIC is not set
734# CONFIG_SH_NO_BSS_INIT is not set
735
736#
737# Security options
738#
739# CONFIG_KEYS is not set
740# CONFIG_SECURITY is not set
741# CONFIG_CRYPTO is not set
742
743#
744# Library routines
745#
746CONFIG_BITREVERSE=y
747# CONFIG_CRC_CCITT is not set
748# CONFIG_CRC16 is not set
749# CONFIG_CRC_ITU_T is not set
750CONFIG_CRC32=y
751# CONFIG_CRC7 is not set
752# CONFIG_LIBCRC32C is not set
753CONFIG_PLIST=y
754CONFIG_HAS_IOMEM=y
755CONFIG_HAS_IOPORT=y
756CONFIG_HAS_DMA=y
diff --git a/arch/sh64/configs/sim_defconfig b/arch/sh64/configs/sim_defconfig
new file mode 100644
index 000000000000..f83bae659dc3
--- /dev/null
+++ b/arch/sh64/configs/sim_defconfig
@@ -0,0 +1,566 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.23-rc8
4# Mon Oct 1 17:50:35 2007
5#
6CONFIG_SUPERH=y
7CONFIG_SUPERH64=y
8CONFIG_MMU=y
9CONFIG_QUICKLIST=y
10CONFIG_RWSEM_GENERIC_SPINLOCK=y
11CONFIG_GENERIC_FIND_NEXT_BIT=y
12CONFIG_GENERIC_HWEIGHT=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_GENERIC_HARDIRQS=y
15CONFIG_GENERIC_IRQ_PROBE=y
16# CONFIG_ARCH_HAS_ILOG2_U32 is not set
17# CONFIG_ARCH_HAS_ILOG2_U64 is not set
18CONFIG_ARCH_NO_VIRT_TO_BUS=y
19CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
20
21#
22# General setup
23#
24CONFIG_EXPERIMENTAL=y
25CONFIG_BROKEN_ON_SMP=y
26CONFIG_LOCK_KERNEL=y
27CONFIG_INIT_ENV_ARG_LIMIT=32
28CONFIG_LOCALVERSION=""
29CONFIG_LOCALVERSION_AUTO=y
30CONFIG_SWAP=y
31# CONFIG_SYSVIPC is not set
32# CONFIG_BSD_PROCESS_ACCT is not set
33# CONFIG_USER_NS is not set
34# CONFIG_IKCONFIG is not set
35CONFIG_LOG_BUF_SHIFT=14
36CONFIG_SYSFS_DEPRECATED=y
37# CONFIG_RELAY is not set
38# CONFIG_BLK_DEV_INITRD is not set
39# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
40CONFIG_SYSCTL=y
41# CONFIG_EMBEDDED is not set
42CONFIG_UID16=y
43CONFIG_SYSCTL_SYSCALL=y
44CONFIG_KALLSYMS=y
45# CONFIG_KALLSYMS_ALL is not set
46# CONFIG_KALLSYMS_EXTRA_PASS is not set
47CONFIG_HOTPLUG=y
48CONFIG_PRINTK=y
49CONFIG_BUG=y
50CONFIG_ELF_CORE=y
51CONFIG_BASE_FULL=y
52CONFIG_FUTEX=y
53CONFIG_ANON_INODES=y
54CONFIG_EPOLL=y
55CONFIG_SIGNALFD=y
56CONFIG_EVENTFD=y
57CONFIG_SHMEM=y
58CONFIG_VM_EVENT_COUNTERS=y
59CONFIG_SLAB=y
60# CONFIG_SLUB is not set
61# CONFIG_SLOB is not set
62CONFIG_RT_MUTEXES=y
63# CONFIG_TINY_SHMEM is not set
64CONFIG_BASE_SMALL=0
65# CONFIG_MODULES is not set
66CONFIG_BLOCK=y
67# CONFIG_LBD is not set
68# CONFIG_BLK_DEV_IO_TRACE is not set
69# CONFIG_LSF is not set
70# CONFIG_BLK_DEV_BSG is not set
71
72#
73# IO Schedulers
74#
75CONFIG_IOSCHED_NOOP=y
76CONFIG_IOSCHED_AS=y
77CONFIG_IOSCHED_DEADLINE=y
78CONFIG_IOSCHED_CFQ=y
79# CONFIG_DEFAULT_AS is not set
80# CONFIG_DEFAULT_DEADLINE is not set
81CONFIG_DEFAULT_CFQ=y
82# CONFIG_DEFAULT_NOOP is not set
83CONFIG_DEFAULT_IOSCHED="cfq"
84
85#
86# System type
87#
88CONFIG_SH_SIMULATOR=y
89# CONFIG_SH_CAYMAN is not set
90# CONFIG_SH_HARP is not set
91CONFIG_CPU_SH5=y
92CONFIG_CPU_SUBTYPE_SH5_101=y
93# CONFIG_CPU_SUBTYPE_SH5_103 is not set
94CONFIG_LITTLE_ENDIAN=y
95# CONFIG_BIG_ENDIAN is not set
96CONFIG_SH_FPU=y
97# CONFIG_SH64_FPU_DENORM_FLUSH is not set
98CONFIG_SH64_PGTABLE_2_LEVEL=y
99# CONFIG_SH64_PGTABLE_3_LEVEL is not set
100CONFIG_HUGETLB_PAGE_SIZE_64K=y
101# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set
102# CONFIG_HUGETLB_PAGE_SIZE_512MB is not set
103CONFIG_SH64_USER_MISALIGNED_FIXUP=y
104
105#
106# Memory options
107#
108CONFIG_CACHED_MEMORY_OFFSET=0x20000000
109CONFIG_MEMORY_START=0x80000000
110CONFIG_MEMORY_SIZE_IN_MB=128
111
112#
113# Cache options
114#
115# CONFIG_DCACHE_WRITE_BACK is not set
116# CONFIG_DCACHE_WRITE_THROUGH is not set
117CONFIG_DCACHE_DISABLED=y
118# CONFIG_ICACHE_DISABLED is not set
119CONFIG_PCIDEVICE_MEMORY_START=C0000000
120CONFIG_DEVICE_MEMORY_START=E0000000
121CONFIG_FLASH_MEMORY_START=0x00000000
122CONFIG_PCI_BLOCK_START=0x40000000
123
124#
125# CPU Subtype specific options
126#
127CONFIG_SH64_ID2815_WORKAROUND=y
128
129#
130# Misc options
131#
132# CONFIG_SH_DMA is not set
133CONFIG_PREEMPT=y
134CONFIG_SELECT_MEMORY_MODEL=y
135CONFIG_FLATMEM_MANUAL=y
136# CONFIG_DISCONTIGMEM_MANUAL is not set
137# CONFIG_SPARSEMEM_MANUAL is not set
138CONFIG_FLATMEM=y
139CONFIG_FLAT_NODE_MEM_MAP=y
140# CONFIG_SPARSEMEM_STATIC is not set
141CONFIG_SPLIT_PTLOCK_CPUS=4
142# CONFIG_RESOURCES_64BIT is not set
143CONFIG_ZONE_DMA_FLAG=0
144CONFIG_NR_QUICK=1
145
146#
147# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
148#
149# CONFIG_ARCH_SUPPORTS_MSI is not set
150
151#
152# PCCARD (PCMCIA/CardBus) support
153#
154# CONFIG_PCCARD is not set
155
156#
157# Executable file formats
158#
159CONFIG_BINFMT_ELF=y
160# CONFIG_BINFMT_MISC is not set
161
162#
163# Networking
164#
165# CONFIG_NET is not set
166
167#
168# Device Drivers
169#
170
171#
172# Generic Driver Options
173#
174CONFIG_STANDALONE=y
175CONFIG_PREVENT_FIRMWARE_BUILD=y
176# CONFIG_FW_LOADER is not set
177# CONFIG_DEBUG_DRIVER is not set
178# CONFIG_DEBUG_DEVRES is not set
179# CONFIG_SYS_HYPERVISOR is not set
180# CONFIG_MTD is not set
181# CONFIG_PARPORT is not set
182# CONFIG_BLK_DEV is not set
183# CONFIG_MISC_DEVICES is not set
184# CONFIG_IDE is not set
185
186#
187# SCSI device support
188#
189# CONFIG_RAID_ATTRS is not set
190CONFIG_SCSI=y
191CONFIG_SCSI_DMA=y
192# CONFIG_SCSI_TGT is not set
193# CONFIG_SCSI_NETLINK is not set
194CONFIG_SCSI_PROC_FS=y
195
196#
197# SCSI support type (disk, tape, CD-ROM)
198#
199CONFIG_BLK_DEV_SD=y
200# CONFIG_CHR_DEV_ST is not set
201# CONFIG_CHR_DEV_OSST is not set
202# CONFIG_BLK_DEV_SR is not set
203# CONFIG_CHR_DEV_SG is not set
204# CONFIG_CHR_DEV_SCH is not set
205
206#
207# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
208#
209CONFIG_SCSI_MULTI_LUN=y
210# CONFIG_SCSI_CONSTANTS is not set
211# CONFIG_SCSI_LOGGING is not set
212# CONFIG_SCSI_SCAN_ASYNC is not set
213
214#
215# SCSI Transports
216#
217CONFIG_SCSI_SPI_ATTRS=y
218# CONFIG_SCSI_FC_ATTRS is not set
219# CONFIG_SCSI_SAS_LIBSAS is not set
220CONFIG_SCSI_LOWLEVEL=y
221# CONFIG_SCSI_DEBUG is not set
222# CONFIG_ATA is not set
223# CONFIG_MD is not set
224# CONFIG_PHONE is not set
225
226#
227# Input device support
228#
229CONFIG_INPUT=y
230# CONFIG_INPUT_FF_MEMLESS is not set
231# CONFIG_INPUT_POLLDEV is not set
232
233#
234# Userland interfaces
235#
236CONFIG_INPUT_MOUSEDEV=y
237# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
238CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
239CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
240# CONFIG_INPUT_JOYDEV is not set
241# CONFIG_INPUT_TSDEV is not set
242# CONFIG_INPUT_EVDEV is not set
243# CONFIG_INPUT_EVBUG is not set
244
245#
246# Input Device Drivers
247#
248# CONFIG_INPUT_KEYBOARD is not set
249# CONFIG_INPUT_MOUSE is not set
250# CONFIG_INPUT_JOYSTICK is not set
251# CONFIG_INPUT_TABLET is not set
252# CONFIG_INPUT_TOUCHSCREEN is not set
253# CONFIG_INPUT_MISC is not set
254
255#
256# Hardware I/O ports
257#
258# CONFIG_SERIO is not set
259# CONFIG_GAMEPORT is not set
260
261#
262# Character devices
263#
264CONFIG_VT=y
265CONFIG_VT_CONSOLE=y
266CONFIG_HW_CONSOLE=y
267# CONFIG_VT_HW_CONSOLE_BINDING is not set
268# CONFIG_SERIAL_NONSTANDARD is not set
269
270#
271# Serial drivers
272#
273# CONFIG_SERIAL_8250 is not set
274
275#
276# Non-8250 serial port support
277#
278CONFIG_SERIAL_SH_SCI=y
279CONFIG_SERIAL_SH_SCI_NR_UARTS=2
280CONFIG_SERIAL_SH_SCI_CONSOLE=y
281CONFIG_SERIAL_CORE=y
282CONFIG_SERIAL_CORE_CONSOLE=y
283CONFIG_UNIX98_PTYS=y
284# CONFIG_LEGACY_PTYS is not set
285# CONFIG_IPMI_HANDLER is not set
286# CONFIG_WATCHDOG is not set
287# CONFIG_HW_RANDOM is not set
288# CONFIG_R3964 is not set
289# CONFIG_RAW_DRIVER is not set
290# CONFIG_TCG_TPM is not set
291# CONFIG_I2C is not set
292
293#
294# SPI support
295#
296# CONFIG_SPI is not set
297# CONFIG_SPI_MASTER is not set
298# CONFIG_W1 is not set
299# CONFIG_POWER_SUPPLY is not set
300# CONFIG_HWMON is not set
301
302#
303# Multifunction device drivers
304#
305# CONFIG_MFD_SM501 is not set
306
307#
308# Multimedia devices
309#
310# CONFIG_VIDEO_DEV is not set
311CONFIG_DAB=y
312
313#
314# Graphics support
315#
316# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
317
318#
319# Display device support
320#
321# CONFIG_DISPLAY_SUPPORT is not set
322# CONFIG_VGASTATE is not set
323CONFIG_VIDEO_OUTPUT_CONTROL=y
324CONFIG_FB=y
325CONFIG_FIRMWARE_EDID=y
326# CONFIG_FB_DDC is not set
327# CONFIG_FB_CFB_FILLRECT is not set
328# CONFIG_FB_CFB_COPYAREA is not set
329# CONFIG_FB_CFB_IMAGEBLIT is not set
330# CONFIG_FB_SYS_FILLRECT is not set
331# CONFIG_FB_SYS_COPYAREA is not set
332# CONFIG_FB_SYS_IMAGEBLIT is not set
333# CONFIG_FB_SYS_FOPS is not set
334CONFIG_FB_DEFERRED_IO=y
335# CONFIG_FB_SVGALIB is not set
336# CONFIG_FB_MACMODES is not set
337# CONFIG_FB_BACKLIGHT is not set
338CONFIG_FB_MODE_HELPERS=y
339# CONFIG_FB_TILEBLITTING is not set
340
341#
342# Frame buffer hardware drivers
343#
344# CONFIG_FB_S1D13XXX is not set
345# CONFIG_FB_VIRTUAL is not set
346
347#
348# Console display driver support
349#
350CONFIG_DUMMY_CONSOLE=y
351CONFIG_FRAMEBUFFER_CONSOLE=y
352# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set
353# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
354CONFIG_FONTS=y
355# CONFIG_FONT_8x8 is not set
356CONFIG_FONT_8x16=y
357# CONFIG_FONT_6x11 is not set
358# CONFIG_FONT_7x14 is not set
359# CONFIG_FONT_PEARL_8x8 is not set
360# CONFIG_FONT_ACORN_8x8 is not set
361# CONFIG_FONT_MINI_4x6 is not set
362# CONFIG_FONT_SUN8x16 is not set
363# CONFIG_FONT_SUN12x22 is not set
364# CONFIG_FONT_10x18 is not set
365CONFIG_LOGO=y
366# CONFIG_LOGO_LINUX_MONO is not set
367# CONFIG_LOGO_LINUX_VGA16 is not set
368# CONFIG_LOGO_LINUX_CLUT224 is not set
369# CONFIG_LOGO_SUPERH_MONO is not set
370# CONFIG_LOGO_SUPERH_VGA16 is not set
371CONFIG_LOGO_SUPERH_CLUT224=y
372
373#
374# Sound
375#
376# CONFIG_SOUND is not set
377# CONFIG_HID_SUPPORT is not set
378# CONFIG_USB_SUPPORT is not set
379# CONFIG_MMC is not set
380# CONFIG_NEW_LEDS is not set
381# CONFIG_RTC_CLASS is not set
382
383#
384# DMA Engine support
385#
386# CONFIG_DMA_ENGINE is not set
387
388#
389# DMA Clients
390#
391
392#
393# DMA Devices
394#
395
396#
397# Userspace I/O
398#
399# CONFIG_UIO is not set
400
401#
402# File systems
403#
404CONFIG_EXT2_FS=y
405# CONFIG_EXT2_FS_XATTR is not set
406# CONFIG_EXT2_FS_XIP is not set
407CONFIG_EXT3_FS=y
408CONFIG_EXT3_FS_XATTR=y
409# CONFIG_EXT3_FS_POSIX_ACL is not set
410# CONFIG_EXT3_FS_SECURITY is not set
411# CONFIG_EXT4DEV_FS is not set
412CONFIG_JBD=y
413# CONFIG_JBD_DEBUG is not set
414CONFIG_FS_MBCACHE=y
415# CONFIG_REISERFS_FS is not set
416# CONFIG_JFS_FS is not set
417# CONFIG_FS_POSIX_ACL is not set
418# CONFIG_XFS_FS is not set
419# CONFIG_GFS2_FS is not set
420CONFIG_MINIX_FS=y
421CONFIG_ROMFS_FS=y
422CONFIG_INOTIFY=y
423CONFIG_INOTIFY_USER=y
424# CONFIG_QUOTA is not set
425CONFIG_DNOTIFY=y
426# CONFIG_AUTOFS_FS is not set
427# CONFIG_AUTOFS4_FS is not set
428# CONFIG_FUSE_FS is not set
429
430#
431# CD-ROM/DVD Filesystems
432#
433# CONFIG_ISO9660_FS is not set
434# CONFIG_UDF_FS is not set
435
436#
437# DOS/FAT/NT Filesystems
438#
439# CONFIG_MSDOS_FS is not set
440# CONFIG_VFAT_FS is not set
441# CONFIG_NTFS_FS is not set
442
443#
444# Pseudo filesystems
445#
446CONFIG_PROC_FS=y
447CONFIG_PROC_KCORE=y
448CONFIG_PROC_SYSCTL=y
449CONFIG_SYSFS=y
450CONFIG_TMPFS=y
451# CONFIG_TMPFS_POSIX_ACL is not set
452CONFIG_HUGETLBFS=y
453CONFIG_HUGETLB_PAGE=y
454CONFIG_RAMFS=y
455# CONFIG_CONFIGFS_FS is not set
456
457#
458# Miscellaneous filesystems
459#
460# CONFIG_ADFS_FS is not set
461# CONFIG_AFFS_FS is not set
462# CONFIG_HFS_FS is not set
463# CONFIG_HFSPLUS_FS is not set
464# CONFIG_BEFS_FS is not set
465# CONFIG_BFS_FS is not set
466# CONFIG_EFS_FS is not set
467# CONFIG_CRAMFS is not set
468# CONFIG_VXFS_FS is not set
469# CONFIG_HPFS_FS is not set
470# CONFIG_QNX4FS_FS is not set
471# CONFIG_SYSV_FS is not set
472# CONFIG_UFS_FS is not set
473
474#
475# Partition Types
476#
477CONFIG_PARTITION_ADVANCED=y
478# CONFIG_ACORN_PARTITION is not set
479# CONFIG_OSF_PARTITION is not set
480# CONFIG_AMIGA_PARTITION is not set
481# CONFIG_ATARI_PARTITION is not set
482# CONFIG_MAC_PARTITION is not set
483CONFIG_MSDOS_PARTITION=y
484# CONFIG_BSD_DISKLABEL is not set
485# CONFIG_MINIX_SUBPARTITION is not set
486# CONFIG_SOLARIS_X86_PARTITION is not set
487# CONFIG_UNIXWARE_DISKLABEL is not set
488# CONFIG_LDM_PARTITION is not set
489# CONFIG_SGI_PARTITION is not set
490# CONFIG_ULTRIX_PARTITION is not set
491# CONFIG_SUN_PARTITION is not set
492# CONFIG_KARMA_PARTITION is not set
493# CONFIG_EFI_PARTITION is not set
494# CONFIG_SYSV68_PARTITION is not set
495
496#
497# Native Language Support
498#
499# CONFIG_NLS is not set
500
501#
502# Profiling support
503#
504CONFIG_PROFILING=y
505# CONFIG_OPROFILE is not set
506
507#
508# Kernel hacking
509#
510# CONFIG_PRINTK_TIME is not set
511CONFIG_ENABLE_MUST_CHECK=y
512CONFIG_MAGIC_SYSRQ=y
513# CONFIG_UNUSED_SYMBOLS is not set
514CONFIG_DEBUG_FS=y
515# CONFIG_HEADERS_CHECK is not set
516CONFIG_DEBUG_KERNEL=y
517# CONFIG_DEBUG_SHIRQ is not set
518CONFIG_DETECT_SOFTLOCKUP=y
519CONFIG_SCHED_DEBUG=y
520CONFIG_SCHEDSTATS=y
521# CONFIG_TIMER_STATS is not set
522# CONFIG_DEBUG_SLAB is not set
523# CONFIG_DEBUG_RT_MUTEXES is not set
524# CONFIG_RT_MUTEX_TESTER is not set
525# CONFIG_DEBUG_SPINLOCK is not set
526# CONFIG_DEBUG_MUTEXES is not set
527# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
528# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
529# CONFIG_DEBUG_KOBJECT is not set
530CONFIG_DEBUG_BUGVERBOSE=y
531# CONFIG_DEBUG_INFO is not set
532# CONFIG_DEBUG_VM is not set
533# CONFIG_DEBUG_LIST is not set
534CONFIG_FRAME_POINTER=y
535CONFIG_FORCED_INLINING=y
536# CONFIG_FAULT_INJECTION is not set
537# CONFIG_EARLY_PRINTK is not set
538# CONFIG_DEBUG_KERNEL_WITH_GDB_STUB is not set
539CONFIG_SH64_PROC_TLB=y
540CONFIG_SH64_PROC_ASIDS=y
541CONFIG_SH64_SR_WATCH=y
542# CONFIG_POOR_MANS_STRACE is not set
543# CONFIG_SH_ALPHANUMERIC is not set
544CONFIG_SH_NO_BSS_INIT=y
545
546#
547# Security options
548#
549# CONFIG_KEYS is not set
550# CONFIG_SECURITY is not set
551# CONFIG_CRYPTO is not set
552
553#
554# Library routines
555#
556CONFIG_BITREVERSE=y
557# CONFIG_CRC_CCITT is not set
558# CONFIG_CRC16 is not set
559# CONFIG_CRC_ITU_T is not set
560CONFIG_CRC32=y
561# CONFIG_CRC7 is not set
562# CONFIG_LIBCRC32C is not set
563CONFIG_PLIST=y
564CONFIG_HAS_IOMEM=y
565CONFIG_HAS_IOPORT=y
566CONFIG_HAS_DMA=y
diff --git a/arch/sh64/kernel/Makefile b/arch/sh64/kernel/Makefile
index 5816657c079c..e3467bda6167 100644
--- a/arch/sh64/kernel/Makefile
+++ b/arch/sh64/kernel/Makefile
@@ -25,7 +25,7 @@ obj-$(CONFIG_SH_DMA) += dma.o
25obj-$(CONFIG_SH_FPU) += fpu.o 25obj-$(CONFIG_SH_FPU) += fpu.o
26obj-$(CONFIG_EARLY_PRINTK) += early_printk.o 26obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
27obj-$(CONFIG_KALLSYMS) += unwind.o 27obj-$(CONFIG_KALLSYMS) += unwind.o
28obj-$(CONFIG_PCI) += pci-dma.o pcibios.o 28obj-$(CONFIG_PCI) += pcibios.o
29obj-$(CONFIG_MODULES) += module.o 29obj-$(CONFIG_MODULES) += module.o
30 30
31ifeq ($(CONFIG_PCI),y) 31ifeq ($(CONFIG_PCI),y)
diff --git a/arch/sh64/kernel/alphanum.c b/arch/sh64/kernel/alphanum.c
index 91707c1acd70..d1619d95fbaa 100644
--- a/arch/sh64/kernel/alphanum.c
+++ b/arch/sh64/kernel/alphanum.c
@@ -13,7 +13,6 @@
13#include <linux/sched.h> 13#include <linux/sched.h>
14 14
15void mach_alphanum(int pos, unsigned char val); 15void mach_alphanum(int pos, unsigned char val);
16void mach_led(int pos, int val);
17 16
18void print_seg(char *file, int line) 17void print_seg(char *file, int line)
19{ 18{
diff --git a/arch/sh64/kernel/sh_ksyms.c b/arch/sh64/kernel/sh_ksyms.c
index 461ea3de316f..b1705acc8e64 100644
--- a/arch/sh64/kernel/sh_ksyms.c
+++ b/arch/sh64/kernel/sh_ksyms.c
@@ -31,16 +31,11 @@ extern int dump_fpu(struct pt_regs *, elf_fpregset_t *);
31 31
32/* platform dependent support */ 32/* platform dependent support */
33EXPORT_SYMBOL(dump_fpu); 33EXPORT_SYMBOL(dump_fpu);
34EXPORT_SYMBOL(iounmap);
35EXPORT_SYMBOL(enable_irq);
36EXPORT_SYMBOL(disable_irq);
37EXPORT_SYMBOL(kernel_thread); 34EXPORT_SYMBOL(kernel_thread);
38 35
39/* Networking helper routines. */ 36/* Networking helper routines. */
40EXPORT_SYMBOL(csum_partial_copy_nocheck); 37EXPORT_SYMBOL(csum_partial_copy_nocheck);
41 38
42EXPORT_SYMBOL(strstr);
43
44#ifdef CONFIG_VT 39#ifdef CONFIG_VT
45EXPORT_SYMBOL(screen_info); 40EXPORT_SYMBOL(screen_info);
46#endif 41#endif
@@ -50,27 +45,18 @@ EXPORT_SYMBOL(__down_trylock);
50EXPORT_SYMBOL(__up); 45EXPORT_SYMBOL(__up);
51EXPORT_SYMBOL(__put_user_asm_l); 46EXPORT_SYMBOL(__put_user_asm_l);
52EXPORT_SYMBOL(__get_user_asm_l); 47EXPORT_SYMBOL(__get_user_asm_l);
53EXPORT_SYMBOL(memcmp); 48EXPORT_SYMBOL(__copy_user);
54EXPORT_SYMBOL(memcpy); 49EXPORT_SYMBOL(memcpy);
55EXPORT_SYMBOL(memset); 50EXPORT_SYMBOL(udelay);
56EXPORT_SYMBOL(memscan); 51EXPORT_SYMBOL(__udelay);
57EXPORT_SYMBOL(strchr); 52EXPORT_SYMBOL(ndelay);
58EXPORT_SYMBOL(strlen); 53EXPORT_SYMBOL(__ndelay);
59
60EXPORT_SYMBOL(flush_dcache_page); 54EXPORT_SYMBOL(flush_dcache_page);
61
62/* For ext3 */
63EXPORT_SYMBOL(sh64_page_clear); 55EXPORT_SYMBOL(sh64_page_clear);
64 56
65/* Ugh. These come in from libgcc.a at link time. */ 57/* Ugh. These come in from libgcc.a at link time. */
58#define DECLARE_EXPORT(name) extern void name(void);EXPORT_SYMBOL(name)
66 59
67extern void __sdivsi3(void); 60DECLARE_EXPORT(__sdivsi3);
68extern void __muldi3(void); 61DECLARE_EXPORT(__muldi3);
69extern void __udivsi3(void); 62DECLARE_EXPORT(__udivsi3);
70extern char __div_table;
71EXPORT_SYMBOL(__sdivsi3);
72EXPORT_SYMBOL(__muldi3);
73EXPORT_SYMBOL(__udivsi3);
74EXPORT_SYMBOL(__div_table);
75
76
diff --git a/arch/sh64/kernel/time.c b/arch/sh64/kernel/time.c
index b37f4f4981d2..06f3c179e345 100644
--- a/arch/sh64/kernel/time.c
+++ b/arch/sh64/kernel/time.c
@@ -476,8 +476,18 @@ static irqreturn_t sh64_rtc_interrupt(int irq, void *dev_id)
476 return IRQ_HANDLED; 476 return IRQ_HANDLED;
477} 477}
478 478
479static struct irqaction irq0 = { timer_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "timer", NULL, NULL}; 479static struct irqaction irq0 = {
480static struct irqaction irq1 = { sh64_rtc_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "rtc", NULL, NULL}; 480 .handler = timer_interrupt,
481 .flags = IRQF_DISABLED,
482 .mask = CPU_MASK_NONE,
483 .name = "timer",
484};
485static struct irqaction irq1 = {
486 .handler = sh64_rtc_interrupt,
487 .flags = IRQF_DISABLED,
488 .mask = CPU_MASK_NONE,
489 .name = "rtc",
490};
481 491
482void __init time_init(void) 492void __init time_init(void)
483{ 493{
diff --git a/arch/sh64/kernel/vmlinux.lds.S b/arch/sh64/kernel/vmlinux.lds.S
index 267b4f9af2e1..f533a064da5f 100644
--- a/arch/sh64/kernel/vmlinux.lds.S
+++ b/arch/sh64/kernel/vmlinux.lds.S
@@ -30,14 +30,6 @@
30#define LOAD_OFFSET CONFIG_CACHED_MEMORY_OFFSET 30#define LOAD_OFFSET CONFIG_CACHED_MEMORY_OFFSET
31#include <asm-generic/vmlinux.lds.h> 31#include <asm-generic/vmlinux.lds.h>
32 32
33#ifdef NOTDEF
34#ifdef CONFIG_LITTLE_ENDIAN
35OUTPUT_FORMAT("elf32-sh64l-linux", "elf32-sh64l-linux", "elf32-sh64l-linux")
36#else
37OUTPUT_FORMAT("elf32-sh64", "elf32-sh64", "elf32-sh64")
38#endif
39#endif
40
41OUTPUT_ARCH(sh:sh5) 33OUTPUT_ARCH(sh:sh5)
42 34
43#define C_PHYS(x) AT (ADDR(x) - LOAD_OFFSET) 35#define C_PHYS(x) AT (ADDR(x) - LOAD_OFFSET)
@@ -74,10 +66,12 @@ SECTIONS
74 __ex_table : C_PHYS(__ex_table) { *(__ex_table) } 66 __ex_table : C_PHYS(__ex_table) { *(__ex_table) }
75 __stop___ex_table = .; 67 __stop___ex_table = .;
76 68
77 RODATA
78
79 _etext = .; /* End of text section */ 69 _etext = .; /* End of text section */
80 70
71 NOTES
72
73 RODATA
74
81 .data : C_PHYS(.data) { /* Data */ 75 .data : C_PHYS(.data) { /* Data */
82 DATA_DATA 76 DATA_DATA
83 CONSTRUCTORS 77 CONSTRUCTORS
@@ -86,13 +80,9 @@ SECTIONS
86 . = ALIGN(PAGE_SIZE); 80 . = ALIGN(PAGE_SIZE);
87 .data.page_aligned : C_PHYS(.data.page_aligned) { *(.data.page_aligned) } 81 .data.page_aligned : C_PHYS(.data.page_aligned) { *(.data.page_aligned) }
88 82
89 . = ALIGN(PAGE_SIZE); 83 PERCPU(PAGE_SIZE)
90 __per_cpu_start = .; 84
91 .data.percpu : C_PHYS(.data.percpu) { 85 . = ALIGN(L1_CACHE_BYTES);
92 *(.data.percpu)
93 *(.data.percpu.shared_aligned)
94 }
95 __per_cpu_end = . ;
96 .data.cacheline_aligned : C_PHYS(.data.cacheline_aligned) { *(.data.cacheline_aligned) } 86 .data.cacheline_aligned : C_PHYS(.data.cacheline_aligned) { *(.data.cacheline_aligned) }
97 87
98 _edata = .; /* End of data section */ 88 _edata = .; /* End of data section */
@@ -145,38 +135,6 @@ SECTIONS
145 *(.exitcall.exit) 135 *(.exitcall.exit)
146 } 136 }
147 137
148 /* Stabs debugging sections. */ 138 STABS_DEBUG
149 .stab 0 : C_PHYS(.stab) { *(.stab) } 139 DWARF_DEBUG
150 .stabstr 0 : C_PHYS(.stabstr) { *(.stabstr) }
151 .stab.excl 0 : C_PHYS(.stab.excl) { *(.stab.excl) }
152 .stab.exclstr 0 : C_PHYS(.stab.exclstr) { *(.stab.exclstr) }
153 .stab.index 0 : C_PHYS(.stab.index) { *(.stab.index) }
154 .stab.indexstr 0 : C_PHYS(.stab.indexstr) { *(.stab.indexstr) }
155 .comment 0 : C_PHYS(.comment) { *(.comment) }
156 /* DWARF debug sections.
157 Symbols in the DWARF debugging section are relative to the beginning
158 of the section so we begin .debug at 0. */
159 /* DWARF 1 */
160 .debug 0 : C_PHYS(.debug) { *(.debug) }
161 .line 0 : C_PHYS(.line) { *(.line) }
162 /* GNU DWARF 1 extensions */
163 .debug_srcinfo 0 : C_PHYS(.debug_srcinfo) { *(.debug_srcinfo) }
164 .debug_sfnames 0 : C_PHYS(.debug_sfnames) { *(.debug_sfnames) }
165 /* DWARF 1.1 and DWARF 2 */
166 .debug_aranges 0 : C_PHYS(.debug_aranges) { *(.debug_aranges) }
167 .debug_pubnames 0 : C_PHYS(.debug_pubnames) { *(.debug_pubnames) }
168 /* DWARF 2 */
169 .debug_info 0 : C_PHYS(.debug_info) { *(.debug_info) }
170 .debug_abbrev 0 : C_PHYS(.debug_abbrev) { *(.debug_abbrev) }
171 .debug_line 0 : C_PHYS(.debug_line) { *(.debug_line) }
172 .debug_frame 0 : C_PHYS(.debug_frame) { *(.debug_frame) }
173 .debug_str 0 : C_PHYS(.debug_str) { *(.debug_str) }
174 .debug_loc 0 : C_PHYS(.debug_loc) { *(.debug_loc) }
175 .debug_macinfo 0 : C_PHYS(.debug_macinfo) { *(.debug_macinfo) }
176 /* SGI/MIPS DWARF 2 extensions */
177 .debug_weaknames 0 : C_PHYS(.debug_weaknames) { *(.debug_weaknames) }
178 .debug_funcnames 0 : C_PHYS(.debug_funcnames) { *(.debug_funcnames) }
179 .debug_typenames 0 : C_PHYS(.debug_typenames) { *(.debug_typenames) }
180 .debug_varnames 0 : C_PHYS(.debug_varnames) { *(.debug_varnames) }
181 /* These must appear regardless of . */
182} 140}
diff --git a/arch/sh64/lib/c-checksum.c b/arch/sh64/lib/c-checksum.c
index bd5501760240..053137abd8a0 100644
--- a/arch/sh64/lib/c-checksum.c
+++ b/arch/sh64/lib/c-checksum.c
@@ -10,6 +10,7 @@
10#include <linux/string.h> 10#include <linux/string.h>
11#include <linux/errno.h> 11#include <linux/errno.h>
12#include <linux/kernel.h> 12#include <linux/kernel.h>
13#include <linux/module.h>
13#include <asm/byteorder.h> 14#include <asm/byteorder.h>
14#include <asm/uaccess.h> 15#include <asm/uaccess.h>
15 16
@@ -110,7 +111,7 @@ static unsigned long do_csum(const unsigned char *buff, int len)
110 if (odd) 111 if (odd)
111 result = ((result >> 8) & 0xff) | ((result & 0xff) << 8); 112 result = ((result >> 8) & 0xff) | ((result & 0xff) << 8);
112 113
113 pr_debug("\nCHECKSUM is 0x%x\n", result); 114 pr_debug("\nCHECKSUM is 0x%lx\n", result);
114 115
115 out: 116 out:
116 return result; 117 return result;
diff --git a/arch/sh64/lib/io.c b/arch/sh64/lib/io.c
index 587baa3dffb9..a3f3a2b8e25b 100644
--- a/arch/sh64/lib/io.c
+++ b/arch/sh64/lib/io.c
@@ -11,30 +11,11 @@
11#include <linux/kernel.h> 11#include <linux/kernel.h>
12#include <linux/types.h> 12#include <linux/types.h>
13#include <linux/delay.h> 13#include <linux/delay.h>
14#include <linux/module.h>
14#include <asm/system.h> 15#include <asm/system.h>
15#include <asm/processor.h> 16#include <asm/processor.h>
16#include <asm/io.h> 17#include <asm/io.h>
17 18
18/*
19 * readX/writeX() are used to access memory mapped devices. On some
20 * architectures the memory mapped IO stuff needs to be accessed
21 * differently. On the SuperH architecture, we just read/write the
22 * memory location directly.
23 */
24
25/* This is horrible at the moment - needs more work to do something sensible */
26#define IO_DELAY()
27
28#define OUT_DELAY(x,type) \
29void out##x##_p(unsigned type value,unsigned long port){out##x(value,port);IO_DELAY();}
30
31#define IN_DELAY(x,type) \
32unsigned type in##x##_p(unsigned long port) {unsigned type tmp=in##x(port);IO_DELAY();return tmp;}
33
34#if 1
35OUT_DELAY(b, long) OUT_DELAY(w, long) OUT_DELAY(l, long)
36 IN_DELAY(b, long) IN_DELAY(w, long) IN_DELAY(l, long)
37#endif
38/* Now for the string version of these functions */ 19/* Now for the string version of these functions */
39void outsb(unsigned long port, const void *addr, unsigned long count) 20void outsb(unsigned long port, const void *addr, unsigned long count)
40{ 21{
@@ -45,6 +26,7 @@ void outsb(unsigned long port, const void *addr, unsigned long count)
45 outb(*p, port); 26 outb(*p, port);
46 } 27 }
47} 28}
29EXPORT_SYMBOL(outsb);
48 30
49void insb(unsigned long port, void *addr, unsigned long count) 31void insb(unsigned long port, void *addr, unsigned long count)
50{ 32{
@@ -55,6 +37,7 @@ void insb(unsigned long port, void *addr, unsigned long count)
55 *p = inb(port); 37 *p = inb(port);
56 } 38 }
57} 39}
40EXPORT_SYMBOL(insb);
58 41
59/* For the 16 and 32 bit string functions, we have to worry about alignment. 42/* For the 16 and 32 bit string functions, we have to worry about alignment.
60 * The SH does not do unaligned accesses, so we have to read as bytes and 43 * The SH does not do unaligned accesses, so we have to read as bytes and
@@ -74,6 +57,7 @@ void outsw(unsigned long port, const void *addr, unsigned long count)
74 outw(tmp, port); 57 outw(tmp, port);
75 } 58 }
76} 59}
60EXPORT_SYMBOL(outsw);
77 61
78void insw(unsigned long port, void *addr, unsigned long count) 62void insw(unsigned long port, void *addr, unsigned long count)
79{ 63{
@@ -87,6 +71,7 @@ void insw(unsigned long port, void *addr, unsigned long count)
87 p[1] = (tmp >> 8) & 0xff; 71 p[1] = (tmp >> 8) & 0xff;
88 } 72 }
89} 73}
74EXPORT_SYMBOL(insw);
90 75
91void outsl(unsigned long port, const void *addr, unsigned long count) 76void outsl(unsigned long port, const void *addr, unsigned long count)
92{ 77{
@@ -100,6 +85,7 @@ void outsl(unsigned long port, const void *addr, unsigned long count)
100 outl(tmp, port); 85 outl(tmp, port);
101 } 86 }
102} 87}
88EXPORT_SYMBOL(outsl);
103 89
104void insl(unsigned long port, void *addr, unsigned long count) 90void insl(unsigned long port, void *addr, unsigned long count)
105{ 91{
@@ -116,6 +102,7 @@ void insl(unsigned long port, void *addr, unsigned long count)
116 102
117 } 103 }
118} 104}
105EXPORT_SYMBOL(insl);
119 106
120void memcpy_toio(void __iomem *to, const void *from, long count) 107void memcpy_toio(void __iomem *to, const void *from, long count)
121{ 108{
@@ -126,6 +113,7 @@ void memcpy_toio(void __iomem *to, const void *from, long count)
126 writeb(*p++, to++); 113 writeb(*p++, to++);
127 } 114 }
128} 115}
116EXPORT_SYMBOL(memcpy_toio);
129 117
130void memcpy_fromio(void *to, void __iomem *from, long count) 118void memcpy_fromio(void *to, void __iomem *from, long count)
131{ 119{
@@ -137,3 +125,4 @@ void memcpy_fromio(void *to, void __iomem *from, long count)
137 from++; 125 from++;
138 } 126 }
139} 127}
128EXPORT_SYMBOL(memcpy_fromio);
diff --git a/arch/sh64/lib/iomap.c b/arch/sh64/lib/iomap.c
index 5cd3d5e9c762..253d1e351d49 100644
--- a/arch/sh64/lib/iomap.c
+++ b/arch/sh64/lib/iomap.c
@@ -17,12 +17,15 @@ ioport_map(unsigned long port, unsigned int len)
17{ 17{
18 return (void __iomem *)port; 18 return (void __iomem *)port;
19} 19}
20EXPORT_SYMBOL(ioport_map);
20 21
21void ioport_unmap(void __iomem *addr) 22void ioport_unmap(void __iomem *addr)
22{ 23{
23 /* Nothing .. */ 24 /* Nothing .. */
24} 25}
26EXPORT_SYMBOL(ioport_unmap);
25 27
28#ifdef CONFIG_PCI
26void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max) 29void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
27{ 30{
28 unsigned long start = pci_resource_start(dev, bar); 31 unsigned long start = pci_resource_start(dev, bar);
@@ -41,14 +44,11 @@ void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned long max)
41 /* What? */ 44 /* What? */
42 return NULL; 45 return NULL;
43} 46}
47EXPORT_SYMBOL(pci_iomap);
44 48
45void pci_iounmap(struct pci_dev *dev, void __iomem *addr) 49void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
46{ 50{
47 /* Nothing .. */ 51 /* Nothing .. */
48} 52}
49
50EXPORT_SYMBOL(ioport_map);
51EXPORT_SYMBOL(ioport_unmap);
52EXPORT_SYMBOL(pci_iomap);
53EXPORT_SYMBOL(pci_iounmap); 53EXPORT_SYMBOL(pci_iounmap);
54 54#endif
diff --git a/arch/sh64/mach-cayman/setup.c b/arch/sh64/mach-cayman/setup.c
index c3611cc2735f..726c520d7eb9 100644
--- a/arch/sh64/mach-cayman/setup.c
+++ b/arch/sh64/mach-cayman/setup.c
@@ -18,19 +18,11 @@
18 * lethal@linux-sh.org: 15th May 2003 18 * lethal@linux-sh.org: 15th May 2003
19 * Use the generic procfs cpuinfo interface, just return a valid board name. 19 * Use the generic procfs cpuinfo interface, just return a valid board name.
20 */ 20 */
21
22#include <linux/stddef.h>
23#include <linux/init.h> 21#include <linux/init.h>
24#include <linux/mm.h>
25#include <linux/bootmem.h>
26#include <linux/delay.h>
27#include <linux/kernel.h> 22#include <linux/kernel.h>
28#include <linux/seq_file.h>
29#include <asm/processor.h>
30#include <asm/platform.h> 23#include <asm/platform.h>
31#include <asm/io.h>
32#include <asm/irq.h> 24#include <asm/irq.h>
33#include <asm/page.h> 25#include <asm/io.h>
34 26
35/* 27/*
36 * Platform Dependent Interrupt Priorities. 28 * Platform Dependent Interrupt Priorities.
diff --git a/arch/sh64/mach-harp/Makefile b/arch/sh64/mach-harp/Makefile
index 63f065bad2f9..2f2963fa2131 100644
--- a/arch/sh64/mach-harp/Makefile
+++ b/arch/sh64/mach-harp/Makefile
@@ -1,14 +1 @@
1#
2# Makefile for the ST50 Harp specific parts of the kernel
3#
4# Note! Dependencies are done automagically by 'make dep', which also
5# removes any old dependencies. DON'T put your own dependencies here
6# unless it's something special (ie not a .c file).
7#
8
9O_TARGET := harp.o
10
11obj-y := setup.o obj-y := setup.o
12
13include $(TOPDIR)/Rules.make
14
diff --git a/arch/sh64/mach-harp/setup.c b/arch/sh64/mach-harp/setup.c
index fcd90afac297..05011cb369bb 100644
--- a/arch/sh64/mach-harp/setup.c
+++ b/arch/sh64/mach-harp/setup.c
@@ -17,20 +17,10 @@
17 * lethal@linux-sh.org: 15th May 2003 17 * lethal@linux-sh.org: 15th May 2003
18 * Use the generic procfs cpuinfo interface, just return a valid board name. 18 * Use the generic procfs cpuinfo interface, just return a valid board name.
19 */ 19 */
20
21#include <linux/stddef.h>
22#include <linux/init.h> 20#include <linux/init.h>
23#include <linux/mm.h>
24#include <linux/bootmem.h>
25#include <linux/delay.h>
26#include <linux/kernel.h> 21#include <linux/kernel.h>
27#include <asm/processor.h>
28#include <asm/platform.h> 22#include <asm/platform.h>
29#include <asm/io.h>
30#include <asm/irq.h> 23#include <asm/irq.h>
31#include <asm/page.h>
32
33#define RES_COUNT(res) ((sizeof((res))/sizeof(struct resource)))
34 24
35/* 25/*
36 * Platform Dependent Interrupt Priorities. 26 * Platform Dependent Interrupt Priorities.
@@ -78,8 +68,10 @@ struct resource io_resources[] = {
78}; 68};
79 69
80struct resource kram_resources[] = { 70struct resource kram_resources[] = {
81 { "Kernel code", 0, 0 }, /* These must be last in the array */ 71 /* These must be last in the array */
82 { "Kernel data", 0, 0 } /* These must be last in the array */ 72 { .name = "Kernel code", .start = 0, .end = 0 },
73 /* These must be last in the array */
74 { .name = "Kernel data", .start = 0, .end = 0 }
83}; 75};
84 76
85struct resource xram_resources[] = { 77struct resource xram_resources[] = {
@@ -95,13 +87,13 @@ struct sh64_platform platform_parms = {
95 .initial_root_dev = 0x0100, 87 .initial_root_dev = 0x0100,
96 .loader_type = 1, 88 .loader_type = 1,
97 .io_res_p = io_resources, 89 .io_res_p = io_resources,
98 .io_res_count = RES_COUNT(io_resources), 90 .io_res_count = ARRAY_SIZE(io_resources),
99 .kram_res_p = kram_resources, 91 .kram_res_p = kram_resources,
100 .kram_res_count = RES_COUNT(kram_resources), 92 .kram_res_count = ARRAY_SIZE(kram_resources),
101 .xram_res_p = xram_resources, 93 .xram_res_p = xram_resources,
102 .xram_res_count = RES_COUNT(xram_resources), 94 .xram_res_count = ARRAY_SIZE(xram_resources),
103 .rom_res_p = rom_resources, 95 .rom_res_p = rom_resources,
104 .rom_res_count = RES_COUNT(rom_resources), 96 .rom_res_count = ARRAY_SIZE(rom_resources),
105}; 97};
106 98
107int platform_int_priority[NR_INTC_IRQS] = { 99int platform_int_priority[NR_INTC_IRQS] = {
@@ -135,4 +127,3 @@ const char *get_system_type(void)
135{ 127{
136 return "ST50 Harp"; 128 return "ST50 Harp";
137} 129}
138
diff --git a/arch/sh64/mach-romram/Makefile b/arch/sh64/mach-romram/Makefile
deleted file mode 100644
index 02d05c05afa1..000000000000
--- a/arch/sh64/mach-romram/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
1#
2# Makefile for the SH-5 ROM/RAM specific parts of the kernel
3#
4# Note! Dependencies are done automagically by 'make dep', which also
5# removes any old dependencies. DON'T put your own dependencies here
6# unless it's something special (ie not a .c file).
7#
8
9O_TARGET := romram.o
10
11obj-y := setup.o
12
13include $(TOPDIR)/Rules.make
14
diff --git a/arch/sh64/mach-romram/setup.c b/arch/sh64/mach-romram/setup.c
deleted file mode 100644
index eb98a1640cc1..000000000000
--- a/arch/sh64/mach-romram/setup.c
+++ /dev/null
@@ -1,141 +0,0 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * arch/sh64/mach-romram/setup.c
7 *
8 * SH-5 ROM/RAM Platform Support
9 *
10 * This file handles the architecture-dependent parts of initialization
11 *
12 * Copyright (C) 2000, 2001 Paolo Alberelli
13 *
14 * benedict.gaster@superh.com: 3rd May 2002
15 * Added support for ramdisk, removing statically linked romfs at the same time. *
16 *
17 * lethal@linux-sh.org: 15th May 2003
18 * Use the generic procfs cpuinfo interface, just return a valid board name.
19 *
20 * Sean.McGoogan@superh.com 17th Feb 2004
21 * copied from arch/sh64/mach-harp/setup.c
22 */
23
24#include <linux/stddef.h>
25#include <linux/init.h>
26#include <linux/mm.h>
27#include <linux/bootmem.h>
28#include <linux/delay.h>
29#include <linux/kernel.h>
30#include <asm/processor.h>
31#include <asm/platform.h>
32#include <asm/io.h>
33#include <asm/irq.h>
34#include <asm/page.h>
35
36#define RES_COUNT(res) ((sizeof((res))/sizeof(struct resource)))
37
38/*
39 * Platform Dependent Interrupt Priorities.
40 */
41
42/* Using defaults defined in irq.h */
43#define RES NO_PRIORITY /* Disabled */
44#define IR0 IRL0_PRIORITY /* IRLs */
45#define IR1 IRL1_PRIORITY
46#define IR2 IRL2_PRIORITY
47#define IR3 IRL3_PRIORITY
48#define PCA INTA_PRIORITY /* PCI Ints */
49#define PCB INTB_PRIORITY
50#define PCC INTC_PRIORITY
51#define PCD INTD_PRIORITY
52#define SER TOP_PRIORITY
53#define ERR TOP_PRIORITY
54#define PW0 TOP_PRIORITY
55#define PW1 TOP_PRIORITY
56#define PW2 TOP_PRIORITY
57#define PW3 TOP_PRIORITY
58#define DM0 NO_PRIORITY /* DMA Ints */
59#define DM1 NO_PRIORITY
60#define DM2 NO_PRIORITY
61#define DM3 NO_PRIORITY
62#define DAE NO_PRIORITY
63#define TU0 TIMER_PRIORITY /* TMU Ints */
64#define TU1 NO_PRIORITY
65#define TU2 NO_PRIORITY
66#define TI2 NO_PRIORITY
67#define ATI NO_PRIORITY /* RTC Ints */
68#define PRI NO_PRIORITY
69#define CUI RTC_PRIORITY
70#define ERI SCIF_PRIORITY /* SCIF Ints */
71#define RXI SCIF_PRIORITY
72#define BRI SCIF_PRIORITY
73#define TXI SCIF_PRIORITY
74#define ITI TOP_PRIORITY /* WDT Ints */
75
76/*
77 * Platform dependent structures: maps and parms block.
78 */
79struct resource io_resources[] = {
80 /* To be updated with external devices */
81};
82
83struct resource kram_resources[] = {
84 { "Kernel code", 0, 0 }, /* These must be last in the array */
85 { "Kernel data", 0, 0 } /* These must be last in the array */
86};
87
88struct resource xram_resources[] = {
89 /* To be updated with external devices */
90};
91
92struct resource rom_resources[] = {
93 /* To be updated with external devices */
94};
95
96struct sh64_platform platform_parms = {
97 .readonly_rootfs = 1,
98 .initial_root_dev = 0x0100,
99 .loader_type = 1,
100 .io_res_p = io_resources,
101 .io_res_count = RES_COUNT(io_resources),
102 .kram_res_p = kram_resources,
103 .kram_res_count = RES_COUNT(kram_resources),
104 .xram_res_p = xram_resources,
105 .xram_res_count = RES_COUNT(xram_resources),
106 .rom_res_p = rom_resources,
107 .rom_res_count = RES_COUNT(rom_resources),
108};
109
110int platform_int_priority[NR_INTC_IRQS] = {
111 IR0, IR1, IR2, IR3, PCA, PCB, PCC, PCD, /* IRQ 0- 7 */
112 RES, RES, RES, RES, SER, ERR, PW3, PW2, /* IRQ 8-15 */
113 PW1, PW0, DM0, DM1, DM2, DM3, DAE, RES, /* IRQ 16-23 */
114 RES, RES, RES, RES, RES, RES, RES, RES, /* IRQ 24-31 */
115 TU0, TU1, TU2, TI2, ATI, PRI, CUI, ERI, /* IRQ 32-39 */
116 RXI, BRI, TXI, RES, RES, RES, RES, RES, /* IRQ 40-47 */
117 RES, RES, RES, RES, RES, RES, RES, RES, /* IRQ 48-55 */
118 RES, RES, RES, RES, RES, RES, RES, ITI, /* IRQ 56-63 */
119};
120
121void __init platform_setup(void)
122{
123 /* ROM/RAM platform leaves the decision to head.S, for now */
124 platform_parms.fpu_flags = fpu_in_use;
125}
126
127void __init platform_monitor(void)
128{
129 /* Nothing yet .. */
130}
131
132void __init platform_reserve(void)
133{
134 /* Nothing yet .. */
135}
136
137const char *get_system_type(void)
138{
139 return "ROM/RAM";
140}
141
diff --git a/arch/sh64/mach-sim/Makefile b/arch/sh64/mach-sim/Makefile
index 819c4078fdc6..2f2963fa2131 100644
--- a/arch/sh64/mach-sim/Makefile
+++ b/arch/sh64/mach-sim/Makefile
@@ -1,14 +1 @@
1#
2# Makefile for the SH-5 Simulator specific parts of the kernel
3#
4# Note! Dependencies are done automagically by 'make dep', which also
5# removes any old dependencies. DON'T put your own dependencies here
6# unless it's something special (ie not a .c file).
7#
8
9O_TARGET := sim.o
10
11obj-y := setup.o obj-y := setup.o
12
13include $(TOPDIR)/Rules.make
14
diff --git a/arch/sh64/mach-sim/setup.c b/arch/sh64/mach-sim/setup.c
index f09400c1ad1b..e3386ec1ce1f 100644
--- a/arch/sh64/mach-sim/setup.c
+++ b/arch/sh64/mach-sim/setup.c
@@ -14,46 +14,10 @@
14 * lethal@linux-sh.org: 15th May 2003 14 * lethal@linux-sh.org: 15th May 2003
15 * Use the generic procfs cpuinfo interface, just return a valid board name. 15 * Use the generic procfs cpuinfo interface, just return a valid board name.
16 */ 16 */
17
18#include <linux/stddef.h>
19#include <linux/init.h> 17#include <linux/init.h>
20#include <linux/mm.h>
21#include <linux/bootmem.h>
22#include <linux/delay.h>
23#include <linux/kernel.h> 18#include <linux/kernel.h>
24#include <asm/addrspace.h>
25#include <asm/processor.h>
26#include <asm/platform.h> 19#include <asm/platform.h>
27#include <asm/io.h>
28#include <asm/irq.h> 20#include <asm/irq.h>
29#include <asm/page.h>
30
31#ifdef CONFIG_BLK_DEV_INITRD
32#include "../rootfs/rootfs.h"
33#endif
34
35static __init void platform_monitor(void);
36static __init void platform_setup(void);
37static __init void platform_reserve(void);
38
39
40#define PHYS_MEMORY CONFIG_MEMORY_SIZE_IN_MB*1024*1024
41
42#if (PHYS_MEMORY < P1SEG_FOOTPRINT_RAM)
43#error "Invalid kernel configuration. Physical memory below footprint requirements."
44#endif
45
46#define RAM_DISK_START CONFIG_MEMORY_START+P1SEG_INITRD_BLOCK /* Top of 4MB */
47#ifdef PLATFORM_ROMFS_SIZE
48#define RAM_DISK_SIZE (PAGE_ALIGN(PLATFORM_ROMFS_SIZE)) /* Variable Top */
49#if ((RAM_DISK_START + RAM_DISK_SIZE) > (CONFIG_MEMORY_START + PHYS_MEMORY))
50#error "Invalid kernel configuration. ROM RootFS exceeding physical memory."
51#endif
52#else
53#define RAM_DISK_SIZE P1SEG_INITRD_BLOCK_SIZE /* Top of 4MB */
54#endif
55
56#define RES_COUNT(res) ((sizeof((res))/sizeof(struct resource)))
57 21
58/* 22/*
59 * Platform Dependent Interrupt Priorities. 23 * Platform Dependent Interrupt Priorities.
@@ -101,8 +65,10 @@ struct resource io_resources[] = {
101}; 65};
102 66
103struct resource kram_resources[] = { 67struct resource kram_resources[] = {
104 { "Kernel code", 0, 0 }, /* These must be last in the array */ 68 /* These must be last in the array */
105 { "Kernel data", 0, 0 } /* These must be last in the array */ 69 { .name = "Kernel code", .start = 0, .end = 0 },
70 /* These must be last in the array */
71 { .name = "Kernel data", .start = 0, .end = 0 }
106}; 72};
107 73
108struct resource xram_resources[] = { 74struct resource xram_resources[] = {
@@ -117,16 +83,14 @@ struct sh64_platform platform_parms = {
117 .readonly_rootfs = 1, 83 .readonly_rootfs = 1,
118 .initial_root_dev = 0x0100, 84 .initial_root_dev = 0x0100,
119 .loader_type = 1, 85 .loader_type = 1,
120 .initrd_start = RAM_DISK_START,
121 .initrd_size = RAM_DISK_SIZE,
122 .io_res_p = io_resources, 86 .io_res_p = io_resources,
123 .io_res_count = RES_COUNT(io_resources), 87 .io_res_count = ARRAY_SIZE(io_resources),
124 .kram_res_p = kram_resources, 88 .kram_res_p = kram_resources,
125 .kram_res_count = RES_COUNT(kram_resources), 89 .kram_res_count = ARRAY_SIZE(kram_resources),
126 .xram_res_p = xram_resources, 90 .xram_res_p = xram_resources,
127 .xram_res_count = RES_COUNT(xram_resources), 91 .xram_res_count = ARRAY_SIZE(xram_resources),
128 .rom_res_p = rom_resources, 92 .rom_res_p = rom_resources,
129 .rom_res_count = RES_COUNT(rom_resources), 93 .rom_res_count = ARRAY_SIZE(rom_resources),
130}; 94};
131 95
132int platform_int_priority[NR_IRQS] = { 96int platform_int_priority[NR_IRQS] = {
@@ -160,4 +124,3 @@ const char *get_system_type(void)
160{ 124{
161 return "SH-5 Simulator"; 125 return "SH-5 Simulator";
162} 126}
163
diff --git a/arch/sh64/mm/Makefile b/arch/sh64/mm/Makefile
index ff19378ac90a..d0e813632480 100644
--- a/arch/sh64/mm/Makefile
+++ b/arch/sh64/mm/Makefile
@@ -13,7 +13,8 @@
13# unless it's something special (ie not a .c file). 13# unless it's something special (ie not a .c file).
14# 14#
15 15
16obj-y := init.o fault.o ioremap.o extable.o cache.o tlbmiss.o tlb.o 16obj-y := cache.o consistent.o extable.o fault.o init.o ioremap.o \
17 tlbmiss.o tlb.o
17 18
18obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o 19obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
19 20
@@ -41,4 +42,3 @@ CFLAGS_tlbmiss.o += -ffixed-r7 \
41 -ffixed-r41 -ffixed-r42 -ffixed-r43 \ 42 -ffixed-r41 -ffixed-r42 -ffixed-r43 \
42 -ffixed-r60 -ffixed-r61 -ffixed-r62 \ 43 -ffixed-r60 -ffixed-r61 -ffixed-r62 \
43 -fomit-frame-pointer 44 -fomit-frame-pointer
44
diff --git a/arch/sh64/kernel/pci-dma.c b/arch/sh64/mm/consistent.c
index a9328f894755..8875a2a40da7 100644
--- a/arch/sh64/kernel/pci-dma.c
+++ b/arch/sh64/mm/consistent.c
@@ -11,6 +11,7 @@
11#include <linux/mm.h> 11#include <linux/mm.h>
12#include <linux/string.h> 12#include <linux/string.h>
13#include <linux/pci.h> 13#include <linux/pci.h>
14#include <linux/module.h>
14#include <asm/io.h> 15#include <asm/io.h>
15 16
16void *consistent_alloc(struct pci_dev *hwdev, size_t size, 17void *consistent_alloc(struct pci_dev *hwdev, size_t size,
@@ -36,6 +37,7 @@ void *consistent_alloc(struct pci_dev *hwdev, size_t size,
36 37
37 return vp; 38 return vp;
38} 39}
40EXPORT_SYMBOL(consistent_alloc);
39 41
40void consistent_free(struct pci_dev *hwdev, size_t size, 42void consistent_free(struct pci_dev *hwdev, size_t size,
41 void *vaddr, dma_addr_t dma_handle) 43 void *vaddr, dma_addr_t dma_handle)
@@ -47,4 +49,4 @@ void consistent_free(struct pci_dev *hwdev, size_t size,
47 49
48 iounmap(vaddr); 50 iounmap(vaddr);
49} 51}
50 52EXPORT_SYMBOL(consistent_free);
diff --git a/arch/sh64/mm/init.c b/arch/sh64/mm/init.c
index 559717f30d1f..21cf42de23e2 100644
--- a/arch/sh64/mm/init.c
+++ b/arch/sh64/mm/init.c
@@ -22,10 +22,6 @@
22#include <asm/pgtable.h> 22#include <asm/pgtable.h>
23#include <asm/tlb.h> 23#include <asm/tlb.h>
24 24
25#ifdef CONFIG_BLK_DEV_INITRD
26#include <linux/blk.h>
27#endif
28
29DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); 25DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
30 26
31/* 27/*
diff --git a/arch/sh64/mm/ioremap.c b/arch/sh64/mm/ioremap.c
index 990857756d44..535304e6601f 100644
--- a/arch/sh64/mm/ioremap.c
+++ b/arch/sh64/mm/ioremap.c
@@ -19,11 +19,12 @@
19#include <linux/sched.h> 19#include <linux/sched.h>
20#include <linux/string.h> 20#include <linux/string.h>
21#include <linux/io.h> 21#include <linux/io.h>
22#include <asm/pgalloc.h>
23#include <asm/tlbflush.h>
24#include <linux/ioport.h> 22#include <linux/ioport.h>
25#include <linux/bootmem.h> 23#include <linux/bootmem.h>
26#include <linux/proc_fs.h> 24#include <linux/proc_fs.h>
25#include <linux/module.h>
26#include <asm/pgalloc.h>
27#include <asm/tlbflush.h>
27 28
28static void shmedia_mapioaddr(unsigned long, unsigned long); 29static void shmedia_mapioaddr(unsigned long, unsigned long);
29static unsigned long shmedia_ioremap(struct resource *, u32, int); 30static unsigned long shmedia_ioremap(struct resource *, u32, int);
@@ -80,6 +81,7 @@ void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flag
80 } 81 }
81 return (void *) (offset + (char *)addr); 82 return (void *) (offset + (char *)addr);
82} 83}
84EXPORT_SYMBOL(__ioremap);
83 85
84void iounmap(void *addr) 86void iounmap(void *addr)
85{ 87{
@@ -94,6 +96,7 @@ void iounmap(void *addr)
94 96
95 kfree(area); 97 kfree(area);
96} 98}
99EXPORT_SYMBOL(iounmap);
97 100
98static struct resource shmedia_iomap = { 101static struct resource shmedia_iomap = {
99 .name = "shmedia_iomap", 102 .name = "shmedia_iomap",
diff --git a/include/asm-sh64/io.h b/include/asm-sh64/io.h
index 1f37b6931922..3de3ad99f457 100644
--- a/include/asm-sh64/io.h
+++ b/include/asm-sh64/io.h
@@ -119,6 +119,13 @@ void insw(unsigned long port, void *addr, unsigned long count);
119void outsl(unsigned long port, const void *addr, unsigned long count); 119void outsl(unsigned long port, const void *addr, unsigned long count);
120void insl(unsigned long port, void *addr, unsigned long count); 120void insl(unsigned long port, void *addr, unsigned long count);
121 121
122#define inb_p(addr) inb(addr)
123#define inw_p(addr) inw(addr)
124#define inl_p(addr) inl(addr)
125#define outb_p(x,addr) outb(x,addr)
126#define outw_p(x,addr) outw(x,addr)
127#define outl_p(x,addr) outl(x,addr)
128
122#define __raw_readb readb 129#define __raw_readb readb
123#define __raw_readw readw 130#define __raw_readw readw
124#define __raw_readl readl 131#define __raw_readl readl