aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-03 15:41:42 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-11-03 15:41:42 -0400
commit5c27d0f11e679e6e5b6b2047b8658409699d4a67 (patch)
tree605a63b8fbc45cf88c2905397727e6dade6b01b2 /arch
parent468f8afdf4f87378c7c7de1d636a9375fce4078d (diff)
parent352d281300df22c6d01cb550c6ac0336d977739d (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (24 commits) sh: Update r7785rp defconfig. sh: mach-type updates. sh: Fix up r7780rp highlander CF access size. sh: Terminate .eh_frame in VDSO with a 4-byte 0. sh: Correct SUBARCH matching. sh: Decouple 4k and soft/hardirq stacks. sh: Fix optimized __copy_user() movca.l usage. sh: Clean up SR.RB Kconfig mess. sh: Kill off dead ipr_irq_demux(). sh: Make SH7750 oprofile compile again. sh: Provide a __read_mostly section wrapper. sh: linker script tidying. sh: Move zero page param defs somewhere sensible. sh: Use generic SMP_CACHE_BYTES/L1_CACHE_ALIGN. sh: Kill off legacy embedded ramdisk section. sh: Fix up early mem cmdline parsing. sh: Enable USBF on MS7722SE. sh: Add resource of USBF for SH7722. maple: Fix maple bus compiler warning sh: fix zImage build with >=binutils-2.18 ...
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/Kconfig8
-rw-r--r--arch/sh/Kconfig.debug8
-rw-r--r--arch/sh/Makefile2
-rw-r--r--arch/sh/boards/renesas/r7780rp/setup.c71
-rw-r--r--arch/sh/boards/se/7722/setup.c4
-rw-r--r--arch/sh/configs/r7785rp_defconfig299
-rw-r--r--arch/sh/drivers/pci/pci-st40.c4
-rw-r--r--arch/sh/kernel/cpu/irq/ipr.c9
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7722.c27
-rw-r--r--arch/sh/kernel/irq.c8
-rw-r--r--arch/sh/kernel/setup.c46
-rw-r--r--arch/sh/kernel/vmlinux.lds.S201
-rw-r--r--arch/sh/kernel/vsyscall/vsyscall.lds.S5
-rw-r--r--arch/sh/mm/copy_page.S4
-rw-r--r--arch/sh/oprofile/op_model_sh7750.c22
-rw-r--r--arch/sh/tools/mach-types29
16 files changed, 369 insertions, 378 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index 247f8a65e733..22a3eb38438b 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -182,9 +182,7 @@ config CPU_HAS_IPR_IRQ
182 bool 182 bool
183 183
184config CPU_HAS_SR_RB 184config CPU_HAS_SR_RB
185 bool "CPU has SR.RB" 185 bool
186 depends on CPU_SH3 || CPU_SH4
187 default y
188 help 186 help
189 This will enable the use of SR.RB register bank usage. Processors 187 This will enable the use of SR.RB register bank usage. Processors
190 that are lacking this bit must have another method in place for 188 that are lacking this bit must have another method in place for
@@ -291,9 +289,7 @@ config SH_DREAMCAST
291 depends on CPU_SUBTYPE_SH7091 289 depends on CPU_SUBTYPE_SH7091
292 help 290 help
293 Select Dreamcast if configuring for a SEGA Dreamcast. 291 Select Dreamcast if configuring for a SEGA Dreamcast.
294 More information at 292 More information at <http://www.linux-sh.org>
295 <http://www.m17n.org/linux-sh/dreamcast/>. There is a
296 Dreamcast project is at <http://linuxdc.sourceforge.net/>.
297 293
298config SH_MPC1211 294config SH_MPC1211
299 bool "Interface MPC1211" 295 bool "Interface MPC1211"
diff --git a/arch/sh/Kconfig.debug b/arch/sh/Kconfig.debug
index b507b501f0cf..ab2f9f3c354c 100644
--- a/arch/sh/Kconfig.debug
+++ b/arch/sh/Kconfig.debug
@@ -86,6 +86,14 @@ config 4KSTACKS
86 on the VM subsystem for higher order allocations. This option 86 on the VM subsystem for higher order allocations. This option
87 will also use IRQ stacks to compensate for the reduced stackspace. 87 will also use IRQ stacks to compensate for the reduced stackspace.
88 88
89config IRQSTACKS
90 bool "Use separate kernel stacks when processing interrupts"
91 depends on DEBUG_KERNEL
92 help
93 If you say Y here the kernel will use separate kernel stacks
94 for handling hard and soft interrupts. This can help avoid
95 overflowing the process kernel stacks.
96
89config SH_KGDB 97config SH_KGDB
90 bool "Include KGDB kernel debugger" 98 bool "Include KGDB kernel debugger"
91 select FRAME_POINTER 99 select FRAME_POINTER
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 408342b175c8..e189fae8b60c 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -66,7 +66,7 @@ cflags-y += $(isaflags-y) -ffreestanding
66cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \ 66cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \
67 $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g') 67 $(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
68 68
69OBJCOPYFLAGS := -O binary -R .note -R .comment -R .stab -R .stabstr -S 69OBJCOPYFLAGS := -O binary -R .note -R .note.gnu.build-id -R .comment -R .stab -R .stabstr -S
70 70
71# 71#
72# arch/sh/defconfig doesn't reflect any real hardware, and as such should 72# arch/sh/defconfig doesn't reflect any real hardware, and as such should
diff --git a/arch/sh/boards/renesas/r7780rp/setup.c b/arch/sh/boards/renesas/r7780rp/setup.c
index afe9de73666a..0fdc0bc19145 100644
--- a/arch/sh/boards/renesas/r7780rp/setup.c
+++ b/arch/sh/boards/renesas/r7780rp/setup.c
@@ -16,6 +16,8 @@
16#include <linux/init.h> 16#include <linux/init.h>
17#include <linux/platform_device.h> 17#include <linux/platform_device.h>
18#include <linux/pata_platform.h> 18#include <linux/pata_platform.h>
19#include <linux/types.h>
20#include <net/ax88796.h>
19#include <asm/machvec.h> 21#include <asm/machvec.h>
20#include <asm/r7780rp.h> 22#include <asm/r7780rp.h>
21#include <asm/clock.h> 23#include <asm/clock.h>
@@ -136,11 +138,50 @@ static struct platform_device heartbeat_device = {
136 .resource = heartbeat_resources, 138 .resource = heartbeat_resources,
137}; 139};
138 140
141static struct ax_plat_data ax88796_platdata = {
142 .flags = AXFLG_HAS_93CX6,
143 .wordlength = 2,
144 .dcr_val = 0x1,
145 .rcr_val = 0x40,
146};
147
148static struct resource ax88796_resources[] = {
149 {
150#ifdef CONFIG_SH_R7780RP
151 .start = 0xa5800400,
152 .end = 0xa5800400 + (0x20 * 0x2) - 1,
153#else
154 .start = 0xa4100400,
155 .end = 0xa4100400 + (0x20 * 0x2) - 1,
156#endif
157 .flags = IORESOURCE_MEM,
158 },
159 {
160 .start = IRQ_AX88796,
161 .end = IRQ_AX88796,
162 .flags = IORESOURCE_IRQ,
163 },
164};
165
166static struct platform_device ax88796_device = {
167 .name = "ax88796",
168 .id = 0,
169
170 .dev = {
171 .platform_data = &ax88796_platdata,
172 },
173
174 .num_resources = ARRAY_SIZE(ax88796_resources),
175 .resource = ax88796_resources,
176};
177
178
139static struct platform_device *r7780rp_devices[] __initdata = { 179static struct platform_device *r7780rp_devices[] __initdata = {
140 &r8a66597_usb_host_device, 180 &r8a66597_usb_host_device,
141 &m66592_usb_peripheral_device, 181 &m66592_usb_peripheral_device,
142 &cf_ide_device, 182 &cf_ide_device,
143 &heartbeat_device, 183 &heartbeat_device,
184 &ax88796_device,
144}; 185};
145 186
146static int __init r7780rp_devices_setup(void) 187static int __init r7780rp_devices_setup(void)
@@ -183,6 +224,34 @@ static void r7780rp_power_off(void)
183 ctrl_outw(0x0001, PA_POFF); 224 ctrl_outw(0x0001, PA_POFF);
184} 225}
185 226
227static inline unsigned char is_ide_ioaddr(unsigned long addr)
228{
229 return ((cf_ide_resources[0].start <= addr &&
230 addr <= cf_ide_resources[0].end) ||
231 (cf_ide_resources[1].start <= addr &&
232 addr <= cf_ide_resources[1].end));
233}
234
235void highlander_writeb(u8 b, void __iomem *addr)
236{
237 unsigned long tmp = (unsigned long __force)addr;
238
239 if (is_ide_ioaddr(tmp))
240 ctrl_outw((u16)b, tmp);
241 else
242 ctrl_outb(b, tmp);
243}
244
245u8 highlander_readb(void __iomem *addr)
246{
247 unsigned long tmp = (unsigned long __force)addr;
248
249 if (is_ide_ioaddr(tmp))
250 return ctrl_inw(tmp) & 0xff;
251 else
252 return ctrl_inb(tmp);
253}
254
186/* 255/*
187 * Initialize the board 256 * Initialize the board
188 */ 257 */
@@ -267,4 +336,6 @@ static struct sh_machine_vector mv_highlander __initmv = {
267 .mv_setup = highlander_setup, 336 .mv_setup = highlander_setup,
268 .mv_init_irq = highlander_init_irq, 337 .mv_init_irq = highlander_init_irq,
269 .mv_irq_demux = highlander_irq_demux, 338 .mv_irq_demux = highlander_irq_demux,
339 .mv_readb = highlander_readb,
340 .mv_writeb = highlander_writeb,
270}; 341};
diff --git a/arch/sh/boards/se/7722/setup.c b/arch/sh/boards/se/7722/setup.c
index 03b63457e178..20f064083cc2 100644
--- a/arch/sh/boards/se/7722/setup.c
+++ b/arch/sh/boards/se/7722/setup.c
@@ -103,8 +103,8 @@ static void __init se7722_setup(char **cmdline_p)
103 103
104 ctrl_outl(0x00051001, MSTPCR0); 104 ctrl_outl(0x00051001, MSTPCR0);
105 ctrl_outl(0x00000000, MSTPCR1); 105 ctrl_outl(0x00000000, MSTPCR1);
106 /* KEYSC, VOU, BEU, CEU, VEU, VPU, LCDC */ 106 /* KEYSC, VOU, BEU, CEU, VEU, VPU, LCDC, USB */
107 ctrl_outl(0xffffbfC0, MSTPCR2); 107 ctrl_outl(0xffffb7c0, MSTPCR2);
108 108
109 ctrl_outw(0x0000, PORT_PECR); /* PORT E 1 = IRQ5 ,E 0 = BS */ 109 ctrl_outw(0x0000, PORT_PECR); /* PORT E 1 = IRQ5 ,E 0 = BS */
110 ctrl_outw(0x1000, PORT_PJCR); /* PORT J 1 = IRQ1,J 0 =IRQ0 */ 110 ctrl_outw(0x1000, PORT_PJCR); /* PORT J 1 = IRQ1,J 0 =IRQ0 */
diff --git a/arch/sh/configs/r7785rp_defconfig b/arch/sh/configs/r7785rp_defconfig
index 5c29338532da..158e03f0b1ef 100644
--- a/arch/sh/configs/r7785rp_defconfig
+++ b/arch/sh/configs/r7785rp_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-rc4 3# Linux kernel version: 2.6.24-rc1
4# Thu Jul 12 12:33:15 2007 4# Fri Nov 2 14:30:49 2007
5# 5#
6CONFIG_SUPERH=y 6CONFIG_SUPERH=y
7CONFIG_RWSEM_GENERIC_SPINLOCK=y 7CONFIG_RWSEM_GENERIC_SPINLOCK=y
@@ -13,39 +13,40 @@ CONFIG_GENERIC_IRQ_PROBE=y
13CONFIG_GENERIC_CALIBRATE_DELAY=y 13CONFIG_GENERIC_CALIBRATE_DELAY=y
14CONFIG_GENERIC_TIME=y 14CONFIG_GENERIC_TIME=y
15CONFIG_GENERIC_CLOCKEVENTS=y 15CONFIG_GENERIC_CLOCKEVENTS=y
16CONFIG_SYS_SUPPORTS_NUMA=y
16CONFIG_SYS_SUPPORTS_PCI=y 17CONFIG_SYS_SUPPORTS_PCI=y
17CONFIG_STACKTRACE_SUPPORT=y 18CONFIG_STACKTRACE_SUPPORT=y
18CONFIG_LOCKDEP_SUPPORT=y 19CONFIG_LOCKDEP_SUPPORT=y
19# CONFIG_ARCH_HAS_ILOG2_U32 is not set 20# CONFIG_ARCH_HAS_ILOG2_U32 is not set
20# CONFIG_ARCH_HAS_ILOG2_U64 is not set 21# CONFIG_ARCH_HAS_ILOG2_U64 is not set
22CONFIG_ARCH_NO_VIRT_TO_BUS=y
21CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 23CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
22 24
23# 25#
24# Code maturity level options 26# General setup
25# 27#
26CONFIG_EXPERIMENTAL=y 28CONFIG_EXPERIMENTAL=y
27CONFIG_BROKEN_ON_SMP=y 29CONFIG_BROKEN_ON_SMP=y
28CONFIG_LOCK_KERNEL=y 30CONFIG_LOCK_KERNEL=y
29CONFIG_INIT_ENV_ARG_LIMIT=32 31CONFIG_INIT_ENV_ARG_LIMIT=32
30
31#
32# General setup
33#
34CONFIG_LOCALVERSION="" 32CONFIG_LOCALVERSION=""
35CONFIG_LOCALVERSION_AUTO=y 33CONFIG_LOCALVERSION_AUTO=y
36CONFIG_SWAP=y 34CONFIG_SWAP=y
37CONFIG_SYSVIPC=y 35CONFIG_SYSVIPC=y
38# CONFIG_IPC_NS is not set
39CONFIG_SYSVIPC_SYSCTL=y 36CONFIG_SYSVIPC_SYSCTL=y
40# CONFIG_POSIX_MQUEUE is not set 37# CONFIG_POSIX_MQUEUE is not set
41CONFIG_BSD_PROCESS_ACCT=y 38CONFIG_BSD_PROCESS_ACCT=y
42# CONFIG_BSD_PROCESS_ACCT_V3 is not set 39# CONFIG_BSD_PROCESS_ACCT_V3 is not set
43# CONFIG_TASKSTATS is not set 40# CONFIG_TASKSTATS is not set
44# CONFIG_UTS_NS is not set 41# CONFIG_USER_NS is not set
45# CONFIG_AUDIT is not set 42# CONFIG_AUDIT is not set
46CONFIG_IKCONFIG=y 43CONFIG_IKCONFIG=y
47CONFIG_IKCONFIG_PROC=y 44CONFIG_IKCONFIG_PROC=y
48CONFIG_LOG_BUF_SHIFT=14 45CONFIG_LOG_BUF_SHIFT=14
46# CONFIG_CGROUPS is not set
47CONFIG_FAIR_GROUP_SCHED=y
48CONFIG_FAIR_USER_SCHED=y
49# CONFIG_FAIR_CGROUP_SCHED is not set
49# CONFIG_SYSFS_DEPRECATED is not set 50# CONFIG_SYSFS_DEPRECATED is not set
50# CONFIG_RELAY is not set 51# CONFIG_RELAY is not set
51# CONFIG_BLK_DEV_INITRD is not set 52# CONFIG_BLK_DEV_INITRD is not set
@@ -66,7 +67,6 @@ CONFIG_BASE_FULL=y
66CONFIG_ANON_INODES=y 67CONFIG_ANON_INODES=y
67# CONFIG_EPOLL is not set 68# CONFIG_EPOLL is not set
68CONFIG_SIGNALFD=y 69CONFIG_SIGNALFD=y
69CONFIG_TIMERFD=y
70CONFIG_EVENTFD=y 70CONFIG_EVENTFD=y
71CONFIG_SHMEM=y 71CONFIG_SHMEM=y
72CONFIG_VM_EVENT_COUNTERS=y 72CONFIG_VM_EVENT_COUNTERS=y
@@ -75,24 +75,17 @@ CONFIG_SLAB=y
75# CONFIG_SLOB is not set 75# CONFIG_SLOB is not set
76# CONFIG_TINY_SHMEM is not set 76# CONFIG_TINY_SHMEM is not set
77CONFIG_BASE_SMALL=0 77CONFIG_BASE_SMALL=0
78
79#
80# Loadable module support
81#
82CONFIG_MODULES=y 78CONFIG_MODULES=y
83CONFIG_MODULE_UNLOAD=y 79CONFIG_MODULE_UNLOAD=y
84# CONFIG_MODULE_FORCE_UNLOAD is not set 80# CONFIG_MODULE_FORCE_UNLOAD is not set
85# CONFIG_MODVERSIONS is not set 81# CONFIG_MODVERSIONS is not set
86# CONFIG_MODULE_SRCVERSION_ALL is not set 82# CONFIG_MODULE_SRCVERSION_ALL is not set
87CONFIG_KMOD=y 83CONFIG_KMOD=y
88
89#
90# Block layer
91#
92CONFIG_BLOCK=y 84CONFIG_BLOCK=y
93# CONFIG_LBD is not set 85# CONFIG_LBD is not set
94# CONFIG_BLK_DEV_IO_TRACE is not set 86# CONFIG_BLK_DEV_IO_TRACE is not set
95# CONFIG_LSF is not set 87# CONFIG_LSF is not set
88# CONFIG_BLK_DEV_BSG is not set
96 89
97# 90#
98# IO Schedulers 91# IO Schedulers
@@ -115,7 +108,6 @@ CONFIG_CPU_SH4A=y
115CONFIG_CPU_SHX2=y 108CONFIG_CPU_SHX2=y
116# CONFIG_CPU_SUBTYPE_SH7619 is not set 109# CONFIG_CPU_SUBTYPE_SH7619 is not set
117# CONFIG_CPU_SUBTYPE_SH7206 is not set 110# CONFIG_CPU_SUBTYPE_SH7206 is not set
118# CONFIG_CPU_SUBTYPE_SH7300 is not set
119# CONFIG_CPU_SUBTYPE_SH7705 is not set 111# CONFIG_CPU_SUBTYPE_SH7705 is not set
120# CONFIG_CPU_SUBTYPE_SH7706 is not set 112# CONFIG_CPU_SUBTYPE_SH7706 is not set
121# CONFIG_CPU_SUBTYPE_SH7707 is not set 113# CONFIG_CPU_SUBTYPE_SH7707 is not set
@@ -123,6 +115,7 @@ CONFIG_CPU_SHX2=y
123# CONFIG_CPU_SUBTYPE_SH7709 is not set 115# CONFIG_CPU_SUBTYPE_SH7709 is not set
124# CONFIG_CPU_SUBTYPE_SH7710 is not set 116# CONFIG_CPU_SUBTYPE_SH7710 is not set
125# CONFIG_CPU_SUBTYPE_SH7712 is not set 117# CONFIG_CPU_SUBTYPE_SH7712 is not set
118# CONFIG_CPU_SUBTYPE_SH7720 is not set
126# CONFIG_CPU_SUBTYPE_SH7750 is not set 119# CONFIG_CPU_SUBTYPE_SH7750 is not set
127# CONFIG_CPU_SUBTYPE_SH7091 is not set 120# CONFIG_CPU_SUBTYPE_SH7091 is not set
128# CONFIG_CPU_SUBTYPE_SH7750R is not set 121# CONFIG_CPU_SUBTYPE_SH7750R is not set
@@ -137,7 +130,6 @@ CONFIG_CPU_SHX2=y
137# CONFIG_CPU_SUBTYPE_SH7780 is not set 130# CONFIG_CPU_SUBTYPE_SH7780 is not set
138CONFIG_CPU_SUBTYPE_SH7785=y 131CONFIG_CPU_SUBTYPE_SH7785=y
139# CONFIG_CPU_SUBTYPE_SHX3 is not set 132# CONFIG_CPU_SUBTYPE_SHX3 is not set
140# CONFIG_CPU_SUBTYPE_SH73180 is not set
141# CONFIG_CPU_SUBTYPE_SH7343 is not set 133# CONFIG_CPU_SUBTYPE_SH7343 is not set
142# CONFIG_CPU_SUBTYPE_SH7722 is not set 134# CONFIG_CPU_SUBTYPE_SH7722 is not set
143 135
@@ -149,15 +141,17 @@ CONFIG_MMU=y
149CONFIG_PAGE_OFFSET=0x80000000 141CONFIG_PAGE_OFFSET=0x80000000
150CONFIG_MEMORY_START=0x08000000 142CONFIG_MEMORY_START=0x08000000
151CONFIG_MEMORY_SIZE=0x08000000 143CONFIG_MEMORY_SIZE=0x08000000
152CONFIG_32BIT=y 144# CONFIG_32BIT is not set
153# CONFIG_X2TLB is not set 145# CONFIG_X2TLB is not set
154CONFIG_VSYSCALL=y 146CONFIG_VSYSCALL=y
147# CONFIG_NUMA is not set
155CONFIG_ARCH_FLATMEM_ENABLE=y 148CONFIG_ARCH_FLATMEM_ENABLE=y
156CONFIG_ARCH_SPARSEMEM_ENABLE=y 149CONFIG_ARCH_SPARSEMEM_ENABLE=y
157CONFIG_ARCH_SPARSEMEM_DEFAULT=y 150CONFIG_ARCH_SPARSEMEM_DEFAULT=y
158CONFIG_MAX_ACTIVE_REGIONS=1 151CONFIG_MAX_ACTIVE_REGIONS=2
159CONFIG_ARCH_POPULATES_NODE_MAP=y 152CONFIG_ARCH_POPULATES_NODE_MAP=y
160CONFIG_ARCH_SELECT_MEMORY_MODEL=y 153CONFIG_ARCH_SELECT_MEMORY_MODEL=y
154CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
161CONFIG_PAGE_SIZE_4KB=y 155CONFIG_PAGE_SIZE_4KB=y
162# CONFIG_PAGE_SIZE_8KB is not set 156# CONFIG_PAGE_SIZE_8KB is not set
163# CONFIG_PAGE_SIZE_64KB is not set 157# CONFIG_PAGE_SIZE_64KB is not set
@@ -167,12 +161,14 @@ CONFIG_HUGETLB_PAGE_SIZE_1MB=y
167# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set 161# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set
168# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set 162# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set
169CONFIG_SELECT_MEMORY_MODEL=y 163CONFIG_SELECT_MEMORY_MODEL=y
170CONFIG_FLATMEM_MANUAL=y 164# CONFIG_FLATMEM_MANUAL is not set
171# CONFIG_DISCONTIGMEM_MANUAL is not set 165# CONFIG_DISCONTIGMEM_MANUAL is not set
172# CONFIG_SPARSEMEM_MANUAL is not set 166CONFIG_SPARSEMEM_MANUAL=y
173CONFIG_FLATMEM=y 167CONFIG_SPARSEMEM=y
174CONFIG_FLAT_NODE_MEM_MAP=y 168CONFIG_HAVE_MEMORY_PRESENT=y
175CONFIG_SPARSEMEM_STATIC=y 169CONFIG_SPARSEMEM_STATIC=y
170# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
171# CONFIG_MEMORY_HOTPLUG is not set
176CONFIG_SPLIT_PTLOCK_CPUS=4 172CONFIG_SPLIT_PTLOCK_CPUS=4
177# CONFIG_RESOURCES_64BIT is not set 173# CONFIG_RESOURCES_64BIT is not set
178CONFIG_ZONE_DMA_FLAG=0 174CONFIG_ZONE_DMA_FLAG=0
@@ -182,7 +178,9 @@ CONFIG_NR_QUICK=2
182# Cache configuration 178# Cache configuration
183# 179#
184# CONFIG_SH_DIRECT_MAPPED is not set 180# CONFIG_SH_DIRECT_MAPPED is not set
185# CONFIG_SH_WRITETHROUGH is not set 181CONFIG_CACHE_WRITEBACK=y
182# CONFIG_CACHE_WRITETHROUGH is not set
183# CONFIG_CACHE_OFF is not set
186 184
187# 185#
188# Processor features 186# Processor features
@@ -190,12 +188,11 @@ CONFIG_NR_QUICK=2
190CONFIG_CPU_LITTLE_ENDIAN=y 188CONFIG_CPU_LITTLE_ENDIAN=y
191# CONFIG_CPU_BIG_ENDIAN is not set 189# CONFIG_CPU_BIG_ENDIAN is not set
192CONFIG_SH_FPU=y 190CONFIG_SH_FPU=y
193# CONFIG_SH_DSP is not set
194CONFIG_SH_STORE_QUEUES=y 191CONFIG_SH_STORE_QUEUES=y
195CONFIG_CPU_HAS_INTEVT=y 192CONFIG_CPU_HAS_INTEVT=y
196CONFIG_CPU_HAS_INTC2_IRQ=y
197CONFIG_CPU_HAS_SR_RB=y 193CONFIG_CPU_HAS_SR_RB=y
198CONFIG_CPU_HAS_PTEA=y 194CONFIG_CPU_HAS_PTEA=y
195CONFIG_CPU_HAS_FPU=y
199 196
200# 197#
201# Board support 198# Board support
@@ -214,6 +211,7 @@ CONFIG_SH_PCLK_FREQ=50000000
214# CONFIG_TICK_ONESHOT is not set 211# CONFIG_TICK_ONESHOT is not set
215# CONFIG_NO_HZ is not set 212# CONFIG_NO_HZ is not set
216# CONFIG_HIGH_RES_TIMERS is not set 213# CONFIG_HIGH_RES_TIMERS is not set
214CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
217 215
218# 216#
219# CPU Frequency scaling 217# CPU Frequency scaling
@@ -249,6 +247,7 @@ CONFIG_KEXEC=y
249# CONFIG_PREEMPT_VOLUNTARY is not set 247# CONFIG_PREEMPT_VOLUNTARY is not set
250CONFIG_PREEMPT=y 248CONFIG_PREEMPT=y
251CONFIG_PREEMPT_BKL=y 249CONFIG_PREEMPT_BKL=y
250CONFIG_GUSA=y
252 251
253# 252#
254# Boot options 253# Boot options
@@ -268,10 +267,6 @@ CONFIG_PCI_AUTO=y
268CONFIG_PCI_AUTO_UPDATE_RESOURCES=y 267CONFIG_PCI_AUTO_UPDATE_RESOURCES=y
269# CONFIG_ARCH_SUPPORTS_MSI is not set 268# CONFIG_ARCH_SUPPORTS_MSI is not set
270# CONFIG_PCI_DEBUG is not set 269# CONFIG_PCI_DEBUG is not set
271
272#
273# PCCARD (PCMCIA/CardBus) support
274#
275# CONFIG_PCCARD is not set 270# CONFIG_PCCARD is not set
276# CONFIG_HOTPLUG_PCI is not set 271# CONFIG_HOTPLUG_PCI is not set
277 272
@@ -322,6 +317,7 @@ CONFIG_IP_PNP_DHCP=y
322CONFIG_INET_XFRM_MODE_TRANSPORT=y 317CONFIG_INET_XFRM_MODE_TRANSPORT=y
323CONFIG_INET_XFRM_MODE_TUNNEL=y 318CONFIG_INET_XFRM_MODE_TUNNEL=y
324CONFIG_INET_XFRM_MODE_BEET=y 319CONFIG_INET_XFRM_MODE_BEET=y
320# CONFIG_INET_LRO is not set
325CONFIG_INET_DIAG=y 321CONFIG_INET_DIAG=y
326CONFIG_INET_TCP_DIAG=y 322CONFIG_INET_TCP_DIAG=y
327# CONFIG_TCP_CONG_ADVANCED is not set 323# CONFIG_TCP_CONG_ADVANCED is not set
@@ -348,10 +344,6 @@ CONFIG_LLC=m
348# CONFIG_LAPB is not set 344# CONFIG_LAPB is not set
349# CONFIG_ECONET is not set 345# CONFIG_ECONET is not set
350# CONFIG_WAN_ROUTER is not set 346# CONFIG_WAN_ROUTER is not set
351
352#
353# QoS and/or fair queueing
354#
355# CONFIG_NET_SCHED is not set 347# CONFIG_NET_SCHED is not set
356 348
357# 349#
@@ -371,6 +363,7 @@ CONFIG_WIRELESS_EXT=y
371# CONFIG_MAC80211 is not set 363# CONFIG_MAC80211 is not set
372# CONFIG_IEEE80211 is not set 364# CONFIG_IEEE80211 is not set
373# CONFIG_RFKILL is not set 365# CONFIG_RFKILL is not set
366# CONFIG_NET_9P is not set
374 367
375# 368#
376# Device Drivers 369# Device Drivers
@@ -379,33 +372,17 @@ CONFIG_WIRELESS_EXT=y
379# 372#
380# Generic Driver Options 373# Generic Driver Options
381# 374#
375CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
382CONFIG_STANDALONE=y 376CONFIG_STANDALONE=y
383CONFIG_PREVENT_FIRMWARE_BUILD=y 377CONFIG_PREVENT_FIRMWARE_BUILD=y
384CONFIG_FW_LOADER=m 378CONFIG_FW_LOADER=m
385# CONFIG_DEBUG_DRIVER is not set 379# CONFIG_DEBUG_DRIVER is not set
386# CONFIG_DEBUG_DEVRES is not set 380# CONFIG_DEBUG_DEVRES is not set
387# CONFIG_SYS_HYPERVISOR is not set 381# CONFIG_SYS_HYPERVISOR is not set
388
389#
390# Connector - unified userspace <-> kernelspace linker
391#
392# CONFIG_CONNECTOR is not set 382# CONFIG_CONNECTOR is not set
393# CONFIG_MTD is not set 383# CONFIG_MTD is not set
394
395#
396# Parallel port support
397#
398# CONFIG_PARPORT is not set 384# CONFIG_PARPORT is not set
399 385CONFIG_BLK_DEV=y
400#
401# Plug and Play support
402#
403# CONFIG_PNPACPI is not set
404
405#
406# Block devices
407#
408# CONFIG_BLK_CPQ_DA is not set
409# CONFIG_BLK_CPQ_CISS_DA is not set 386# CONFIG_BLK_CPQ_CISS_DA is not set
410# CONFIG_BLK_DEV_DAC960 is not set 387# CONFIG_BLK_DEV_DAC960 is not set
411# CONFIG_BLK_DEV_UMEM is not set 388# CONFIG_BLK_DEV_UMEM is not set
@@ -419,14 +396,11 @@ CONFIG_BLK_DEV_RAM_SIZE=4096
419CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 396CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
420# CONFIG_CDROM_PKTCDVD is not set 397# CONFIG_CDROM_PKTCDVD is not set
421# CONFIG_ATA_OVER_ETH is not set 398# CONFIG_ATA_OVER_ETH is not set
422 399CONFIG_MISC_DEVICES=y
423#
424# Misc devices
425#
426# CONFIG_PHANTOM is not set 400# CONFIG_PHANTOM is not set
401CONFIG_EEPROM_93CX6=y
427# CONFIG_SGI_IOC4 is not set 402# CONFIG_SGI_IOC4 is not set
428# CONFIG_TIFM_CORE is not set 403# CONFIG_TIFM_CORE is not set
429# CONFIG_BLINK is not set
430# CONFIG_IDE is not set 404# CONFIG_IDE is not set
431 405
432# 406#
@@ -434,6 +408,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
434# 408#
435# CONFIG_RAID_ATTRS is not set 409# CONFIG_RAID_ATTRS is not set
436CONFIG_SCSI=y 410CONFIG_SCSI=y
411CONFIG_SCSI_DMA=y
437# CONFIG_SCSI_TGT is not set 412# CONFIG_SCSI_TGT is not set
438# CONFIG_SCSI_NETLINK is not set 413# CONFIG_SCSI_NETLINK is not set
439CONFIG_SCSI_PROC_FS=y 414CONFIG_SCSI_PROC_FS=y
@@ -463,12 +438,9 @@ CONFIG_SCSI_WAIT_SCAN=m
463# CONFIG_SCSI_SPI_ATTRS is not set 438# CONFIG_SCSI_SPI_ATTRS is not set
464# CONFIG_SCSI_FC_ATTRS is not set 439# CONFIG_SCSI_FC_ATTRS is not set
465# CONFIG_SCSI_ISCSI_ATTRS is not set 440# CONFIG_SCSI_ISCSI_ATTRS is not set
466# CONFIG_SCSI_SAS_ATTRS is not set
467# CONFIG_SCSI_SAS_LIBSAS is not set 441# CONFIG_SCSI_SAS_LIBSAS is not set
468 442# CONFIG_SCSI_SRP_ATTRS is not set
469# 443CONFIG_SCSI_LOWLEVEL=y
470# SCSI low-level drivers
471#
472# CONFIG_ISCSI_TCP is not set 444# CONFIG_ISCSI_TCP is not set
473# CONFIG_BLK_DEV_3W_XXXX_RAID is not set 445# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
474# CONFIG_SCSI_3W_9XXX is not set 446# CONFIG_SCSI_3W_9XXX is not set
@@ -478,7 +450,6 @@ CONFIG_SCSI_WAIT_SCAN=m
478# CONFIG_SCSI_AIC7XXX_OLD is not set 450# CONFIG_SCSI_AIC7XXX_OLD is not set
479# CONFIG_SCSI_AIC79XX is not set 451# CONFIG_SCSI_AIC79XX is not set
480# CONFIG_SCSI_AIC94XX is not set 452# CONFIG_SCSI_AIC94XX is not set
481# CONFIG_SCSI_DPT_I2O is not set
482# CONFIG_SCSI_ARCMSR is not set 453# CONFIG_SCSI_ARCMSR is not set
483# CONFIG_MEGARAID_NEWGEN is not set 454# CONFIG_MEGARAID_NEWGEN is not set
484# CONFIG_MEGARAID_LEGACY is not set 455# CONFIG_MEGARAID_LEGACY is not set
@@ -543,6 +514,7 @@ CONFIG_SATA_SIL=y
543# CONFIG_PATA_OLDPIIX is not set 514# CONFIG_PATA_OLDPIIX is not set
544# CONFIG_PATA_NETCELL is not set 515# CONFIG_PATA_NETCELL is not set
545# CONFIG_PATA_NS87410 is not set 516# CONFIG_PATA_NS87410 is not set
517# CONFIG_PATA_NS87415 is not set
546# CONFIG_PATA_OPTI is not set 518# CONFIG_PATA_OPTI is not set
547# CONFIG_PATA_OPTIDMA is not set 519# CONFIG_PATA_OPTIDMA is not set
548# CONFIG_PATA_PDC_OLD is not set 520# CONFIG_PATA_PDC_OLD is not set
@@ -556,45 +528,26 @@ CONFIG_SATA_SIL=y
556# CONFIG_PATA_VIA is not set 528# CONFIG_PATA_VIA is not set
557# CONFIG_PATA_WINBOND is not set 529# CONFIG_PATA_WINBOND is not set
558CONFIG_PATA_PLATFORM=y 530CONFIG_PATA_PLATFORM=y
559
560#
561# Multi-device support (RAID and LVM)
562#
563# CONFIG_MD is not set 531# CONFIG_MD is not set
564
565#
566# Fusion MPT device support
567#
568# CONFIG_FUSION is not set 532# CONFIG_FUSION is not set
569# CONFIG_FUSION_SPI is not set
570# CONFIG_FUSION_FC is not set
571# CONFIG_FUSION_SAS is not set
572 533
573# 534#
574# IEEE 1394 (FireWire) support 535# IEEE 1394 (FireWire) support
575# 536#
576# CONFIG_FIREWIRE is not set 537# CONFIG_FIREWIRE is not set
577# CONFIG_IEEE1394 is not set 538# CONFIG_IEEE1394 is not set
578
579#
580# I2O device support
581#
582# CONFIG_I2O is not set 539# CONFIG_I2O is not set
583
584#
585# Network device support
586#
587CONFIG_NETDEVICES=y 540CONFIG_NETDEVICES=y
541# CONFIG_NETDEVICES_MULTIQUEUE is not set
588# CONFIG_DUMMY is not set 542# CONFIG_DUMMY is not set
589# CONFIG_BONDING is not set 543# CONFIG_BONDING is not set
544# CONFIG_MACVLAN is not set
590# CONFIG_EQUALIZER is not set 545# CONFIG_EQUALIZER is not set
591# CONFIG_TUN is not set 546# CONFIG_TUN is not set
547# CONFIG_VETH is not set
548# CONFIG_IP1000 is not set
592# CONFIG_ARCNET is not set 549# CONFIG_ARCNET is not set
593# CONFIG_PHYLIB is not set 550# CONFIG_PHYLIB is not set
594
595#
596# Ethernet (10 or 100Mbit)
597#
598CONFIG_NET_ETHERNET=y 551CONFIG_NET_ETHERNET=y
599CONFIG_MII=y 552CONFIG_MII=y
600# CONFIG_STNIC is not set 553# CONFIG_STNIC is not set
@@ -603,17 +556,20 @@ CONFIG_MII=y
603# CONFIG_CASSINI is not set 556# CONFIG_CASSINI is not set
604# CONFIG_NET_VENDOR_3COM is not set 557# CONFIG_NET_VENDOR_3COM is not set
605# CONFIG_SMC91X is not set 558# CONFIG_SMC91X is not set
606 559# CONFIG_SMC911X is not set
607#
608# Tulip family network device support
609#
610# CONFIG_NET_TULIP is not set 560# CONFIG_NET_TULIP is not set
611# CONFIG_HP100 is not set 561# CONFIG_HP100 is not set
562# CONFIG_IBM_NEW_EMAC_ZMII is not set
563# CONFIG_IBM_NEW_EMAC_RGMII is not set
564# CONFIG_IBM_NEW_EMAC_TAH is not set
565# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
612# CONFIG_NET_PCI is not set 566# CONFIG_NET_PCI is not set
567# CONFIG_B44 is not set
613CONFIG_NETDEV_1000=y 568CONFIG_NETDEV_1000=y
614# CONFIG_ACENIC is not set 569# CONFIG_ACENIC is not set
615# CONFIG_DL2K is not set 570# CONFIG_DL2K is not set
616# CONFIG_E1000 is not set 571# CONFIG_E1000 is not set
572# CONFIG_E1000E is not set
617# CONFIG_NS83820 is not set 573# CONFIG_NS83820 is not set
618# CONFIG_HAMACHI is not set 574# CONFIG_HAMACHI is not set
619# CONFIG_YELLOWFIN is not set 575# CONFIG_YELLOWFIN is not set
@@ -631,11 +587,14 @@ CONFIG_R8169=y
631CONFIG_NETDEV_10000=y 587CONFIG_NETDEV_10000=y
632# CONFIG_CHELSIO_T1 is not set 588# CONFIG_CHELSIO_T1 is not set
633# CONFIG_CHELSIO_T3 is not set 589# CONFIG_CHELSIO_T3 is not set
590# CONFIG_IXGBE is not set
634# CONFIG_IXGB is not set 591# CONFIG_IXGB is not set
635# CONFIG_S2IO is not set 592# CONFIG_S2IO is not set
636# CONFIG_MYRI10GE is not set 593# CONFIG_MYRI10GE is not set
637# CONFIG_NETXEN_NIC is not set 594# CONFIG_NETXEN_NIC is not set
595# CONFIG_NIU is not set
638# CONFIG_MLX4_CORE is not set 596# CONFIG_MLX4_CORE is not set
597# CONFIG_TEHUTI is not set
639# CONFIG_TR is not set 598# CONFIG_TR is not set
640 599
641# 600#
@@ -653,15 +612,7 @@ CONFIG_NETDEV_10000=y
653# CONFIG_NETCONSOLE is not set 612# CONFIG_NETCONSOLE is not set
654# CONFIG_NETPOLL is not set 613# CONFIG_NETPOLL is not set
655# CONFIG_NET_POLL_CONTROLLER is not set 614# CONFIG_NET_POLL_CONTROLLER is not set
656
657#
658# ISDN subsystem
659#
660# CONFIG_ISDN is not set 615# CONFIG_ISDN is not set
661
662#
663# Telephony Support
664#
665# CONFIG_PHONE is not set 616# CONFIG_PHONE is not set
666 617
667# 618#
@@ -669,6 +620,7 @@ CONFIG_NETDEV_10000=y
669# 620#
670CONFIG_INPUT=y 621CONFIG_INPUT=y
671# CONFIG_INPUT_FF_MEMLESS is not set 622# CONFIG_INPUT_FF_MEMLESS is not set
623# CONFIG_INPUT_POLLDEV is not set
672 624
673# 625#
674# Userland interfaces 626# Userland interfaces
@@ -678,7 +630,6 @@ CONFIG_INPUT_MOUSEDEV=y
678CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 630CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
679CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 631CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
680# CONFIG_INPUT_JOYDEV is not set 632# CONFIG_INPUT_JOYDEV is not set
681# CONFIG_INPUT_TSDEV is not set
682# CONFIG_INPUT_EVDEV is not set 633# CONFIG_INPUT_EVDEV is not set
683# CONFIG_INPUT_EVBUG is not set 634# CONFIG_INPUT_EVBUG is not set
684 635
@@ -732,21 +683,11 @@ CONFIG_SERIAL_CORE_CONSOLE=y
732CONFIG_UNIX98_PTYS=y 683CONFIG_UNIX98_PTYS=y
733CONFIG_LEGACY_PTYS=y 684CONFIG_LEGACY_PTYS=y
734CONFIG_LEGACY_PTY_COUNT=256 685CONFIG_LEGACY_PTY_COUNT=256
735
736#
737# IPMI
738#
739# CONFIG_IPMI_HANDLER is not set 686# CONFIG_IPMI_HANDLER is not set
740# CONFIG_WATCHDOG is not set
741CONFIG_HW_RANDOM=y 687CONFIG_HW_RANDOM=y
742# CONFIG_R3964 is not set 688# CONFIG_R3964 is not set
743# CONFIG_APPLICOM is not set 689# CONFIG_APPLICOM is not set
744# CONFIG_DRM is not set
745# CONFIG_RAW_DRIVER is not set 690# CONFIG_RAW_DRIVER is not set
746
747#
748# TPM devices
749#
750# CONFIG_TCG_TPM is not set 691# CONFIG_TCG_TPM is not set
751CONFIG_DEVPORT=y 692CONFIG_DEVPORT=y
752# CONFIG_I2C is not set 693# CONFIG_I2C is not set
@@ -756,21 +697,31 @@ CONFIG_DEVPORT=y
756# 697#
757# CONFIG_SPI is not set 698# CONFIG_SPI is not set
758# CONFIG_SPI_MASTER is not set 699# CONFIG_SPI_MASTER is not set
759
760#
761# Dallas's 1-wire bus
762#
763# CONFIG_W1 is not set 700# CONFIG_W1 is not set
701# CONFIG_POWER_SUPPLY is not set
764CONFIG_HWMON=y 702CONFIG_HWMON=y
765# CONFIG_HWMON_VID is not set 703# CONFIG_HWMON_VID is not set
766# CONFIG_SENSORS_ABITUGURU is not set
767# CONFIG_SENSORS_F71805F is not set 704# CONFIG_SENSORS_F71805F is not set
705# CONFIG_SENSORS_F71882FG is not set
706# CONFIG_SENSORS_IT87 is not set
707# CONFIG_SENSORS_PC87360 is not set
768# CONFIG_SENSORS_PC87427 is not set 708# CONFIG_SENSORS_PC87427 is not set
709# CONFIG_SENSORS_SIS5595 is not set
769# CONFIG_SENSORS_SMSC47M1 is not set 710# CONFIG_SENSORS_SMSC47M1 is not set
770# CONFIG_SENSORS_SMSC47B397 is not set 711# CONFIG_SENSORS_SMSC47B397 is not set
712# CONFIG_SENSORS_VIA686A is not set
771# CONFIG_SENSORS_VT1211 is not set 713# CONFIG_SENSORS_VT1211 is not set
714# CONFIG_SENSORS_VT8231 is not set
772# CONFIG_SENSORS_W83627HF is not set 715# CONFIG_SENSORS_W83627HF is not set
716# CONFIG_SENSORS_W83627EHF is not set
773# CONFIG_HWMON_DEBUG_CHIP is not set 717# CONFIG_HWMON_DEBUG_CHIP is not set
718# CONFIG_WATCHDOG is not set
719
720#
721# Sonics Silicon Backplane
722#
723CONFIG_SSB_POSSIBLE=y
724# CONFIG_SSB is not set
774 725
775# 726#
776# Multifunction device drivers 727# Multifunction device drivers
@@ -787,19 +738,16 @@ CONFIG_HWMON=y
787# 738#
788# Graphics support 739# Graphics support
789# 740#
790# CONFIG_BACKLIGHT_LCD_SUPPORT is not set 741# CONFIG_DRM is not set
791
792#
793# Display device support
794#
795# CONFIG_DISPLAY_SUPPORT is not set
796# CONFIG_VGASTATE is not set 742# CONFIG_VGASTATE is not set
743# CONFIG_VIDEO_OUTPUT_CONTROL is not set
797CONFIG_FB=y 744CONFIG_FB=y
798# CONFIG_FIRMWARE_EDID is not set 745# CONFIG_FIRMWARE_EDID is not set
799# CONFIG_FB_DDC is not set 746# CONFIG_FB_DDC is not set
800# CONFIG_FB_CFB_FILLRECT is not set 747# CONFIG_FB_CFB_FILLRECT is not set
801# CONFIG_FB_CFB_COPYAREA is not set 748# CONFIG_FB_CFB_COPYAREA is not set
802# CONFIG_FB_CFB_IMAGEBLIT is not set 749# CONFIG_FB_CFB_IMAGEBLIT is not set
750# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
803# CONFIG_FB_SYS_FILLRECT is not set 751# CONFIG_FB_SYS_FILLRECT is not set
804# CONFIG_FB_SYS_COPYAREA is not set 752# CONFIG_FB_SYS_COPYAREA is not set
805# CONFIG_FB_SYS_IMAGEBLIT is not set 753# CONFIG_FB_SYS_IMAGEBLIT is not set
@@ -819,7 +767,6 @@ CONFIG_FB_DEFERRED_IO=y
819# CONFIG_FB_CYBER2000 is not set 767# CONFIG_FB_CYBER2000 is not set
820# CONFIG_FB_ASILIANT is not set 768# CONFIG_FB_ASILIANT is not set
821# CONFIG_FB_IMSTT is not set 769# CONFIG_FB_IMSTT is not set
822# CONFIG_FB_EPSON1355 is not set
823# CONFIG_FB_S1D13XXX is not set 770# CONFIG_FB_S1D13XXX is not set
824# CONFIG_FB_NVIDIA is not set 771# CONFIG_FB_NVIDIA is not set
825# CONFIG_FB_RIVA is not set 772# CONFIG_FB_RIVA is not set
@@ -839,6 +786,12 @@ CONFIG_FB_DEFERRED_IO=y
839# CONFIG_FB_ARK is not set 786# CONFIG_FB_ARK is not set
840# CONFIG_FB_PM3 is not set 787# CONFIG_FB_PM3 is not set
841# CONFIG_FB_VIRTUAL is not set 788# CONFIG_FB_VIRTUAL is not set
789# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
790
791#
792# Display device support
793#
794# CONFIG_DISPLAY_SUPPORT is not set
842# CONFIG_LOGO is not set 795# CONFIG_LOGO is not set
843 796
844# 797#
@@ -855,20 +808,14 @@ CONFIG_SOUND=m
855# Open Sound System 808# Open Sound System
856# 809#
857CONFIG_SOUND_PRIME=m 810CONFIG_SOUND_PRIME=m
858# CONFIG_OSS_OBSOLETE is not set
859# CONFIG_SOUND_TRIDENT is not set 811# CONFIG_SOUND_TRIDENT is not set
860# CONFIG_SOUND_MSNDCLAS is not set 812# CONFIG_SOUND_MSNDCLAS is not set
861# CONFIG_SOUND_MSNDPIN is not set 813# CONFIG_SOUND_MSNDPIN is not set
862 814CONFIG_HID_SUPPORT=y
863#
864# HID Devices
865#
866CONFIG_HID=y 815CONFIG_HID=y
867# CONFIG_HID_DEBUG is not set 816# CONFIG_HID_DEBUG is not set
868 817# CONFIG_HIDRAW is not set
869# 818CONFIG_USB_SUPPORT=y
870# USB support
871#
872CONFIG_USB_ARCH_HAS_HCD=y 819CONFIG_USB_ARCH_HAS_HCD=y
873CONFIG_USB_ARCH_HAS_OHCI=y 820CONFIG_USB_ARCH_HAS_OHCI=y
874CONFIG_USB_ARCH_HAS_EHCI=y 821CONFIG_USB_ARCH_HAS_EHCI=y
@@ -883,32 +830,8 @@ CONFIG_USB_ARCH_HAS_EHCI=y
883# 830#
884# CONFIG_USB_GADGET is not set 831# CONFIG_USB_GADGET is not set
885# CONFIG_MMC is not set 832# CONFIG_MMC is not set
886
887#
888# LED devices
889#
890# CONFIG_NEW_LEDS is not set 833# CONFIG_NEW_LEDS is not set
891
892#
893# LED drivers
894#
895
896#
897# LED Triggers
898#
899
900#
901# InfiniBand support
902#
903# CONFIG_INFINIBAND is not set 834# CONFIG_INFINIBAND is not set
904
905#
906# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
907#
908
909#
910# Real Time Clock
911#
912CONFIG_RTC_LIB=y 835CONFIG_RTC_LIB=y
913CONFIG_RTC_CLASS=y 836CONFIG_RTC_CLASS=y
914CONFIG_RTC_HCTOSYS=y 837CONFIG_RTC_HCTOSYS=y
@@ -925,10 +848,6 @@ CONFIG_RTC_INTF_DEV=y
925# CONFIG_RTC_DRV_TEST is not set 848# CONFIG_RTC_DRV_TEST is not set
926 849
927# 850#
928# I2C RTC drivers
929#
930
931#
932# SPI RTC drivers 851# SPI RTC drivers
933# 852#
934 853
@@ -936,8 +855,10 @@ CONFIG_RTC_INTF_DEV=y
936# Platform RTC drivers 855# Platform RTC drivers
937# 856#
938# CONFIG_RTC_DRV_DS1553 is not set 857# CONFIG_RTC_DRV_DS1553 is not set
858# CONFIG_RTC_DRV_STK17TA8 is not set
939# CONFIG_RTC_DRV_DS1742 is not set 859# CONFIG_RTC_DRV_DS1742 is not set
940# CONFIG_RTC_DRV_M48T86 is not set 860# CONFIG_RTC_DRV_M48T86 is not set
861# CONFIG_RTC_DRV_M48T59 is not set
941# CONFIG_RTC_DRV_V3020 is not set 862# CONFIG_RTC_DRV_V3020 is not set
942 863
943# 864#
@@ -946,17 +867,9 @@ CONFIG_RTC_INTF_DEV=y
946CONFIG_RTC_DRV_SH=y 867CONFIG_RTC_DRV_SH=y
947 868
948# 869#
949# DMA Engine support 870# Userspace I/O
950#
951# CONFIG_DMA_ENGINE is not set
952
953#
954# DMA Clients
955#
956
957#
958# DMA Devices
959# 871#
872# CONFIG_UIO is not set
960 873
961# 874#
962# File systems 875# File systems
@@ -1017,7 +930,6 @@ CONFIG_TMPFS=y
1017# CONFIG_TMPFS_POSIX_ACL is not set 930# CONFIG_TMPFS_POSIX_ACL is not set
1018CONFIG_HUGETLBFS=y 931CONFIG_HUGETLBFS=y
1019CONFIG_HUGETLB_PAGE=y 932CONFIG_HUGETLB_PAGE=y
1020CONFIG_RAMFS=y
1021CONFIG_CONFIGFS_FS=m 933CONFIG_CONFIGFS_FS=m
1022 934
1023# 935#
@@ -1036,10 +948,7 @@ CONFIG_CONFIGFS_FS=m
1036# CONFIG_QNX4FS_FS is not set 948# CONFIG_QNX4FS_FS is not set
1037# CONFIG_SYSV_FS is not set 949# CONFIG_SYSV_FS is not set
1038# CONFIG_UFS_FS is not set 950# CONFIG_UFS_FS is not set
1039 951CONFIG_NETWORK_FILESYSTEMS=y
1040#
1041# Network File Systems
1042#
1043CONFIG_NFS_FS=y 952CONFIG_NFS_FS=y
1044CONFIG_NFS_V3=y 953CONFIG_NFS_V3=y
1045# CONFIG_NFS_V3_ACL is not set 954# CONFIG_NFS_V3_ACL is not set
@@ -1065,17 +974,12 @@ CONFIG_RPCSEC_GSS_KRB5=y
1065# CONFIG_NCP_FS is not set 974# CONFIG_NCP_FS is not set
1066# CONFIG_CODA_FS is not set 975# CONFIG_CODA_FS is not set
1067# CONFIG_AFS_FS is not set 976# CONFIG_AFS_FS is not set
1068# CONFIG_9P_FS is not set
1069 977
1070# 978#
1071# Partition Types 979# Partition Types
1072# 980#
1073# CONFIG_PARTITION_ADVANCED is not set 981# CONFIG_PARTITION_ADVANCED is not set
1074CONFIG_MSDOS_PARTITION=y 982CONFIG_MSDOS_PARTITION=y
1075
1076#
1077# Native Language Support
1078#
1079CONFIG_NLS=y 983CONFIG_NLS=y
1080CONFIG_NLS_DEFAULT="iso8859-1" 984CONFIG_NLS_DEFAULT="iso8859-1"
1081CONFIG_NLS_CODEPAGE_437=y 985CONFIG_NLS_CODEPAGE_437=y
@@ -1116,23 +1020,18 @@ CONFIG_NLS_ISO8859_1=y
1116# CONFIG_NLS_KOI8_R is not set 1020# CONFIG_NLS_KOI8_R is not set
1117# CONFIG_NLS_KOI8_U is not set 1021# CONFIG_NLS_KOI8_U is not set
1118# CONFIG_NLS_UTF8 is not set 1022# CONFIG_NLS_UTF8 is not set
1119
1120#
1121# Distributed Lock Manager
1122#
1123# CONFIG_DLM is not set 1023# CONFIG_DLM is not set
1124 1024CONFIG_INSTRUMENTATION=y
1125#
1126# Profiling support
1127#
1128CONFIG_PROFILING=y 1025CONFIG_PROFILING=y
1129CONFIG_OPROFILE=m 1026CONFIG_OPROFILE=m
1027# CONFIG_MARKERS is not set
1130 1028
1131# 1029#
1132# Kernel hacking 1030# Kernel hacking
1133# 1031#
1134CONFIG_TRACE_IRQFLAGS_SUPPORT=y 1032CONFIG_TRACE_IRQFLAGS_SUPPORT=y
1135# CONFIG_PRINTK_TIME is not set 1033# CONFIG_PRINTK_TIME is not set
1034CONFIG_ENABLE_WARN_DEPRECATED=y
1136CONFIG_ENABLE_MUST_CHECK=y 1035CONFIG_ENABLE_MUST_CHECK=y
1137CONFIG_MAGIC_SYSRQ=y 1036CONFIG_MAGIC_SYSRQ=y
1138# CONFIG_UNUSED_SYMBOLS is not set 1037# CONFIG_UNUSED_SYMBOLS is not set
@@ -1141,6 +1040,7 @@ CONFIG_DEBUG_FS=y
1141CONFIG_DEBUG_KERNEL=y 1040CONFIG_DEBUG_KERNEL=y
1142# CONFIG_DEBUG_SHIRQ is not set 1041# CONFIG_DEBUG_SHIRQ is not set
1143# CONFIG_DETECT_SOFTLOCKUP is not set 1042# CONFIG_DETECT_SOFTLOCKUP is not set
1043CONFIG_SCHED_DEBUG=y
1144# CONFIG_SCHEDSTATS is not set 1044# CONFIG_SCHEDSTATS is not set
1145# CONFIG_TIMER_STATS is not set 1045# CONFIG_TIMER_STATS is not set
1146# CONFIG_DEBUG_SLAB is not set 1046# CONFIG_DEBUG_SLAB is not set
@@ -1150,6 +1050,7 @@ CONFIG_DEBUG_MUTEXES=y
1150CONFIG_DEBUG_LOCK_ALLOC=y 1050CONFIG_DEBUG_LOCK_ALLOC=y
1151# CONFIG_PROVE_LOCKING is not set 1051# CONFIG_PROVE_LOCKING is not set
1152CONFIG_LOCKDEP=y 1052CONFIG_LOCKDEP=y
1053# CONFIG_LOCK_STAT is not set
1153# CONFIG_DEBUG_LOCKDEP is not set 1054# CONFIG_DEBUG_LOCKDEP is not set
1154# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1055# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1155CONFIG_DEBUG_LOCKING_API_SELFTESTS=y 1056CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
@@ -1159,17 +1060,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
1159CONFIG_DEBUG_INFO=y 1060CONFIG_DEBUG_INFO=y
1160# CONFIG_DEBUG_VM is not set 1061# CONFIG_DEBUG_VM is not set
1161# CONFIG_DEBUG_LIST is not set 1062# CONFIG_DEBUG_LIST is not set
1063# CONFIG_DEBUG_SG is not set
1162CONFIG_FRAME_POINTER=y 1064CONFIG_FRAME_POINTER=y
1163CONFIG_FORCED_INLINING=y 1065CONFIG_FORCED_INLINING=y
1066# CONFIG_BOOT_PRINTK_DELAY is not set
1164# CONFIG_RCU_TORTURE_TEST is not set 1067# CONFIG_RCU_TORTURE_TEST is not set
1165# CONFIG_FAULT_INJECTION is not set 1068# CONFIG_FAULT_INJECTION is not set
1069# CONFIG_SAMPLES is not set
1166CONFIG_SH_STANDARD_BIOS=y 1070CONFIG_SH_STANDARD_BIOS=y
1167# CONFIG_EARLY_SCIF_CONSOLE is not set 1071# CONFIG_EARLY_SCIF_CONSOLE is not set
1168CONFIG_EARLY_PRINTK=y 1072CONFIG_EARLY_PRINTK=y
1169# CONFIG_DEBUG_BOOTMEM is not set 1073# CONFIG_DEBUG_BOOTMEM is not set
1170CONFIG_DEBUG_STACKOVERFLOW=y 1074CONFIG_DEBUG_STACKOVERFLOW=y
1171CONFIG_DEBUG_STACK_USAGE=y 1075CONFIG_DEBUG_STACK_USAGE=y
1172# CONFIG_4KSTACKS is not set 1076CONFIG_4KSTACKS=y
1077# CONFIG_IRQSTACKS is not set
1173# CONFIG_SH_KGDB is not set 1078# CONFIG_SH_KGDB is not set
1174 1079
1175# 1080#
@@ -1177,10 +1082,7 @@ CONFIG_DEBUG_STACK_USAGE=y
1177# 1082#
1178# CONFIG_KEYS is not set 1083# CONFIG_KEYS is not set
1179# CONFIG_SECURITY is not set 1084# CONFIG_SECURITY is not set
1180 1085# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1181#
1182# Cryptographic options
1183#
1184CONFIG_CRYPTO=y 1086CONFIG_CRYPTO=y
1185CONFIG_CRYPTO_ALGAPI=y 1087CONFIG_CRYPTO_ALGAPI=y
1186CONFIG_CRYPTO_BLKCIPHER=y 1088CONFIG_CRYPTO_BLKCIPHER=y
@@ -1201,6 +1103,7 @@ CONFIG_CRYPTO_ECB=m
1201CONFIG_CRYPTO_CBC=y 1103CONFIG_CRYPTO_CBC=y
1202CONFIG_CRYPTO_PCBC=m 1104CONFIG_CRYPTO_PCBC=m
1203# CONFIG_CRYPTO_LRW is not set 1105# CONFIG_CRYPTO_LRW is not set
1106# CONFIG_CRYPTO_XTS is not set
1204# CONFIG_CRYPTO_CRYPTD is not set 1107# CONFIG_CRYPTO_CRYPTD is not set
1205CONFIG_CRYPTO_DES=y 1108CONFIG_CRYPTO_DES=y
1206# CONFIG_CRYPTO_FCRYPT is not set 1109# CONFIG_CRYPTO_FCRYPT is not set
@@ -1214,15 +1117,14 @@ CONFIG_CRYPTO_DES=y
1214# CONFIG_CRYPTO_ARC4 is not set 1117# CONFIG_CRYPTO_ARC4 is not set
1215# CONFIG_CRYPTO_KHAZAD is not set 1118# CONFIG_CRYPTO_KHAZAD is not set
1216# CONFIG_CRYPTO_ANUBIS is not set 1119# CONFIG_CRYPTO_ANUBIS is not set
1120# CONFIG_CRYPTO_SEED is not set
1217# CONFIG_CRYPTO_DEFLATE is not set 1121# CONFIG_CRYPTO_DEFLATE is not set
1218# CONFIG_CRYPTO_MICHAEL_MIC is not set 1122# CONFIG_CRYPTO_MICHAEL_MIC is not set
1219# CONFIG_CRYPTO_CRC32C is not set 1123# CONFIG_CRYPTO_CRC32C is not set
1220# CONFIG_CRYPTO_CAMELLIA is not set 1124# CONFIG_CRYPTO_CAMELLIA is not set
1221# CONFIG_CRYPTO_TEST is not set 1125# CONFIG_CRYPTO_TEST is not set
1222 1126# CONFIG_CRYPTO_AUTHENC is not set
1223# 1127CONFIG_CRYPTO_HW=y
1224# Hardware crypto devices
1225#
1226 1128
1227# 1129#
1228# Library routines 1130# Library routines
@@ -1232,6 +1134,7 @@ CONFIG_BITREVERSE=y
1232# CONFIG_CRC16 is not set 1134# CONFIG_CRC16 is not set
1233# CONFIG_CRC_ITU_T is not set 1135# CONFIG_CRC_ITU_T is not set
1234CONFIG_CRC32=y 1136CONFIG_CRC32=y
1137# CONFIG_CRC7 is not set
1235# CONFIG_LIBCRC32C is not set 1138# CONFIG_LIBCRC32C is not set
1236CONFIG_HAS_IOMEM=y 1139CONFIG_HAS_IOMEM=y
1237CONFIG_HAS_IOPORT=y 1140CONFIG_HAS_IOPORT=y
diff --git a/arch/sh/drivers/pci/pci-st40.c b/arch/sh/drivers/pci/pci-st40.c
index 1502a14386b6..0814a5afe9b7 100644
--- a/arch/sh/drivers/pci/pci-st40.c
+++ b/arch/sh/drivers/pci/pci-st40.c
@@ -114,7 +114,7 @@ static struct pci_err int_error[]={
114 { INT_MWPDI, "MWPDI: PERR from target at data write"}, 114 { INT_MWPDI, "MWPDI: PERR from target at data write"},
115 { INT_MRDPEI, "MRDPEI: Master read data parity error"} 115 { INT_MRDPEI, "MRDPEI: Master read data parity error"}
116}; 116};
117#define NUM_PCI_INT_ERRS (sizeof(int_error)/sizeof(struct pci_err)) 117#define NUM_PCI_INT_ERRS ARRAY_SIZE(int_error)
118 118
119static struct pci_err aint_error[]={ 119static struct pci_err aint_error[]={
120 { AINT_MBI, "MBI: Master broken"}, 120 { AINT_MBI, "MBI: Master broken"},
@@ -126,7 +126,7 @@ static struct pci_err aint_error[]={
126 { AINT_WDPE, "WDPE: Write data parity"} 126 { AINT_WDPE, "WDPE: Write data parity"}
127}; 127};
128 128
129#define NUM_PCI_AINT_ERRS (sizeof(aint_error)/sizeof(struct pci_err)) 129#define NUM_PCI_AINT_ERRS ARRAY_SIZE(aint_error)
130 130
131static void print_pci_errors(unsigned reg,struct pci_err *error,int num_errors) 131static void print_pci_errors(unsigned reg,struct pci_err *error,int num_errors)
132{ 132{
diff --git a/arch/sh/kernel/cpu/irq/ipr.c b/arch/sh/kernel/cpu/irq/ipr.c
index 5da325414880..56ea7b269b59 100644
--- a/arch/sh/kernel/cpu/irq/ipr.c
+++ b/arch/sh/kernel/cpu/irq/ipr.c
@@ -49,7 +49,6 @@ static void enable_ipr_irq(unsigned int irq)
49 * bits/4. This is to make it easier to read the value directly from the 49 * bits/4. This is to make it easier to read the value directly from the
50 * datasheets. The IPR address is calculated using the ipr_offset table. 50 * datasheets. The IPR address is calculated using the ipr_offset table.
51 */ 51 */
52
53void register_ipr_controller(struct ipr_desc *desc) 52void register_ipr_controller(struct ipr_desc *desc)
54{ 53{
55 int i; 54 int i;
@@ -71,12 +70,4 @@ void register_ipr_controller(struct ipr_desc *desc)
71 disable_ipr_irq(p->irq); 70 disable_ipr_irq(p->irq);
72 } 71 }
73} 72}
74
75EXPORT_SYMBOL(register_ipr_controller); 73EXPORT_SYMBOL(register_ipr_controller);
76
77#if !defined(CONFIG_CPU_HAS_PINT_IRQ)
78int ipr_irq_demux(int irq)
79{
80 return irq;
81}
82#endif
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
index 55f66104431d..b9c6547c4a90 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
@@ -14,6 +14,32 @@
14#include <asm/mmzone.h> 14#include <asm/mmzone.h>
15#include <asm/sci.h> 15#include <asm/sci.h>
16 16
17static struct resource usbf_resources[] = {
18 [0] = {
19 .name = "m66592_udc",
20 .start = 0xA4480000,
21 .end = 0xA44800FF,
22 .flags = IORESOURCE_MEM,
23 },
24 [1] = {
25 .name = "m66592_udc",
26 .start = 65,
27 .end = 65,
28 .flags = IORESOURCE_IRQ,
29 },
30};
31
32static struct platform_device usbf_device = {
33 .name = "m66592_udc",
34 .id = -1,
35 .dev = {
36 .dma_mask = NULL,
37 .coherent_dma_mask = 0xffffffff,
38 },
39 .num_resources = ARRAY_SIZE(usbf_resources),
40 .resource = usbf_resources,
41};
42
17static struct plat_sci_port sci_platform_data[] = { 43static struct plat_sci_port sci_platform_data[] = {
18 { 44 {
19 .mapbase = 0xffe00000, 45 .mapbase = 0xffe00000,
@@ -47,6 +73,7 @@ static struct platform_device sci_device = {
47}; 73};
48 74
49static struct platform_device *sh7722_devices[] __initdata = { 75static struct platform_device *sh7722_devices[] __initdata = {
76 &usbf_device,
50 &sci_device, 77 &sci_device,
51}; 78};
52 79
diff --git a/arch/sh/kernel/irq.c b/arch/sh/kernel/irq.c
index 4b49d03ffbd2..348da194ec99 100644
--- a/arch/sh/kernel/irq.c
+++ b/arch/sh/kernel/irq.c
@@ -69,7 +69,7 @@ unlock:
69} 69}
70#endif 70#endif
71 71
72#ifdef CONFIG_4KSTACKS 72#ifdef CONFIG_IRQSTACKS
73/* 73/*
74 * per-CPU IRQ handling contexts (thread information and stack) 74 * per-CPU IRQ handling contexts (thread information and stack)
75 */ 75 */
@@ -85,7 +85,7 @@ static union irq_ctx *softirq_ctx[NR_CPUS] __read_mostly;
85asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs) 85asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs)
86{ 86{
87 struct pt_regs *old_regs = set_irq_regs(regs); 87 struct pt_regs *old_regs = set_irq_regs(regs);
88#ifdef CONFIG_4KSTACKS 88#ifdef CONFIG_IRQSTACKS
89 union irq_ctx *curctx, *irqctx; 89 union irq_ctx *curctx, *irqctx;
90#endif 90#endif
91 91
@@ -109,7 +109,7 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs)
109 109
110 irq = irq_demux(evt2irq(irq)); 110 irq = irq_demux(evt2irq(irq));
111 111
112#ifdef CONFIG_4KSTACKS 112#ifdef CONFIG_IRQSTACKS
113 curctx = (union irq_ctx *)current_thread_info(); 113 curctx = (union irq_ctx *)current_thread_info();
114 irqctx = hardirq_ctx[smp_processor_id()]; 114 irqctx = hardirq_ctx[smp_processor_id()];
115 115
@@ -157,7 +157,7 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs)
157 return 1; 157 return 1;
158} 158}
159 159
160#ifdef CONFIG_4KSTACKS 160#ifdef CONFIG_IRQSTACKS
161static char softirq_stack[NR_CPUS * THREAD_SIZE] 161static char softirq_stack[NR_CPUS * THREAD_SIZE]
162 __attribute__((__section__(".bss.page_aligned"))); 162 __attribute__((__section__(".bss.page_aligned")));
163 163
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c
index b749403f6b38..0b8c45d53a47 100644
--- a/arch/sh/kernel/setup.c
+++ b/arch/sh/kernel/setup.c
@@ -32,12 +32,6 @@
32#include <asm/clock.h> 32#include <asm/clock.h>
33#include <asm/mmu_context.h> 33#include <asm/mmu_context.h>
34 34
35extern void * __rd_start, * __rd_end;
36
37/*
38 * Machine setup..
39 */
40
41/* 35/*
42 * Initialize loops_per_jiffy as 10000000 (1000MIPS). 36 * Initialize loops_per_jiffy as 10000000 (1000MIPS).
43 * This value will be used at the very early stage of serial setup. 37 * This value will be used at the very early stage of serial setup.
@@ -63,33 +57,25 @@ struct screen_info screen_info;
63 57
64extern int root_mountflags; 58extern int root_mountflags;
65 59
66/*
67 * This is set up by the setup-routine at boot-time
68 */
69#define PARAM ((unsigned char *)empty_zero_page)
70
71#define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))
72#define RAMDISK_FLAGS (*(unsigned long *) (PARAM+0x004))
73#define ORIG_ROOT_DEV (*(unsigned long *) (PARAM+0x008))
74#define LOADER_TYPE (*(unsigned long *) (PARAM+0x00c))
75#define INITRD_START (*(unsigned long *) (PARAM+0x010))
76#define INITRD_SIZE (*(unsigned long *) (PARAM+0x014))
77/* ... */
78#define COMMAND_LINE ((char *) (PARAM+0x100))
79
80#define RAMDISK_IMAGE_START_MASK 0x07FF 60#define RAMDISK_IMAGE_START_MASK 0x07FF
81#define RAMDISK_PROMPT_FLAG 0x8000 61#define RAMDISK_PROMPT_FLAG 0x8000
82#define RAMDISK_LOAD_FLAG 0x4000 62#define RAMDISK_LOAD_FLAG 0x4000
83 63
84static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, }; 64static char __initdata command_line[COMMAND_LINE_SIZE] = { 0, };
85 65
86static struct resource code_resource = { .name = "Kernel code", }; 66static struct resource code_resource = {
87static struct resource data_resource = { .name = "Kernel data", }; 67 .name = "Kernel code",
68 .flags = IORESOURCE_BUSY | IORESOURCE_MEM,
69};
70
71static struct resource data_resource = {
72 .name = "Kernel data",
73 .flags = IORESOURCE_BUSY | IORESOURCE_MEM,
74};
88 75
89unsigned long memory_start; 76unsigned long memory_start;
90EXPORT_SYMBOL(memory_start); 77EXPORT_SYMBOL(memory_start);
91 78unsigned long memory_end = 0;
92unsigned long memory_end;
93EXPORT_SYMBOL(memory_end); 79EXPORT_SYMBOL(memory_end);
94 80
95static int __init early_parse_mem(char *p) 81static int __init early_parse_mem(char *p)
@@ -195,14 +181,7 @@ void __init setup_bootmem_allocator(unsigned long free_pfn)
195 sparse_memory_present_with_active_regions(0); 181 sparse_memory_present_with_active_regions(0);
196 182
197#ifdef CONFIG_BLK_DEV_INITRD 183#ifdef CONFIG_BLK_DEV_INITRD
198 ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0); 184 ROOT_DEV = Root_RAM0;
199 if (&__rd_start != &__rd_end) {
200 LOADER_TYPE = 1;
201 INITRD_START = PHYSADDR((unsigned long)&__rd_start) -
202 __MEMORY_START;
203 INITRD_SIZE = (unsigned long)&__rd_end -
204 (unsigned long)&__rd_start;
205 }
206 185
207 if (LOADER_TYPE && INITRD_START) { 186 if (LOADER_TYPE && INITRD_START) {
208 if (INITRD_START + INITRD_SIZE <= (max_low_pfn << PAGE_SHIFT)) { 187 if (INITRD_START + INITRD_SIZE <= (max_low_pfn << PAGE_SHIFT)) {
@@ -265,7 +244,8 @@ void __init setup_arch(char **cmdline_p)
265 data_resource.end = virt_to_phys(_edata)-1; 244 data_resource.end = virt_to_phys(_edata)-1;
266 245
267 memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START; 246 memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START;
268 memory_end = memory_start + __MEMORY_SIZE; 247 if (!memory_end)
248 memory_end = memory_start + __MEMORY_SIZE;
269 249
270#ifdef CONFIG_CMDLINE_BOOL 250#ifdef CONFIG_CMDLINE_BOOL
271 strlcpy(command_line, CONFIG_CMDLINE, sizeof(command_line)); 251 strlcpy(command_line, CONFIG_CMDLINE, sizeof(command_line));
diff --git a/arch/sh/kernel/vmlinux.lds.S b/arch/sh/kernel/vmlinux.lds.S
index 6d5abba2ee27..0956fb3681a3 100644
--- a/arch/sh/kernel/vmlinux.lds.S
+++ b/arch/sh/kernel/vmlinux.lds.S
@@ -1,4 +1,4 @@
1/* $Id: vmlinux.lds.S,v 1.8 2003/05/16 17:18:14 lethal Exp $ 1/*
2 * ld script to make SuperH Linux kernel 2 * ld script to make SuperH Linux kernel
3 * Written by Niibe Yutaka 3 * Written by Niibe Yutaka
4 */ 4 */
@@ -15,121 +15,124 @@ OUTPUT_ARCH(sh)
15ENTRY(_start) 15ENTRY(_start)
16SECTIONS 16SECTIONS
17{ 17{
18 . = CONFIG_PAGE_OFFSET + CONFIG_MEMORY_START + CONFIG_ZERO_PAGE_OFFSET; 18 . = CONFIG_PAGE_OFFSET + CONFIG_MEMORY_START + CONFIG_ZERO_PAGE_OFFSET;
19 _text = .; /* Text and read-only data */ 19 _text = .; /* Text and read-only data */
20 text = .; /* Text and read-only data */ 20
21 .empty_zero_page : { 21 .empty_zero_page : {
22 *(.empty_zero_page) 22 *(.empty_zero_page)
23 } = 0 23 } = 0
24 .text : { 24
25 *(.text.head) 25 .text : {
26 TEXT_TEXT 26 *(.text.head)
27 SCHED_TEXT 27 TEXT_TEXT
28 LOCK_TEXT 28 SCHED_TEXT
29 *(.fixup) 29 LOCK_TEXT
30 *(.gnu.warning) 30 KPROBES_TEXT
31 *(.fixup)
32 *(.gnu.warning)
31 } = 0x0009 33 } = 0x0009
32 34
33 . = ALIGN(16); /* Exception table */ 35 . = ALIGN(16); /* Exception table */
34 __start___ex_table = .; 36 __start___ex_table = .;
35 __ex_table : { *(__ex_table) } 37 __ex_table : { *(__ex_table) }
36 __stop___ex_table = .; 38 __stop___ex_table = .;
39
40 _etext = .; /* End of text section */
37 41
38 _etext = .; /* End of text section */ 42 BUG_TABLE
43 NOTES
44 RO_DATA(PAGE_SIZE)
39 45
40 RODATA 46 . = ALIGN(THREAD_SIZE);
47 .data : { /* Data */
48 *(.data.init_task)
41 49
42 BUG_TABLE 50 . = ALIGN(L1_CACHE_BYTES);
51 *(.data.cacheline_aligned)
43 52
44 .data : { /* Data */ 53 . = ALIGN(L1_CACHE_BYTES);
45 DATA_DATA 54 *(.data.read_mostly)
46 55
47 /* Align the initial ramdisk image (INITRD) on page boundaries. */ 56 . = ALIGN(PAGE_SIZE);
48 . = ALIGN(PAGE_SIZE); 57 *(.data.page_aligned)
49 __rd_start = .;
50 *(.initrd)
51 . = ALIGN(PAGE_SIZE);
52 __rd_end = .;
53 58
54 CONSTRUCTORS 59 __nosave_begin = .;
60 *(.data.nosave)
61 . = ALIGN(PAGE_SIZE);
62 __nosave_end = .;
63
64 DATA_DATA
65 CONSTRUCTORS
55 } 66 }
56 67
57 . = ALIGN(PAGE_SIZE); 68 _edata = .; /* End of data section */
58 .data.page_aligned : { *(.data.page_aligned) }
59 __nosave_begin = .;
60 .data_nosave : { *(.data.nosave) }
61 . = ALIGN(PAGE_SIZE);
62 __nosave_end = .;
63
64 PERCPU(PAGE_SIZE)
65
66 . = ALIGN(L1_CACHE_BYTES);
67 .data.cacheline_aligned : { *(.data.cacheline_aligned) }
68
69 _edata = .; /* End of data section */
70
71 . = ALIGN(THREAD_SIZE); /* init_task */
72 .data.init_task : { *(.data.init_task) }
73
74 . = ALIGN(PAGE_SIZE); /* Init code and data */
75 __init_begin = .;
76 _sinittext = .;
77 .init.text : { *(.init.text) }
78 _einittext = .;
79 .init.data : { *(.init.data) }
80 . = ALIGN(16);
81 __setup_start = .;
82 .init.setup : { *(.init.setup) }
83 __setup_end = .;
84 __initcall_start = .;
85 .initcall.init : {
86 INITCALLS
87 }
88 __initcall_end = .;
89 __con_initcall_start = .;
90 .con_initcall.init : { *(.con_initcall.init) }
91 __con_initcall_end = .;
92 SECURITY_INIT
93
94 /* .exit.text is discarded at runtime, not link time, to deal with
95 references from .rodata */
96 .exit.text : { *(.exit.text) }
97 .exit.data : { *(.exit.data) }
98 69
99#ifdef CONFIG_BLK_DEV_INITRD 70 . = ALIGN(PAGE_SIZE); /* Init code and data */
100 . = ALIGN(PAGE_SIZE); 71 __init_begin = .;
72 _sinittext = .;
73 .init.text : { *(.init.text) }
74 _einittext = .;
75 .init.data : { *(.init.data) }
76
77 . = ALIGN(16);
78 __setup_start = .;
79 .init.setup : { *(.init.setup) }
80 __setup_end = .;
101 81
102 __initramfs_start = .; 82 __initcall_start = .;
103 .init.ramfs : { *(.init.ramfs) } 83 .initcall.init : {
104 __initramfs_end = .; 84 INITCALLS
85 }
86 __initcall_end = .;
87 __con_initcall_start = .;
88 .con_initcall.init : { *(.con_initcall.init) }
89 __con_initcall_end = .;
90
91 SECURITY_INIT
92
93#ifdef CONFIG_BLK_DEV_INITRD
94 . = ALIGN(PAGE_SIZE);
95 __initramfs_start = .;
96 .init.ramfs : { *(.init.ramfs) }
97 __initramfs_end = .;
105#endif 98#endif
106 99
107 . = ALIGN(4);
108 __machvec_start = .;
109 .machvec.init : { *(.machvec.init) }
110 __machvec_end = .;
111
112 . = ALIGN(PAGE_SIZE);
113 .bss : {
114 __init_end = .;
115 __bss_start = .; /* BSS */
116 *(.bss.page_aligned)
117 *(.bss)
118 . = ALIGN(4); 100 . = ALIGN(4);
119 _ebss = .; /* uClinux MTD sucks */ 101 __machvec_start = .;
120 _end = . ; 102 .machvec.init : { *(.machvec.init) }
121 } 103 __machvec_end = .;
122 104
123 /* When something in the kernel is NOT compiled as a module, the 105 PERCPU(PAGE_SIZE)
124 * module cleanup code and data are put into these segments. Both 106
125 * can then be thrown away, as cleanup code is never called unless 107 /*
126 * it's a module. 108 * .exit.text is discarded at runtime, not link time, to deal with
127 */ 109 * references from __bug_table
128 /DISCARD/ : { 110 */
129 *(.exitcall.exit) 111 .exit.text : { *(.exit.text) }
112 .exit.data : { *(.exit.data) }
113
114 . = ALIGN(PAGE_SIZE);
115 .bss : {
116 __init_end = .;
117 __bss_start = .; /* BSS */
118 *(.bss.page_aligned)
119 *(.bss)
120 *(COMMON)
121 . = ALIGN(4);
122 _ebss = .; /* uClinux MTD sucks */
123 _end = . ;
130 } 124 }
131 125
132 STABS_DEBUG 126 /*
127 * When something in the kernel is NOT compiled as a module, the
128 * module cleanup code and data are put into these segments. Both
129 * can then be thrown away, as cleanup code is never called unless
130 * it's a module.
131 */
132 /DISCARD/ : {
133 *(.exitcall.exit)
134 }
133 135
134 DWARF_DEBUG 136 STABS_DEBUG
137 DWARF_DEBUG
135} 138}
diff --git a/arch/sh/kernel/vsyscall/vsyscall.lds.S b/arch/sh/kernel/vsyscall/vsyscall.lds.S
index c9bf2af35d35..6d59ee7c23dd 100644
--- a/arch/sh/kernel/vsyscall/vsyscall.lds.S
+++ b/arch/sh/kernel/vsyscall/vsyscall.lds.S
@@ -38,7 +38,10 @@ SECTIONS
38 .text : { *(.text) } :text =0x90909090 38 .text : { *(.text) } :text =0x90909090
39 .note : { *(.note.*) } :text :note 39 .note : { *(.note.*) } :text :note
40 .eh_frame_hdr : { *(.eh_frame_hdr ) } :text :eh_frame_hdr 40 .eh_frame_hdr : { *(.eh_frame_hdr ) } :text :eh_frame_hdr
41 .eh_frame : { KEEP (*(.eh_frame)) } :text 41 .eh_frame : {
42 KEEP (*(.eh_frame))
43 LONG (0)
44 } :text
42 .dynamic : { *(.dynamic) } :text :dynamic 45 .dynamic : { *(.dynamic) } :text :dynamic
43 .useless : { 46 .useless : {
44 *(.got.plt) *(.got) 47 *(.got.plt) *(.got)
diff --git a/arch/sh/mm/copy_page.S b/arch/sh/mm/copy_page.S
index a81dbdb05596..3d8409daa4be 100644
--- a/arch/sh/mm/copy_page.S
+++ b/arch/sh/mm/copy_page.S
@@ -255,7 +255,11 @@ EX( mov.l @r5+,r8 )
255EX( mov.l @r5+,r9 ) 255EX( mov.l @r5+,r9 )
256EX( mov.l @r5+,r10 ) 256EX( mov.l @r5+,r10 )
257EX( mov.l @r5+,r11 ) 257EX( mov.l @r5+,r11 )
258#ifdef CONFIG_CPU_SH4
258EX( movca.l r0,@r4 ) 259EX( movca.l r0,@r4 )
260#else
261EX( mov.l r0,@r4 )
262#endif
259 add #-32, r6 263 add #-32, r6
260EX( mov.l r1,@(4,r4) ) 264EX( mov.l r1,@(4,r4) )
261 mov #32, r0 265 mov #32, r0
diff --git a/arch/sh/oprofile/op_model_sh7750.c b/arch/sh/oprofile/op_model_sh7750.c
index ebee7e24ede9..6b9a98e07004 100644
--- a/arch/sh/oprofile/op_model_sh7750.c
+++ b/arch/sh/oprofile/op_model_sh7750.c
@@ -16,7 +16,6 @@
16#include <linux/errno.h> 16#include <linux/errno.h>
17#include <linux/interrupt.h> 17#include <linux/interrupt.h>
18#include <linux/fs.h> 18#include <linux/fs.h>
19#include <linux/notifier.h>
20#include <asm/uaccess.h> 19#include <asm/uaccess.h>
21#include <asm/io.h> 20#include <asm/io.h>
22 21
@@ -44,8 +43,6 @@
44 */ 43 */
45#define NR_CNTRS 2 44#define NR_CNTRS 2
46 45
47extern const char *get_cpu_subtype(void);
48
49struct op_counter_config { 46struct op_counter_config {
50 unsigned long enabled; 47 unsigned long enabled;
51 unsigned long event; 48 unsigned long event;
@@ -111,17 +108,12 @@ static struct op_counter_config ctr[NR_CNTRS];
111 * behavior. 108 * behavior.
112 */ 109 */
113 110
114static int sh7750_timer_notify(struct notifier_block *self, 111static int sh7750_timer_notify(struct pt_regs *regs)
115 unsigned long val, void *regs)
116{ 112{
117 oprofile_add_sample((struct pt_regs *)regs, 0); 113 oprofile_add_sample(regs, 0);
118 return 0; 114 return 0;
119} 115}
120 116
121static struct notifier_block sh7750_timer_notifier = {
122 .notifier_call = sh7750_timer_notify,
123};
124
125static u64 sh7750_read_counter(int counter) 117static u64 sh7750_read_counter(int counter)
126{ 118{
127 u32 hi, lo; 119 u32 hi, lo;
@@ -240,7 +232,7 @@ static int sh7750_perf_counter_start(void)
240 ctrl_outw(pmcr | PMCR_ENABLE, PMCR2); 232 ctrl_outw(pmcr | PMCR_ENABLE, PMCR2);
241 } 233 }
242 234
243 return register_profile_notifier(&sh7750_timer_notifier); 235 return register_timer_hook(sh7750_timer_notify);
244} 236}
245 237
246static void sh7750_perf_counter_stop(void) 238static void sh7750_perf_counter_stop(void)
@@ -248,7 +240,7 @@ static void sh7750_perf_counter_stop(void)
248 ctrl_outw(ctrl_inw(PMCR1) & ~PMCR_PMEN, PMCR1); 240 ctrl_outw(ctrl_inw(PMCR1) & ~PMCR_PMEN, PMCR1);
249 ctrl_outw(ctrl_inw(PMCR2) & ~PMCR_PMEN, PMCR2); 241 ctrl_outw(ctrl_inw(PMCR2) & ~PMCR_PMEN, PMCR2);
250 242
251 unregister_profile_notifier(&sh7750_timer_notifier); 243 unregister_timer_hook(sh7750_timer_notify);
252} 244}
253 245
254static struct oprofile_operations sh7750_perf_counter_ops = { 246static struct oprofile_operations sh7750_perf_counter_ops = {
@@ -257,13 +249,13 @@ static struct oprofile_operations sh7750_perf_counter_ops = {
257 .stop = sh7750_perf_counter_stop, 249 .stop = sh7750_perf_counter_stop,
258}; 250};
259 251
260int __init oprofile_arch_init(struct oprofile_operations **ops) 252int __init oprofile_arch_init(struct oprofile_operations *ops)
261{ 253{
262 if (!(current_cpu_data.flags & CPU_HAS_PERF_COUNTER)) 254 if (!(current_cpu_data.flags & CPU_HAS_PERF_COUNTER))
263 return -ENODEV; 255 return -ENODEV;
264 256
265 sh7750_perf_counter_ops.cpu_type = (char *)get_cpu_subtype(); 257 ops = &sh7750_perf_counter_ops;
266 *ops = &sh7750_perf_counter_ops; 258 ops->cpu_type = (char *)get_cpu_subtype(&current_cpu_data);
267 259
268 printk(KERN_INFO "oprofile: using SH-4 (%s) performance monitoring.\n", 260 printk(KERN_INFO "oprofile: using SH-4 (%s) performance monitoring.\n",
269 sh7750_perf_counter_ops.cpu_type); 261 sh7750_perf_counter_ops.cpu_type);
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types
index 439bfe3d29af..ff071693325c 100644
--- a/arch/sh/tools/mach-types
+++ b/arch/sh/tools/mach-types
@@ -1,26 +1,35 @@
1# 1#
2# List of boards. 2# MACH_<xxx> CONFIG_<xxx>
3# 3#
4 4
5# 5#
6# MACH_<xxx> CONFIG_<xxx> 6# List of board groups.
7# 7#
8SE SH_SOLUTION_ENGINE 8SE SH_SOLUTION_ENGINE
97751SE SH_7751_SOLUTION_ENGINE 9HIGHLANDER SH_HIGHLANDER
107722SE SH_7722_SOLUTION_ENGINE 10RTS7751R2D SH_RTS7751R2D
117343SE SH_7343_SOLUTION_ENGINE 11
12#
13# List of companion chips / MFDs.
14#
15HD64461 HD64461
16HD64465 HD64465
17
18#
19# List of boards.
20#
127206SE SH_7206_SOLUTION_ENGINE 217206SE SH_7206_SOLUTION_ENGINE
227343SE SH_7343_SOLUTION_ENGINE
137619SE SH_7619_SOLUTION_ENGINE 237619SE SH_7619_SOLUTION_ENGINE
247722SE SH_7722_SOLUTION_ENGINE
257751SE SH_7751_SOLUTION_ENGINE
147780SE SH_7780_SOLUTION_ENGINE 267780SE SH_7780_SOLUTION_ENGINE
157751SYSTEMH SH_7751_SYSTEMH 277751SYSTEMH SH_7751_SYSTEMH
16HP6XX SH_HP6XX 28HP6XX SH_HP6XX
17HD64461 HD64461
18HD64465 HD64465
19DREAMCAST SH_DREAMCAST 29DREAMCAST SH_DREAMCAST
20MPC1211 SH_MPC1211 30MPC1211 SH_MPC1211
21SNAPGEAR SH_SECUREEDGE5410 31SNAPGEAR SH_SECUREEDGE5410
22HS7751RVOIP SH_HS7751RVOIP 32HS7751RVOIP SH_HS7751RVOIP
23RTS7751R2D SH_RTS7751R2D
24EDOSK7705 SH_EDOSK7705 33EDOSK7705 SH_EDOSK7705
25SH4202_MICRODEV SH_SH4202_MICRODEV 34SH4202_MICRODEV SH_SH4202_MICRODEV
26SH03 SH_SH03 35SH03 SH_SH03
@@ -32,3 +41,7 @@ TITAN SH_TITAN
32SHMIN SH_SHMIN 41SHMIN SH_SHMIN
337710VOIPGW SH_7710VOIPGW 427710VOIPGW SH_7710VOIPGW
34LBOXRE2 SH_LBOX_RE2 43LBOXRE2 SH_LBOX_RE2
44X3PROTO SH_X3PROTO
45MAGICPANELR2 SH_MAGIC_PANEL_R2
46R2D_PLUS RTS7751R2D_PLUS
47R2D_1 RTS7751R2D_1