From 9ba01e077d79b24e0fcde66875e497dca422b2ee Mon Sep 17 00:00:00 2001 From: Michael Lauer Date: Tue, 22 Jun 2004 09:19:47 +0000 Subject: upgrade openzaurus-pxa to latest version of piro's patch this also incorporates the TOSA (SL-6000) extensions, so openzaurus-pxa now is also the preferred kernel for this. BKrev: 40d7f9b3S6T1GjcTJOIMQY-vbxwkdA --- .../defconfig-tosa | 0 .../piro.patch | 75444 +++++++++++++++++++ ...nzaurus-pxa_2.4.18-rmk7-pxa3-embedix20031107.oe | 2 +- 3 files changed, 75445 insertions(+), 1 deletion(-) create mode 100644 linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa (limited to 'linux') diff --git a/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa b/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/defconfig-tosa new file mode 100644 index 0000000000..e69de29bb2 diff --git a/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch b/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch index e69de29bb2..3f1618971f 100644 --- a/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch +++ b/linux/openzaurus-pxa-2.4.18-rmk7-pxa3-embedix20031107/piro.patch @@ -0,0 +1,75444 @@ +diff -Nur linux_c860_org/CREDITS linux/CREDITS +--- linux_c860_org/CREDITS 2002-08-26 14:43:17.000000000 +0900 ++++ linux/CREDITS 2004-06-10 21:09:10.000000000 +0900 +@@ -981,8 +981,8 @@ + + N: Nigel Gamble + E: nigel@nrg.org +-E: nigel@sgi.com + D: Interrupt-driven printer driver ++D: Preemptible kernel + S: 120 Alley Way + S: Mountain View, California 94040 + S: USA +diff -Nur linux_c860_org/Documentation/Configure.help linux/Documentation/Configure.help +--- linux_c860_org/Documentation/Configure.help 2002-10-09 10:20:29.000000000 +0900 ++++ linux/Documentation/Configure.help 2004-06-10 21:09:10.000000000 +0900 +@@ -266,6 +266,29 @@ + If you have a system with several CPUs, you do not need to say Y + here: the local APIC will be used automatically. + ++Preemptible Kernel ++CONFIG_PREEMPT ++ This option reduces the latency of the kernel when reacting to ++ real-time or interactive events by allowing a low priority process to ++ be preempted even if it is in kernel mode executing a system call. ++ This allows applications to run more reliably even when the system is ++ under load. ++ ++ Say Y here if you are building a kernel for a desktop, embedded or ++ real-time system. Say N if you are unsure. ++ ++Break Selected Locks ++CONFIG_LOCK_BREAK ++ This option will break certain locks in high-latency regions ++ throughout the kernel. It is intended for use in conjunction with ++ the preemptible kernel (CONFIG_PREEMPT). Since in-kernel preemption ++ can not occur while locks are held, temporarily releasing and then ++ reacquiring long-held locks will further improve system response. ++ ++ Say Y if you are compiling for a system with strict latency ++ requirements such as an embedded, real-time, or audio processing ++ system. Say N otherwise. ++ + Kernel math emulation + CONFIG_MATH_EMULATION + Linux can emulate a math coprocessor (used for floating point +diff -Nur linux_c860_org/Documentation/preempt-locking.txt linux/Documentation/preempt-locking.txt +--- linux_c860_org/Documentation/preempt-locking.txt 1970-01-01 09:00:00.000000000 +0900 ++++ linux/Documentation/preempt-locking.txt 2004-06-10 21:09:10.000000000 +0900 +@@ -0,0 +1,104 @@ ++ Proper Locking Under a Preemptible Kernel: ++ Keeping Kernel Code Preempt-Safe ++ Robert Love ++ Last Updated: 22 Jan 2002 ++ ++ ++INTRODUCTION ++ ++ ++A preemptible kernel creates new locking issues. The issues are the same as ++those under SMP: concurrency and reentrancy. Thankfully, the Linux preemptible ++kernel model leverages existing SMP locking mechanisms. Thus, the kernel ++requires explicit additional locking for very few additional situations. ++ ++This document is for all kernel hackers. Developing code in the kernel ++requires protecting these situations. ++ ++ ++RULE #1: Per-CPU data structures need explicit protection ++ ++ ++Two similar problems arise. An example code snippet: ++ ++ struct this_needs_locking tux[NR_CPUS]; ++ tux[smp_processor_id()] = some_value; ++ /* task is preempted here... */ ++ something = tux[smp_processor_id()]; ++ ++First, since the data is per-CPU, it may not have explicit SMP locking, but ++require it otherwise. Second, when a preempted task is finally rescheduled, ++the previous value of smp_processor_id may not equal the current. You must ++protect these situations by disabling preemption around them. ++ ++ ++RULE #2: CPU state must be protected. ++ ++ ++Under preemption, the state of the CPU must be protected. This is arch- ++dependent, but includes CPU structures and state not preserved over a context ++switch. For example, on x86, entering and exiting FPU mode is now a critical ++section that must occur while preemption is disabled. Think what would happen ++if the kernel is executing a floating-point instruction and is then preempted. ++Remember, the kernel does not save FPU state except for user tasks. Therefore, ++upon preemption, the FPU registers will be sold to the lowest bidder. Thus, ++preemption must be disabled around such regions. ++ ++Note, some FPU functions are already explicitly preempt safe. For example, ++kernel_fpu_begin and kernel_fpu_end will disable and enable preemption. ++However, math_state_restore must be called with preemption disabled. ++ ++ ++RULE #3: Lock acquire and release must be performed by same task ++ ++ ++A lock acquired in one task must be released by the same task. This ++means you can't do oddball things like acquire a lock and go off to ++play while another task releases it. If you want to do something ++like this, acquire and release the task in the same code path and ++have the caller wait on an event by the other task. ++ ++ ++SOLUTION ++ ++ ++Data protection under preemption is achieved by disabling preemption for the ++duration of the critical region. ++ ++preempt_enable() decrement the preempt counter ++preempt_disable() increment the preempt counter ++preempt_enable_no_resched() decrement, but do not immediately preempt ++preempt_get_count() return the preempt counter ++ ++The functions are nestable. In other words, you can call preempt_disable ++n-times in a code path, and preemption will not be reenabled until the n-th ++call to preempt_enable. The preempt statements define to nothing if ++preemption is not enabled. ++ ++Note that you do not need to explicitly prevent preemption if you are holding ++any locks or interrupts are disabled, since preemption is implicitly disabled ++in those cases. ++ ++Example: ++ ++ cpucache_t *cc; /* this is per-CPU */ ++ preempt_disable(); ++ cc = cc_data(searchp); ++ if (cc && cc->avail) { ++ __free_block(searchp, cc_entry(cc), cc->avail); ++ cc->avail = 0; ++ } ++ preempt_enable(); ++ return 0; ++ ++Notice how the preemption statements must encompass every reference of the ++critical variables. Another example: ++ ++ int buf[NR_CPUS]; ++ set_cpu_val(buf); ++ if (buf[smp_processor_id()] == -1) printf(KERN_INFO "wee!\n"); ++ spin_lock(&buf_lock); ++ /* ... */ ++ ++This code is not preempt-safe, but see how easily we can fix it by simply ++moving the spin_lock up two lines. +diff -Nur linux_c860_org/MAINTAINERS linux/MAINTAINERS +--- linux_c860_org/MAINTAINERS 2002-08-26 14:43:17.000000000 +0900 ++++ linux/MAINTAINERS 2004-06-10 21:09:10.000000000 +0900 +@@ -1255,6 +1255,14 @@ + M: mostrows@styx.uwaterloo.ca + S: Maintained + ++PREEMPTIBLE KERNEL ++P: Robert M. Love ++M: rml@tech9.net ++L: linux-kernel@vger.kernel.org ++L: kpreempt-tech@lists.sourceforge.net ++W: http://tech9.net/rml/linux ++S: Supported ++ + PROMISE DC4030 CACHING DISK CONTROLLER DRIVER + P: Peter Denison + M: promise@pnd-pc.demon.co.uk +diff -Nur linux_c860_org/arch/alpha/kernel/entry.S linux/arch/alpha/kernel/entry.S +--- linux_c860_org/arch/alpha/kernel/entry.S 2002-08-26 14:39:34.000000000 +0900 ++++ linux/arch/alpha/kernel/entry.S 2004-06-10 21:09:10.000000000 +0900 +@@ -231,12 +231,12 @@ + .end kernel_clone + + /* +- * kernel_thread(fn, arg, clone_flags) ++ * arch_kernel_thread(fn, arg, clone_flags) + */ + .align 3 + .globl kernel_thread + .ent kernel_thread +-kernel_thread: ++arch_kernel_thread: + ldgp $29,0($27) /* we can be called from a module */ + .frame $30, 4*8, $26 + subq $30,4*8,$30 +diff -Nur linux_c860_org/arch/arm/boot/compressed/head-xscale.S linux/arch/arm/boot/compressed/head-xscale.S +--- linux_c860_org/arch/arm/boot/compressed/head-xscale.S 2002-12-18 19:27:19.000000000 +0900 ++++ linux/arch/arm/boot/compressed/head-xscale.S 2004-06-10 21:09:10.000000000 +0900 +@@ -5,6 +5,7 @@ + * + * ChangLog: + * 12-Dec-2002 Lineo Japan, Inc. ++ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa + */ + + #include +@@ -51,3 +52,7 @@ + #ifdef CONFIG_ARCH_PXA_CORGI + mov r7, #MACH_TYPE_CORGI + #endif ++ ++#ifdef CONFIG_ARCH_PXA_TOSA ++ mov r7, #MACH_TYPE_TOSA ++#endif +diff -Nur linux_c860_org/arch/arm/config.in linux/arch/arm/config.in +--- linux_c860_org/arch/arm/config.in 2003-10-09 14:41:35.000000000 +0900 ++++ linux/arch/arm/config.in 2004-06-10 21:10:22.000000000 +0900 +@@ -196,16 +196,33 @@ + dep_bool ' Using Trial 0' CONFIG_POODLE_TR0 $CONFIG_ARCH_PXA_POODLE + dep_bool ' SHARP Corgi' CONFIG_ARCH_PXA_CORGI $CONFIG_ARCH_PXA + dep_bool ' Using Trial 0' CONFIG_CORGI_TR0 $CONFIG_ARCH_PXA_CORGI ++dep_bool ' LCD Bufferable (EXPERIMENTAL)' CONFIG_CORGI_LCD_BUFF $CONFIG_ARCH_PXA_CORGI + dep_bool ' SHARP Shepherd' CONFIG_ARCH_PXA_SHEPHERD $CONFIG_ARCH_PXA_CORGI + dep_bool ' SHARP Husky' CONFIG_ARCH_PXA_HUSKY $CONFIG_ARCH_PXA_SHEPHERD + dep_bool ' SHARP Boxer' CONFIG_ARCH_PXA_BOXER $CONFIG_ARCH_PXA_HUSKY ++dep_bool ' SHARP Tosa' CONFIG_ARCH_PXA_TOSA $CONFIG_ARCH_PXA ++dep_bool ' SHARP Tosa skipping' CONFIG_ARCH_PXA_TOSA_SKIP $CONFIG_ARCH_PXA_TOSA + + if [ "$CONFIG_SA1100_COLLIE" = "y" -o "$CONFIG_SABINAL_DISCOVERY" = "y" -o \ +- "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then ++ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" -o \ ++ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then + define_bool CONFIG_ARCH_SHARP_SL y + fi + +-if [ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then ++ ++if [ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" -o \ ++ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then ++ bool 'Use clock change(cccr_change) enable (EXPERIMENTAL)' CONFIG_SL_CCCR_CHANGE ++ if [ "$CONFIG_SL_CCCR162" != "y" -a "$CONFIG_SL_CCCR_CHANGE" = "y" ]; then ++ bool 'Boot CCCR=0x242 (EXPERIMENTAL)' CONFIG_SL_CCCR242 ++ fi ++ if [ "$CONFIG_SL_CCCR242" != "y" -a "$CONFIG_SL_CCCR_CHANGE" = "y" ]; then ++ bool 'Boot CCCR=0x162 (DANGEROUS ESPECIALLY FOR SL-C700)' CONFIG_SL_CCCR162 ++ fi ++fi ++ ++if [ "$CONFIG_ARCH_PXA_POODLE" = "y" -o "$CONFIG_ARCH_PXA_CORGI" = "y" -o \ ++ "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then + comment 'Language type' + choice 'Language type' \ + "English CONFIG_ARCH_SHARP_SL_E \ +@@ -472,7 +489,10 @@ + else + define_bool CONFIG_DISCONTIGMEM n + fi +- ++dep_bool 'Preemptible Kernel' CONFIG_PREEMPT $CONFIG_CPU_32 ++if [ "$CONFIG_PREEMPT" = "y" ]; then ++ bool 'Break selected locks' CONFIG_LOCK_BREAK ++fi + endmenu + + mainmenu_option next_comment +@@ -628,6 +648,9 @@ + if [ "$CONFIG_DEVICEINFO" = "m" -a "$CONFIG_ARCH_PXA_CORGI" = "y" ]; then + define_tristate CONFIG_CORGI_DEVICEINFO m + fi ++if [ "$CONFIG_DEVICEINFO" = "m" -a "$CONFIG_ARCH_PXA_TOSA" = "y" ]; then ++ define_tristate CONFIG_TOSA_DEVICEINFO m ++fi + endmenu + + source drivers/parport/Config.in +diff -Nur linux_c860_org/arch/arm/def-configs/boxer-j linux/arch/arm/def-configs/boxer-j +--- linux_c860_org/arch/arm/def-configs/boxer-j 2003-11-07 11:37:08.000000000 +0900 ++++ linux/arch/arm/def-configs/boxer-j 2004-06-10 21:09:10.000000000 +0900 +@@ -299,6 +299,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/corgi linux/arch/arm/def-configs/corgi +--- linux_c860_org/arch/arm/def-configs/corgi 2002-11-26 15:25:56.000000000 +0900 ++++ linux/arch/arm/def-configs/corgi 2004-06-10 21:09:10.000000000 +0900 +@@ -295,6 +295,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/corgi_cramfs linux/arch/arm/def-configs/corgi_cramfs +--- linux_c860_org/arch/arm/def-configs/corgi_cramfs 2002-10-21 10:17:42.000000000 +0900 ++++ linux/arch/arm/def-configs/corgi_cramfs 2004-06-10 21:09:10.000000000 +0900 +@@ -297,6 +297,7 @@ + CONFIG_MTD_NAND_POST_BADBLOCK=y + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + # CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS is not set ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/corgi_initrd linux/arch/arm/def-configs/corgi_initrd +--- linux_c860_org/arch/arm/def-configs/corgi_initrd 2002-10-21 10:17:42.000000000 +0900 ++++ linux/arch/arm/def-configs/corgi_initrd 2004-06-10 21:09:10.000000000 +0900 +@@ -297,6 +297,7 @@ + CONFIG_MTD_NAND_POST_BADBLOCK=y + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + # CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS is not set ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/husky linux/arch/arm/def-configs/husky +--- linux_c860_org/arch/arm/def-configs/husky 2003-05-20 09:48:12.000000000 +0900 ++++ linux/arch/arm/def-configs/husky 2004-06-10 21:09:10.000000000 +0900 +@@ -298,6 +298,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/husky-j linux/arch/arm/def-configs/husky-j +--- linux_c860_org/arch/arm/def-configs/husky-j 2003-05-20 09:48:12.000000000 +0900 ++++ linux/arch/arm/def-configs/husky-j 2004-06-10 21:09:10.000000000 +0900 +@@ -298,6 +298,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/poodle linux/arch/arm/def-configs/poodle +--- linux_c860_org/arch/arm/def-configs/poodle 2002-11-26 15:25:56.000000000 +0900 ++++ linux/arch/arm/def-configs/poodle 2004-06-10 21:09:10.000000000 +0900 +@@ -295,6 +295,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_POODLE=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/poodle-j linux/arch/arm/def-configs/poodle-j +--- linux_c860_org/arch/arm/def-configs/poodle-j 2002-11-26 15:25:56.000000000 +0900 ++++ linux/arch/arm/def-configs/poodle-j 2004-06-10 21:09:10.000000000 +0900 +@@ -295,6 +295,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_POODLE=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/poodle_cramfs linux/arch/arm/def-configs/poodle_cramfs +--- linux_c860_org/arch/arm/def-configs/poodle_cramfs 2002-10-21 10:16:27.000000000 +0900 ++++ linux/arch/arm/def-configs/poodle_cramfs 2004-06-10 21:09:10.000000000 +0900 +@@ -298,6 +298,7 @@ + CONFIG_MTD_NAND_POST_BADBLOCK=y + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + # CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS is not set ++CONFIG_MTD_NAND_SHARP_SL_POODLE=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/shepherd linux/arch/arm/def-configs/shepherd +--- linux_c860_org/arch/arm/def-configs/shepherd 2003-04-04 08:55:58.000000000 +0900 ++++ linux/arch/arm/def-configs/shepherd 2004-06-10 21:09:10.000000000 +0900 +@@ -297,6 +297,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/shepherd-j linux/arch/arm/def-configs/shepherd-j +--- linux_c860_org/arch/arm/def-configs/shepherd-j 2003-04-04 08:56:28.000000000 +0900 ++++ linux/arch/arm/def-configs/shepherd-j 2004-06-10 21:09:10.000000000 +0900 +@@ -297,6 +297,7 @@ + # CONFIG_MTD_NAND_ERASE_BY_FORCE is not set + CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y + CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_CORGI=y + CONFIG_MTD_NAND_SHARP_SL=y + + # +diff -Nur linux_c860_org/arch/arm/def-configs/tosa-j linux/arch/arm/def-configs/tosa-j +--- linux_c860_org/arch/arm/def-configs/tosa-j 1970-01-01 09:00:00.000000000 +0900 ++++ linux/arch/arm/def-configs/tosa-j 2004-06-10 21:09:10.000000000 +0900 +@@ -0,0 +1,1156 @@ ++# ++# Automatically generated by make menuconfig: don't edit ++# ++CONFIG_ARM=y ++# CONFIG_EISA is not set ++# CONFIG_SBUS is not set ++# CONFIG_MCA is not set ++CONFIG_UID16=y ++CONFIG_RWSEM_GENERIC_SPINLOCK=y ++# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set ++# CONFIG_GENERIC_BUST_SPINLOCK is not set ++# CONFIG_GENERIC_ISA_DMA is not set ++ ++# ++# Code maturity level options ++# ++CONFIG_EXPERIMENTAL=y ++# CONFIG_OBSOLETE is not set ++ ++# ++# Loadable module support ++# ++CONFIG_MODULES=y ++# CONFIG_MODVERSIONS is not set ++CONFIG_KMOD=y ++ ++# ++# System Type ++# ++# CONFIG_ARCH_ANAKIN is not set ++# CONFIG_ARCH_ARCA5K is not set ++# CONFIG_ARCH_CLPS7500 is not set ++# CONFIG_ARCH_CLPS711X is not set ++# CONFIG_ARCH_CO285 is not set ++CONFIG_ARCH_PXA=y ++# CONFIG_ARCH_EBSA110 is not set ++# CONFIG_ARCH_CAMELOT is not set ++# CONFIG_ARCH_FOOTBRIDGE is not set ++# CONFIG_ARCH_INTEGRATOR is not set ++# CONFIG_ARCH_L7200 is not set ++# CONFIG_ARCH_MX1ADS is not set ++# CONFIG_ARCH_RPC is not set ++# CONFIG_ARCH_SA1100 is not set ++# CONFIG_ARCH_SHARK is not set ++ ++# ++# Archimedes/A5000 Implementations ++# ++# CONFIG_ARCH_ARC is not set ++# CONFIG_ARCH_A5K is not set ++ ++# ++# Footbridge Implementations ++# ++# CONFIG_ARCH_CATS is not set ++# CONFIG_ARCH_PERSONAL_SERVER is not set ++# CONFIG_ARCH_EBSA285_ADDIN is not set ++# CONFIG_ARCH_EBSA285_HOST is not set ++# CONFIG_ARCH_NETWINDER is not set ++ ++# ++# SA11x0 Implementations ++# ++# CONFIG_SA1100_ASSABET is not set ++# CONFIG_ASSABET_NEPONSET is not set ++# CONFIG_SA1100_ADSBITSY is not set ++# CONFIG_SA1100_BRUTUS is not set ++# CONFIG_SA1100_CEP is not set ++# CONFIG_SA1100_CERF is not set ++# CONFIG_SA1100_COLLIE is not set ++# CONFIG_LOCOMO is not set ++# CONFIG_COLLIE_TS is not set ++# CONFIG_COLLIE_TR0 is not set ++# CONFIG_COLLIE_TR1 is not set ++# CONFIG_COLLIE_DEV is not set ++# CONFIG_COLLIE_G is not set ++# CONFIG_SA1100_H3100 is not set ++# CONFIG_SA1100_H3600 is not set ++# CONFIG_SA1100_H3800 is not set ++# CONFIG_SA1100_H3XXX is not set ++# CONFIG_SA1100_EXTENEX1 is not set ++# CONFIG_SA1100_FLEXANET is not set ++# CONFIG_SA1100_FREEBIRD is not set ++# CONFIG_SA1100_FRODO is not set ++# CONFIG_SA1100_GRAPHICSCLIENT is not set ++# CONFIG_SA1100_GRAPHICSMASTER is not set ++# CONFIG_SA1100_BADGE4 is not set ++# CONFIG_SA1100_JORNADA720 is not set ++# CONFIG_SA1100_HUW_WEBPANEL is not set ++# CONFIG_SA1100_ITSY is not set ++# CONFIG_SA1100_LART is not set ++# CONFIG_SA1100_NANOENGINE is not set ++# CONFIG_SA1100_OMNIMETER is not set ++# CONFIG_SA1100_PANGOLIN is not set ++# CONFIG_SA1100_PLEB is not set ++# CONFIG_SA1100_PT_SYSTEM3 is not set ++# CONFIG_SA1100_SHANNON is not set ++# CONFIG_SA1100_SHERMAN is not set ++# CONFIG_SA1100_SIMPAD is not set ++# CONFIG_SA1100_PFS168 is not set ++# CONFIG_SA1100_VICTOR is not set ++# CONFIG_SA1100_XP860 is not set ++# CONFIG_SA1100_YOPY is not set ++# CONFIG_SA1100_USB is not set ++# CONFIG_SA1100_USB_NETLINK is not set ++# CONFIG_SA1100_USB_CHAR is not set ++# CONFIG_H3600_SLEEVE is not set ++ ++# ++# Intel PXA250/210 Implementations ++# ++# CONFIG_ARCH_LUBBOCK is not set ++# CONFIG_ARCH_PXA_IDP is not set ++# CONFIG_ARCH_PXA_CERF is not set ++# CONFIG_COTULLA_DMA is not set ++# CONFIG_SABINAL_DISCOVERY is not set ++# CONFIG_ARCH_SABINAL is not set ++# CONFIG_ARCH_PXA_POODLE is not set ++# CONFIG_POODLE_TR0 is not set ++# CONFIG_ARCH_PXA_CORGI is not set ++# CONFIG_CORGI_TR0 is not set ++# CONFIG_ARCH_PXA_SHEPHERD is not set ++# CONFIG_ARCH_PXA_HUSKY is not set ++CONFIG_ARCH_PXA_TOSA=y ++CONFIG_ARCH_PXA_TOSA_SKIP=y ++CONFIG_ARCH_SHARP_SL=y ++# CONFIG_ARCH_SHARP_SL_E is not set ++# CONFIG_ARCH_SHARP_SL_V is not set ++# CONFIG_ARCH_SHARP_SL_G is not set ++CONFIG_ARCH_SHARP_SL_J=y ++# CONFIG_ARCH_SHARP_SL_S is not set ++# CONFIG_ARCH_SHARP_SL_I is not set ++# CONFIG_PXA_USB is not set ++# CONFIG_PXA_USB_NETLINK is not set ++# CONFIG_PXA_USB_CHAR is not set ++ ++# ++# CLPS711X/EP721X Implementations ++# ++# CONFIG_ARCH_AUTCPU12 is not set ++# CONFIG_ARCH_CDB89712 is not set ++# CONFIG_ARCH_CLEP7312 is not set ++# CONFIG_ARCH_EDB7211 is not set ++# CONFIG_ARCH_P720T is not set ++# CONFIG_ARCH_FORTUNET is not set ++# CONFIG_ARCH_EP7211 is not set ++# CONFIG_ARCH_EP7212 is not set ++# CONFIG_ARCH_ACORN is not set ++# CONFIG_FOOTBRIDGE is not set ++# CONFIG_FOOTBRIDGE_HOST is not set ++# CONFIG_FOOTBRIDGE_ADDIN is not set ++CONFIG_CPU_32=y ++# CONFIG_CPU_26 is not set ++# CONFIG_CPU_32v3 is not set ++# CONFIG_CPU_32v4 is not set ++# CONFIG_CPU_ARM610 is not set ++# CONFIG_CPU_ARM710 is not set ++# CONFIG_CPU_ARM720T is not set ++# CONFIG_CPU_ARM920T is not set ++# CONFIG_CPU_ARM922T is not set ++# CONFIG_PLD is not set ++# CONFIG_CPU_ARM926T is not set ++# CONFIG_CPU_ARM1020 is not set ++# CONFIG_CPU_SA110 is not set ++# CONFIG_CPU_SA1100 is not set ++CONFIG_CPU_32v5=y ++CONFIG_CPU_XSCALE=y ++CONFIG_BATT=y ++# CONFIG_XSCALE_CACHE_ERRATA is not set ++CONFIG_ARM_THUMB=y ++CONFIG_ARM_FCSE=y ++# CONFIG_DISCONTIGMEM is not set ++ ++# ++# General setup ++# ++# CONFIG_PCI is not set ++# CONFIG_ISA is not set ++# CONFIG_ISA_DMA is not set ++# CONFIG_ZBOOT_ROM is not set ++CONFIG_ZBOOT_ROM_TEXT=0 ++CONFIG_ZBOOT_ROM_BSS=0 ++CONFIG_HOTPLUG=y ++ ++# ++# PCMCIA/CardBus support ++# ++CONFIG_PCMCIA=y ++# CONFIG_I82092 is not set ++# CONFIG_I82365 is not set ++# CONFIG_TCIC is not set ++# CONFIG_PCMCIA_CLPS6700 is not set ++# CONFIG_PCMCIA_SA1100 is not set ++CONFIG_PCMCIA_PXA=y ++CONFIG_NET=y ++CONFIG_SYSVIPC=y ++# CONFIG_BSD_PROCESS_ACCT is not set ++CONFIG_SYSCTL=y ++CONFIG_FPE_NWFPE=y ++# CONFIG_FPE_FASTFPE is not set ++CONFIG_KCORE_ELF=y ++# CONFIG_KCORE_AOUT is not set ++CONFIG_BINFMT_AOUT=y ++CONFIG_BINFMT_ELF=y ++# CONFIG_BINFMT_MISC is not set ++CONFIG_PM=y ++CONFIG_APM=y ++# CONFIG_APM_IGNORE_USER_SUSPEND is not set ++CONFIG_APM_CPU_IDLE=y ++CONFIG_APM_DISPLAY_BLANK=y ++CONFIG_APM_RTC_IS_GMT=y ++# CONFIG_ARTHUR is not set ++CONFIG_CMDLINE="console=ttyS0 root=/dev/mtdblock2" ++CONFIG_SHARPSL_BOOTLDR_PARAMS=y ++CONFIG_ALIGNMENT_TRAP=y ++CONFIG_FREEPG_SIGNAL=y ++CONFIG_OOM_KILL_SURVIVAL=y ++CONFIG_DEVICEINFO=y ++ ++# ++# Parallel port support ++# ++# CONFIG_PARPORT is not set ++ ++# ++# Memory Technology Devices (MTD) ++# ++CONFIG_MTD=y ++# CONFIG_MTD_DEBUG is not set ++CONFIG_MTD_PARTITIONS=y ++# CONFIG_MTD_CONCAT is not set ++# CONFIG_MTD_REDBOOT_PARTS is not set ++CONFIG_MTD_CMDLINE_PARTS=y ++# CONFIG_MTD_AFS_PARTS is not set ++CONFIG_MTD_CHAR=y ++CONFIG_MTD_BLOCK=y ++# CONFIG_FTL is not set ++# CONFIG_NFTL is not set ++ ++# ++# RAM/ROM/Flash chip drivers ++# ++# CONFIG_MTD_CFI is not set ++# CONFIG_MTD_JEDECPROBE is not set ++# CONFIG_MTD_GEN_PROBE is not set ++# CONFIG_MTD_CFI_INTELEXT is not set ++# CONFIG_MTD_CFI_AMDSTD is not set ++# CONFIG_MTD_CFI_STAA is not set ++# CONFIG_MTD_RAM is not set ++CONFIG_MTD_ROM=y ++# CONFIG_MTD_ABSENT is not set ++# CONFIG_MTD_OBSOLETE_CHIPS is not set ++# CONFIG_MTD_AMDSTD is not set ++# CONFIG_MTD_SHARP is not set ++# CONFIG_MTD_JEDEC is not set ++ ++# ++# Mapping drivers for chip access ++# ++# CONFIG_MTD_PHYSMAP is not set ++# CONFIG_MTD_LUBBOCK is not set ++# CONFIG_MTD_NORA is not set ++# CONFIG_MTD_ARM_INTEGRATOR is not set ++# CONFIG_MTD_CDB89712 is not set ++# CONFIG_MTD_SA1100 is not set ++# CONFIG_MTD_DC21285 is not set ++# CONFIG_MTD_IQ80310 is not set ++# CONFIG_MTD_FORTUNET is not set ++# CONFIG_MTD_PXA_CERF is not set ++# CONFIG_MTD_EPXA10DB is not set ++# CONFIG_MTD_AUTCPU12 is not set ++# CONFIG_MTD_EDB7312 is not set ++# CONFIG_MTD_IMPA7 is not set ++# CONFIG_MTD_DISCOVERY is not set ++CONFIG_MTD_SHARP_SL=y ++# CONFIG_MTD_PCI is not set ++ ++# ++# Self-contained MTD device drivers ++# ++# CONFIG_MTD_PMC551 is not set ++# CONFIG_MTD_SLRAM is not set ++# CONFIG_MTD_MTDROM_SA1100 is not set ++# CONFIG_MTD_MTDRAM_SA1100 is not set ++# CONFIG_MTD_MTDRAM is not set ++# CONFIG_MTD_MTDRAM_SHARP_SL is not set ++# CONFIG_MTD_BLKMTD is not set ++# CONFIG_MTD_DOC1000 is not set ++# CONFIG_MTD_DOC2000 is not set ++# CONFIG_MTD_DOC2001 is not set ++# CONFIG_MTD_DOCPROBE is not set ++ ++# ++# NAND Flash Device Drivers ++# ++CONFIG_MTD_NAND=y ++CONFIG_MTD_NAND_ECC=y ++CONFIG_MTD_NAND_VERIFY_WRITE=y ++CONFIG_MTD_NAND_POST_BADBLOCK=y ++# CONFIG_MTD_NAND_ERASE_BY_FORCE is not set ++CONFIG_MTD_NAND_LOGICAL_ADDRESS_ACCESS=y ++CONFIG_MTD_NAND_PAGE_CACHE=y ++CONFIG_MTD_NAND_SHARP_SL_TC6393=y ++# CONFIG_MTD_NAND_SHARP_SL is not set ++ ++# ++# Plug and Play configuration ++# ++# CONFIG_PNP is not set ++# CONFIG_ISAPNP is not set ++ ++# ++# Block devices ++# ++# CONFIG_BLK_DEV_FD is not set ++# CONFIG_BLK_DEV_XD is not set ++# CONFIG_PARIDE is not set ++# CONFIG_BLK_CPQ_DA is not set ++# CONFIG_BLK_CPQ_CISS_DA is not set ++# CONFIG_BLK_DEV_DAC960 is not set ++# CONFIG_BLK_DEV_COLLIE_MMCSD is not set ++CONFIG_BLK_DEV_SL_MMCSD=m ++CONFIG_BLK_DEV_SL_MMCSD_PSAVE=y ++CONFIG_BLK_DEV_LOOP=y ++# CONFIG_BLK_DEV_NBD is not set ++CONFIG_BLK_DEV_RAM=y ++CONFIG_BLK_DEV_RAM_SIZE=8192 ++CONFIG_BLK_DEV_INITRD=y ++ ++# ++# Multi-device support (RAID and LVM) ++# ++# CONFIG_MD is not set ++# CONFIG_BLK_DEV_MD is not set ++# CONFIG_MD_LINEAR is not set ++# CONFIG_MD_RAID0 is not set ++# CONFIG_MD_RAID1 is not set ++# CONFIG_MD_RAID5 is not set ++# CONFIG_MD_MULTIPATH is not set ++# CONFIG_BLK_DEV_LVM is not set ++ ++# ++# Networking options ++# ++CONFIG_PACKET=y ++CONFIG_PACKET_MMAP=y ++CONFIG_NETLINK_DEV=y ++CONFIG_NETFILTER=y ++# CONFIG_NETFILTER_DEBUG is not set ++# CONFIG_FILTER is not set ++CONFIG_UNIX=y ++CONFIG_INET=y ++# CONFIG_IP_MULTICAST is not set ++# CONFIG_IP_ADVANCED_ROUTER is not set ++# CONFIG_IP_PNP is not set ++# CONFIG_NET_IPIP is not set ++# CONFIG_NET_IPGRE is not set ++# CONFIG_ARPD is not set ++# CONFIG_INET_ECN is not set ++# CONFIG_SYN_COOKIES is not set ++ ++# ++# IP: Netfilter Configuration ++# ++# CONFIG_IP_NF_CONNTRACK is not set ++# CONFIG_IP_NF_QUEUE is not set ++# CONFIG_IP_NF_IPTABLES is not set ++# CONFIG_IP_NF_COMPAT_IPCHAINS is not set ++# CONFIG_IP_NF_COMPAT_IPFWADM is not set ++# CONFIG_IPV6 is not set ++# CONFIG_KHTTPD is not set ++# CONFIG_ATM is not set ++# CONFIG_VLAN_8021Q is not set ++# CONFIG_IPX is not set ++# CONFIG_ATALK is not set ++# CONFIG_DECNET is not set ++# CONFIG_BRIDGE is not set ++# CONFIG_X25 is not set ++# CONFIG_LAPB is not set ++# CONFIG_LLC is not set ++# CONFIG_NET_DIVERT is not set ++# CONFIG_ECONET is not set ++# CONFIG_WAN_ROUTER is not set ++# CONFIG_NET_FASTROUTE is not set ++# CONFIG_NET_HW_FLOWCONTROL is not set ++ ++# ++# QoS and/or fair queueing ++# ++# CONFIG_NET_SCHED is not set ++ ++# ++# Network device support ++# ++CONFIG_NETDEVICES=y ++ ++# ++# ARCnet devices ++# ++# CONFIG_ARCNET is not set ++# CONFIG_DUMMY is not set ++# CONFIG_BONDING is not set ++# CONFIG_EQUALIZER is not set ++# CONFIG_TUN is not set ++# CONFIG_ETHERTAP is not set ++ ++# ++# Ethernet (10 or 100Mbit) ++# ++CONFIG_NET_ETHERNET=y ++# CONFIG_ARM_AM79C961A is not set ++# CONFIG_SUNLANCE is not set ++# CONFIG_SUNBMAC is not set ++# CONFIG_SUNQE is not set ++# CONFIG_SUNGEM is not set ++# CONFIG_NET_VENDOR_3COM is not set ++# CONFIG_LANCE is not set ++# CONFIG_NET_VENDOR_SMC is not set ++# CONFIG_NET_VENDOR_RACAL is not set ++# CONFIG_NET_ISA is not set ++# CONFIG_NET_PCI is not set ++# CONFIG_NET_POCKET is not set ++ ++# ++# Ethernet (1000 Mbit) ++# ++# CONFIG_ACENIC is not set ++# CONFIG_DL2K is not set ++# CONFIG_MYRI_SBUS is not set ++# CONFIG_NS83820 is not set ++# CONFIG_HAMACHI is not set ++# CONFIG_YELLOWFIN is not set ++# CONFIG_SK98LIN is not set ++# CONFIG_FDDI is not set ++# CONFIG_HIPPI is not set ++# CONFIG_PLIP is not set ++CONFIG_PPP=y ++# CONFIG_PPP_MULTILINK is not set ++# CONFIG_PPP_FILTER is not set ++CONFIG_PPP_ASYNC=y ++# CONFIG_PPP_SYNC_TTY is not set ++# CONFIG_PPP_DEFLATE is not set ++CONFIG_PPP_BSDCOMP=y ++# CONFIG_PPPOE is not set ++# CONFIG_SLIP is not set ++ ++# ++# Wireless LAN (non-hamradio) ++# ++CONFIG_NET_RADIO=y ++# CONFIG_STRIP is not set ++# CONFIG_WAVELAN is not set ++# CONFIG_ARLAN is not set ++# CONFIG_AIRONET4500 is not set ++# CONFIG_AIRONET4500_NONCS is not set ++# CONFIG_AIRONET4500_PROC is not set ++CONFIG_HERMES=y ++CONFIG_PCMCIA_HERMES=y ++# CONFIG_AIRO_CS is not set ++CONFIG_NET_WIRELESS=y ++ ++# ++# Token Ring devices ++# ++# CONFIG_TR is not set ++# CONFIG_NET_FC is not set ++# CONFIG_RCPCI is not set ++# CONFIG_SHAPER is not set ++ ++# ++# Wan interfaces ++# ++# CONFIG_WAN is not set ++ ++# ++# PCMCIA network device support ++# ++CONFIG_NET_PCMCIA=y ++# CONFIG_PCMCIA_3C589 is not set ++# CONFIG_PCMCIA_3C574 is not set ++# CONFIG_PCMCIA_FMVJ18X is not set ++CONFIG_PCMCIA_PCNET=y ++# CONFIG_PCMCIA_AXNET is not set ++# CONFIG_PCMCIA_NMCLAN is not set ++# CONFIG_PCMCIA_SMC91C92 is not set ++# CONFIG_PCMCIA_XIRC2PS is not set ++# CONFIG_ARCNET_COM20020_CS is not set ++# CONFIG_PCMCIA_IBMTR is not set ++# CONFIG_NET_PCMCIA_RADIO is not set ++ ++# ++# Amateur Radio support ++# ++# CONFIG_HAMRADIO is not set ++ ++# ++# IrDA (infrared) support ++# ++CONFIG_IRDA=y ++# CONFIG_IRLAN is not set ++# CONFIG_IRNET is not set ++CONFIG_IRCOMM=y ++# CONFIG_IRDA_ULTRA is not set ++# CONFIG_IRDA_CACHE_LAST_LSAP is not set ++CONFIG_IRDA_FAST_RR=y ++# CONFIG_IRDA_DEBUG is not set ++ ++# ++# Infrared-port device drivers ++# ++CONFIG_IRTTY_SIR=y ++# CONFIG_IRPORT_SIR is not set ++# CONFIG_DONGLE is not set ++# CONFIG_USB_IRDA is not set ++# CONFIG_NSC_FIR is not set ++# CONFIG_WINBOND_FIR is not set ++# CONFIG_TOSHIBA_FIR is not set ++# CONFIG_SMC_IRCC_FIR is not set ++# CONFIG_ALI_FIR is not set ++# CONFIG_VLSI_FIR is not set ++ ++# ++# ATA/IDE/MFM/RLL support ++# ++CONFIG_IDE=y ++ ++# ++# IDE, ATA and ATAPI Block devices ++# ++CONFIG_BLK_DEV_IDE=y ++# CONFIG_BLK_DEV_HD_IDE is not set ++# CONFIG_BLK_DEV_HD is not set ++CONFIG_BLK_DEV_IDEDISK=y ++# CONFIG_IDEDISK_MULTI_MODE is not set ++# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set ++# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set ++# CONFIG_BLK_DEV_IDEDISK_IBM is not set ++# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set ++# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set ++# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set ++# CONFIG_BLK_DEV_IDEDISK_WD is not set ++# CONFIG_BLK_DEV_COMMERIAL is not set ++# CONFIG_BLK_DEV_TIVO is not set ++CONFIG_BLK_DEV_IDECS=y ++# CONFIG_BLK_DEV_IDECD is not set ++# CONFIG_BLK_DEV_IDETAPE is not set ++# CONFIG_BLK_DEV_IDEFLOPPY is not set ++# CONFIG_BLK_DEV_IDESCSI is not set ++# CONFIG_BLK_DEV_CMD640 is not set ++# CONFIG_BLK_DEV_CMD640_ENHANCED is not set ++# CONFIG_BLK_DEV_ISAPNP is not set ++# CONFIG_IDE_CHIPSETS is not set ++# CONFIG_IDEDMA_AUTO is not set ++# CONFIG_DMA_NONPCI is not set ++# CONFIG_BLK_DEV_IDE_MODES is not set ++# CONFIG_BLK_DEV_ATARAID is not set ++# CONFIG_BLK_DEV_ATARAID_PDC is not set ++# CONFIG_BLK_DEV_ATARAID_HPT is not set ++ ++# ++# SCSI support ++# ++CONFIG_SCSI=y ++CONFIG_BLK_DEV_SD=y ++CONFIG_SD_EXTRA_DEVS=40 ++# CONFIG_CHR_DEV_ST is not set ++# CONFIG_CHR_DEV_OSST is not set ++# CONFIG_BLK_DEV_SR is not set ++# CONFIG_CHR_DEV_SG is not set ++# CONFIG_SCSI_DEBUG_QUEUES is not set ++# CONFIG_SCSI_MULTI_LUN is not set ++# CONFIG_SCSI_CONSTANTS is not set ++# CONFIG_SCSI_LOGGING is not set ++ ++# ++# SCSI low-level drivers ++# ++# CONFIG_SCSI_7000FASST is not set ++# CONFIG_SCSI_ACARD is not set ++# CONFIG_SCSI_AHA152X is not set ++# CONFIG_SCSI_AHA1542 is not set ++# CONFIG_SCSI_AHA1740 is not set ++# CONFIG_SCSI_AACRAID is not set ++# CONFIG_SCSI_AIC7XXX is not set ++# CONFIG_SCSI_AIC7XXX_OLD is not set ++# CONFIG_SCSI_DPT_I2O is not set ++# CONFIG_SCSI_ADVANSYS is not set ++# CONFIG_SCSI_IN2000 is not set ++# CONFIG_SCSI_AM53C974 is not set ++# CONFIG_SCSI_MEGARAID is not set ++# CONFIG_SCSI_BUSLOGIC is not set ++# CONFIG_SCSI_DMX3191D is not set ++# CONFIG_SCSI_DTC3280 is not set ++# CONFIG_SCSI_EATA is not set ++# CONFIG_SCSI_EATA_DMA is not set ++# CONFIG_SCSI_EATA_PIO is not set ++# CONFIG_SCSI_FUTURE_DOMAIN is not set ++# CONFIG_SCSI_GDTH is not set ++# CONFIG_SCSI_GENERIC_NCR5380 is not set ++# CONFIG_SCSI_INITIO is not set ++# CONFIG_SCSI_INIA100 is not set ++# CONFIG_SCSI_NCR53C406A is not set ++# CONFIG_SCSI_NCR53C7xx is not set ++# CONFIG_SCSI_PAS16 is not set ++# CONFIG_SCSI_PCI2000 is not set ++# CONFIG_SCSI_PCI2220I is not set ++# CONFIG_SCSI_PSI240I is not set ++# CONFIG_SCSI_QLOGIC_FAS is not set ++# CONFIG_SCSI_SIM710 is not set ++# CONFIG_SCSI_SYM53C416 is not set ++# CONFIG_SCSI_T128 is not set ++# CONFIG_SCSI_U14_34F is not set ++# CONFIG_SCSI_DEBUG is not set ++ ++# ++# PCMCIA SCSI adapter support ++# ++# CONFIG_SCSI_PCMCIA is not set ++ ++# ++# I2O device support ++# ++# CONFIG_I2O is not set ++# CONFIG_I2O_BLOCK is not set ++# CONFIG_I2O_LAN is not set ++# CONFIG_I2O_SCSI is not set ++# CONFIG_I2O_PROC is not set ++ ++# ++# ISDN subsystem ++# ++# CONFIG_ISDN is not set ++ ++# ++# Input core support ++# ++CONFIG_INPUT=y ++CONFIG_INPUT_KEYBDEV=y ++CONFIG_INPUT_MOUSEDEV=y ++CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 ++CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640 ++CONFIG_INPUT_JOYDEV=m ++CONFIG_INPUT_EVDEV=m ++ ++# ++# Character devices ++# ++CONFIG_VT=y ++CONFIG_VT_CONSOLE=y ++CONFIG_SERIAL=y ++# CONFIG_SERIAL_CONSOLE is not set ++CONFIG_SERIAL_SL_SERIES=y ++CONFIG_BLUETOOTH_SL=y ++# CONFIG_SERIAL_EXTENDED is not set ++# CONFIG_SERIAL_NONSTANDARD is not set ++ ++# ++# Serial drivers ++# ++# CONFIG_SERIAL_ANAKIN is not set ++# CONFIG_SERIAL_ANAKIN_CONSOLE is not set ++# CONFIG_SERIAL_AMBA is not set ++# CONFIG_SERIAL_AMBA_CONSOLE is not set ++# CONFIG_SERIAL_CLPS711X is not set ++# CONFIG_SERIAL_CLPS711X_CONSOLE is not set ++# CONFIG_SERIAL_21285 is not set ++# CONFIG_SERIAL_21285_OLD is not set ++# CONFIG_SERIAL_21285_CONSOLE is not set ++# CONFIG_SERIAL_UART00 is not set ++# CONFIG_SERIAL_UART00_CONSOLE is not set ++# CONFIG_SERIAL_SA1100 is not set ++# CONFIG_SERIAL_SA1100_CONSOLE is not set ++# CONFIG_SERIAL_8250 is not set ++# CONFIG_SERIAL_8250_CONSOLE is not set ++# CONFIG_SERIAL_8250_EXTENDED is not set ++# CONFIG_SERIAL_8250_MANY_PORTS is not set ++# CONFIG_SERIAL_8250_SHARE_IRQ is not set ++# CONFIG_SERIAL_8250_DETECT_IRQ is not set ++# CONFIG_SERIAL_8250_MULTIPORT is not set ++# CONFIG_SERIAL_8250_HUB6 is not set ++CONFIG_UNIX98_PTYS=y ++CONFIG_UNIX98_PTY_COUNT=256 ++ ++# ++# I2C support ++# ++# CONFIG_I2C is not set ++ ++# ++# L3 serial bus support ++# ++# CONFIG_L3 is not set ++# CONFIG_L3_ALGOBIT is not set ++# CONFIG_L3_BIT_SA1100_GPIO is not set ++# CONFIG_L3_SA1111 is not set ++# CONFIG_BIT_SA1100_GPIO is not set ++ ++# ++# Mice ++# ++# CONFIG_BUSMOUSE is not set ++# CONFIG_MOUSE is not set ++ ++# ++# Joysticks ++# ++# CONFIG_INPUT_GAMEPORT is not set ++# CONFIG_INPUT_NS558 is not set ++# CONFIG_INPUT_LIGHTNING is not set ++# CONFIG_INPUT_PCIGAME is not set ++# CONFIG_INPUT_CS461X is not set ++# CONFIG_INPUT_EMU10K1 is not set ++# CONFIG_INPUT_SERIO is not set ++# CONFIG_INPUT_SERPORT is not set ++# CONFIG_INPUT_ANALOG is not set ++# CONFIG_INPUT_A3D is not set ++# CONFIG_INPUT_ADI is not set ++# CONFIG_INPUT_COBRA is not set ++# CONFIG_INPUT_GF2K is not set ++# CONFIG_INPUT_GRIP is not set ++# CONFIG_INPUT_INTERACT is not set ++# CONFIG_INPUT_TMDC is not set ++# CONFIG_INPUT_SIDEWINDER is not set ++# CONFIG_INPUT_IFORCE_USB is not set ++# CONFIG_INPUT_IFORCE_232 is not set ++# CONFIG_INPUT_WARRIOR is not set ++# CONFIG_INPUT_MAGELLAN is not set ++# CONFIG_INPUT_SPACEORB is not set ++# CONFIG_INPUT_SPACEBALL is not set ++# CONFIG_INPUT_STINGER is not set ++# CONFIG_INPUT_DB9 is not set ++# CONFIG_INPUT_GAMECON is not set ++# CONFIG_INPUT_TURBOGRAFX is not set ++# CONFIG_QIC02_TAPE is not set ++ ++# ++# Watchdog Cards ++# ++# CONFIG_WATCHDOG is not set ++# CONFIG_INTEL_RNG is not set ++# CONFIG_NVRAM is not set ++# CONFIG_RTC is not set ++CONFIG_COTULLA_RTC=y ++# CONFIG_ADS7846_TS is not set ++CONFIG_TOSA_TS=y ++# CONFIG_DTLK is not set ++# CONFIG_R3964 is not set ++# CONFIG_APPLICOM is not set ++ ++# ++# Ftape, the floppy tape device driver ++# ++# CONFIG_FTAPE is not set ++# CONFIG_AGP is not set ++# CONFIG_DRM is not set ++ ++# ++# PCMCIA character devices ++# ++CONFIG_PCMCIA_SERIAL_CS=y ++CONFIG_PCMCIA_CHRDEV=y ++ ++# ++# Multimedia devices ++# ++# CONFIG_VIDEO_DEV is not set ++ ++# ++# File systems ++# ++# CONFIG_QUOTA is not set ++# CONFIG_AUTOFS_FS is not set ++# CONFIG_AUTOFS4_FS is not set ++CONFIG_FS_SYNC=y ++# CONFIG_REISERFS_FS is not set ++# CONFIG_REISERFS_CHECK is not set ++# CONFIG_REISERFS_PROC_INFO is not set ++# CONFIG_ADFS_FS is not set ++# CONFIG_ADFS_FS_RW is not set ++# CONFIG_AFFS_FS is not set ++# CONFIG_HFS_FS is not set ++# CONFIG_BFS_FS is not set ++# CONFIG_EXT3_FS is not set ++# CONFIG_JBD is not set ++# CONFIG_JBD_DEBUG is not set ++CONFIG_FAT_FS=y ++# CONFIG_MSDOS_FS is not set ++# CONFIG_UMSDOS_FS is not set ++CONFIG_VFAT_FS=y ++# CONFIG_EFS_FS is not set ++# CONFIG_JFFS_FS is not set ++CONFIG_JFFS2_FS=y ++CONFIG_JFFS2_FS_DEBUG=0 ++CONFIG_JFFS2_FS_NAND=y ++CONFIG_JFFS2_PROC_FS=y ++CONFIG_JFFS2_NODEMERGE=y ++CONFIG_JFFS2_DYNFRAGTREE=y ++CONFIG_CRAMFS=y ++CONFIG_TMPFS=y ++# CONFIG_RAMFS is not set ++# CONFIG_ISO9660_FS is not set ++# CONFIG_JOLIET is not set ++# CONFIG_ZISOFS is not set ++CONFIG_MINIX_FS=y ++# CONFIG_VXFS_FS is not set ++# CONFIG_NTFS_FS is not set ++# CONFIG_NTFS_RW is not set ++# CONFIG_HPFS_FS is not set ++CONFIG_PROC_FS=y ++# CONFIG_DEVFS_FS is not set ++# CONFIG_DEVFS_MOUNT is not set ++# CONFIG_DEVFS_DEBUG is not set ++CONFIG_DEVPTS_FS=y ++# CONFIG_QNX4FS_FS is not set ++# CONFIG_QNX4FS_RW is not set ++# CONFIG_ROMFS_FS is not set ++CONFIG_EXT2_FS=y ++# CONFIG_SYSV_FS is not set ++# CONFIG_UDF_FS is not set ++# CONFIG_UDF_RW is not set ++# CONFIG_UFS_FS is not set ++# CONFIG_UFS_FS_WRITE is not set ++ ++# ++# Network File Systems ++# ++# CONFIG_CODA_FS is not set ++# CONFIG_INTERMEZZO_FS is not set ++CONFIG_NFS_FS=y ++CONFIG_NFS_V3=y ++# CONFIG_ROOT_NFS is not set ++# CONFIG_NFSD is not set ++# CONFIG_NFSD_V3 is not set ++CONFIG_SUNRPC=y ++CONFIG_LOCKD=y ++CONFIG_LOCKD_V4=y ++CONFIG_SMB_FS=y ++# CONFIG_SMB_NLS_DEFAULT is not set ++# CONFIG_NCP_FS is not set ++# CONFIG_NCPFS_PACKET_SIGNING is not set ++# CONFIG_NCPFS_IOCTL_LOCKING is not set ++# CONFIG_NCPFS_STRONG is not set ++# CONFIG_NCPFS_NFS_NS is not set ++# CONFIG_NCPFS_OS2_NS is not set ++# CONFIG_NCPFS_SMALLDOS is not set ++# CONFIG_NCPFS_NLS is not set ++# CONFIG_NCPFS_EXTRAS is not set ++# CONFIG_ZISOFS_FS is not set ++CONFIG_ZLIB_FS_INFLATE=y ++ ++# ++# Partition Types ++# ++CONFIG_PARTITION_ADVANCED=y ++# CONFIG_ACORN_PARTITION is not set ++# CONFIG_OSF_PARTITION is not set ++# CONFIG_AMIGA_PARTITION is not set ++# CONFIG_ATARI_PARTITION is not set ++# CONFIG_MAC_PARTITION is not set ++CONFIG_MSDOS_PARTITION=y ++# CONFIG_BSD_DISKLABEL is not set ++# CONFIG_MINIX_SUBPARTITION is not set ++# CONFIG_SOLARIS_X86_PARTITION is not set ++# CONFIG_UNIXWARE_DISKLABEL is not set ++# CONFIG_LDM_PARTITION is not set ++# CONFIG_SGI_PARTITION is not set ++# CONFIG_ULTRIX_PARTITION is not set ++# CONFIG_SUN_PARTITION is not set ++CONFIG_SMB_NLS=y ++CONFIG_NLS=y ++ ++# ++# Native Language Support ++# ++CONFIG_NLS_DEFAULT="iso8859-1" ++CONFIG_NLS_CODEPAGE_437=y ++# CONFIG_NLS_CODEPAGE_737 is not set ++# CONFIG_NLS_CODEPAGE_775 is not set ++CONFIG_NLS_CODEPAGE_850=y ++# CONFIG_NLS_CODEPAGE_852 is not set ++# CONFIG_NLS_CODEPAGE_855 is not set ++# CONFIG_NLS_CODEPAGE_857 is not set ++# CONFIG_NLS_CODEPAGE_860 is not set ++# CONFIG_NLS_CODEPAGE_861 is not set ++# CONFIG_NLS_CODEPAGE_862 is not set ++# CONFIG_NLS_CODEPAGE_863 is not set ++# CONFIG_NLS_CODEPAGE_864 is not set ++# CONFIG_NLS_CODEPAGE_865 is not set ++# CONFIG_NLS_CODEPAGE_866 is not set ++# CONFIG_NLS_CODEPAGE_869 is not set ++# CONFIG_NLS_CODEPAGE_936 is not set ++# CONFIG_NLS_CODEPAGE_950 is not set ++CONFIG_NLS_CODEPAGE_932=y ++# CONFIG_NLS_CODEPAGE_949 is not set ++# CONFIG_NLS_CODEPAGE_874 is not set ++# CONFIG_NLS_ISO8859_8 is not set ++# CONFIG_NLS_CODEPAGE_1250 is not set ++# CONFIG_NLS_CODEPAGE_1251 is not set ++CONFIG_NLS_ISO8859_1=y ++# CONFIG_NLS_ISO8859_2 is not set ++# CONFIG_NLS_ISO8859_3 is not set ++# CONFIG_NLS_ISO8859_4 is not set ++# CONFIG_NLS_ISO8859_5 is not set ++# CONFIG_NLS_ISO8859_6 is not set ++# CONFIG_NLS_ISO8859_7 is not set ++# CONFIG_NLS_ISO8859_9 is not set ++# CONFIG_NLS_ISO8859_13 is not set ++# CONFIG_NLS_ISO8859_14 is not set ++# CONFIG_NLS_ISO8859_15 is not set ++# CONFIG_NLS_KOI8_R is not set ++# CONFIG_NLS_KOI8_U is not set ++CONFIG_NLS_UTF8=y ++ ++# ++# Console drivers ++# ++CONFIG_PC_KEYMAP=y ++# CONFIG_VGA_CONSOLE is not set ++ ++# ++# Frame-buffer support ++# ++CONFIG_FB=y ++CONFIG_DUMMY_CONSOLE=y ++# CONFIG_FB_COLLIE is not set ++# CONFIG_FB_ACORN is not set ++# CONFIG_FB_ANAKIN is not set ++# CONFIG_FB_CLPS711X is not set ++# CONFIG_FB_SA1100 is not set ++# CONFIG_FB_PXA is not set ++# CONFIG_FB_COTULLA is not set ++# CONFIG_FB_POODLE is not set ++# CONFIG_FB_CORGI is not set ++CONFIG_FB_TOSA=y ++CONFIG_SHARP_LOGO_SCREEN=y ++# CONFIG_FB_CYBER2000 is not set ++# CONFIG_FB_VIRTUAL is not set ++CONFIG_FBCON_ADVANCED=y ++# CONFIG_FBCON_MFB is not set ++# CONFIG_FBCON_CFB2 is not set ++# CONFIG_FBCON_CFB4 is not set ++# CONFIG_FBCON_CFB8 is not set ++CONFIG_FBCON_CFB16=y ++# CONFIG_FBCON_CFB24 is not set ++# CONFIG_FBCON_CFB32 is not set ++# CONFIG_FBCON_AFB is not set ++# CONFIG_FBCON_ILBM is not set ++# CONFIG_FBCON_IPLAN2P2 is not set ++# CONFIG_FBCON_IPLAN2P4 is not set ++# CONFIG_FBCON_IPLAN2P8 is not set ++# CONFIG_FBCON_MAC is not set ++# CONFIG_FBCON_VGA_PLANES is not set ++# CONFIG_FBCON_VGA is not set ++# CONFIG_FBCON_HGA is not set ++# CONFIG_FBCON_ROTATE_R is not set ++# CONFIG_FBCON_ROTATE_L is not set ++# CONFIG_FBCON_FONTWIDTH8_ONLY is not set ++CONFIG_FBCON_FONTS=y ++CONFIG_FONT_8x8=y ++CONFIG_FONT_8x16=y ++# CONFIG_FONT_SUN8x16 is not set ++# CONFIG_FONT_SUN12x22 is not set ++# CONFIG_FONT_6x11 is not set ++# CONFIG_FONT_PEARL_8x8 is not set ++# CONFIG_FONT_ACORN_8x8 is not set ++ ++# ++# Sound ++# ++CONFIG_SOUND=y ++# CONFIG_SOUND_BT878 is not set ++# CONFIG_SOUND_COLLIE_SSP is not set ++# CONFIG_SOUND_COLLIE_TC35143 is not set ++# CONFIG_SOUND_CMPCI is not set ++# CONFIG_SOUND_EMU10K1 is not set ++# CONFIG_MIDI_EMU10K1 is not set ++# CONFIG_SOUND_FUSION is not set ++# CONFIG_SOUND_CS4281 is not set ++# CONFIG_SOUND_ES1370 is not set ++# CONFIG_SOUND_ES1371 is not set ++# CONFIG_SOUND_ESSSOLO1 is not set ++# CONFIG_SOUND_MAESTRO is not set ++# CONFIG_SOUND_MAESTRO3 is not set ++# CONFIG_SOUND_ICH is not set ++# CONFIG_SOUND_RME96XX is not set ++# CONFIG_SOUND_SONICVIBES is not set ++# CONFIG_SOUND_TRIDENT is not set ++# CONFIG_SOUND_MSNDCLAS is not set ++# CONFIG_SOUND_MSNDPIN is not set ++# CONFIG_SOUND_VIA82CXXX is not set ++# CONFIG_MIDI_VIA82CXXX is not set ++# CONFIG_SOUND_OSS is not set ++# CONFIG_SOUND_WAVEARTIST is not set ++# CONFIG_SOUND_PXA_AC97 is not set ++# CONFIG_SOUND_POODLE is not set ++# CONFIG_SOUND_CORGI is not set ++CONFIG_SOUND_TOSA=y ++CONFIG_BUZZER_TOSA=y ++# CONFIG_SOUND_TVMIXER is not set ++ ++# ++# Multimedia Capabilities Port drivers ++# ++# CONFIG_MCP is not set ++# CONFIG_MCP_SA1100 is not set ++# CONFIG_MCP_UCB1200 is not set ++# CONFIG_MCP_UCB1200_AUDIO is not set ++# CONFIG_MCP_UCB1200_TS is not set ++# CONFIG_MCP_UCB1400_TS is not set ++ ++# ++# USB support ++# ++CONFIG_USB=y ++# CONFIG_USB_DEBUG is not set ++CONFIG_USB_DEVICEFS=y ++# CONFIG_USB_BANDWIDTH is not set ++# CONFIG_USB_LONG_TIMEOUT is not set ++# CONFIG_USB_UHCI is not set ++# CONFIG_USB_UHCI_ALT is not set ++# CONFIG_USB_OHCI is not set ++# CONFIG_USB_OHCI_SA1111 is not set ++CONFIG_USB_OHCI_TC6393=m ++CONFIG_USB_USE_INTERNAL_MEMORY=y ++# CONFIG_USB_AUDIO is not set ++# CONFIG_USB_BLUETOOTH is not set ++CONFIG_USB_STORAGE=m ++# CONFIG_USB_STORAGE_DEBUG is not set ++# CONFIG_USB_STORAGE_DATAFAB is not set ++# CONFIG_USB_STORAGE_FREECOM is not set ++CONFIG_USB_STORAGE_ISD200=y ++# CONFIG_USB_STORAGE_DPCM is not set ++# CONFIG_USB_STORAGE_HP8200e is not set ++# CONFIG_USB_STORAGE_SDDR09 is not set ++# CONFIG_USB_STORAGE_JUMPSHOT is not set ++CONFIG_USB_ACM=m ++# CONFIG_USB_PRINTER is not set ++CONFIG_USB_HID=m ++# CONFIG_USB_HIDDEV is not set ++CONFIG_USB_KBD=m ++CONFIG_USB_MOUSE=m ++# CONFIG_USB_WACOM is not set ++# CONFIG_USB_DC2XX is not set ++# CONFIG_USB_MDC800 is not set ++# CONFIG_USB_SCANNER is not set ++# CONFIG_USB_MICROTEK is not set ++# CONFIG_USB_HPUSBSCSI is not set ++# CONFIG_USB_PEGASUS is not set ++# CONFIG_USB_KAWETH is not set ++# CONFIG_USB_CATC is not set ++# CONFIG_USB_CDCETHER is not set ++# CONFIG_USB_USBNET is not set ++# CONFIG_USB_USS720 is not set ++ ++# ++# USB Serial Converter support ++# ++# CONFIG_USB_SERIAL is not set ++# CONFIG_USB_SERIAL_GENERIC is not set ++# CONFIG_USB_SERIAL_BELKIN is not set ++# CONFIG_USB_SERIAL_WHITEHEAT is not set ++# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set ++# CONFIG_USB_SERIAL_EMPEG is not set ++# CONFIG_USB_SERIAL_FTDI_SIO is not set ++# CONFIG_USB_SERIAL_VISOR is not set ++# CONFIG_USB_SERIAL_IPAQ is not set ++# CONFIG_USB_SERIAL_IR is not set ++# CONFIG_USB_SERIAL_EDGEPORT is not set ++# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set ++# CONFIG_USB_SERIAL_KEYSPAN is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set ++# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set ++# CONFIG_USB_SERIAL_MCT_U232 is not set ++# CONFIG_USB_SERIAL_KLSI is not set ++# CONFIG_USB_SERIAL_PL2303 is not set ++# CONFIG_USB_SERIAL_CYBERJACK is not set ++# CONFIG_USB_SERIAL_XIRCOM is not set ++# CONFIG_USB_SERIAL_OMNINET is not set ++# CONFIG_USB_RIO500 is not set ++ ++# ++# USB Device Support ++# ++CONFIG_USBD=m ++CONFIG_USBD_VENDORID=04DD ++CONFIG_USBD_PRODUCTID=9032 ++CONFIG_USBD_PRODUCT_NAME="SL-6000" ++CONFIG_USBD_MANUFACTURER="Sharp" ++# CONFIG_USBD_USE_SERIAL_NUMBER is not set ++CONFIG_USBD_SELFPOWERED=y ++CONFIG_USBD_MONITOR=m ++CONFIG_USBD_PROCFS=y ++ ++# ++# Network Function ++# ++CONFIG_USBD_NET=m ++CONFIG_USBD_NET_VENDORID=04DD ++CONFIG_USBD_NET_PRODUCTID=9032 ++CONFIG_USBD_NET_IFNAME="usbd" ++CONFIG_USBD_NET_OUT_ENDPOINT=1 ++CONFIG_USBD_NET_OUT_PKTSIZE=64 ++CONFIG_USBD_NET_IN_ENDPOINT=2 ++CONFIG_USBD_NET_IN_PKTSIZE=64 ++CONFIG_USBD_NET_INT_ENDPOINT=3 ++CONFIG_USBD_NET_INT_PKTSIZE=16 ++# CONFIG_USBD_NET_ALWAYSUP is not set ++# CONFIG_USBD_NET_SAFE is not set ++CONFIG_USBD_NET_MDLM=y ++# CONFIG_USBD_NET_CDC is not set ++CONFIG_USBD_NET_REMOTE_MACADDR="" ++CONFIG_USBD_NET_REMOTE_OUI=400002 ++CONFIG_USBD_MAC_AS_SERIAL_NUMBER=y ++CONFIG_USBD_NET_LOCAL_MACADDR="400001000001" ++CONFIG_USBD_NET_LOCAL_OUI=400001 ++ ++# ++# Serial Function ++# ++# CONFIG_USBD_SERIAL is not set ++ ++# ++# USB Device Bus Interface Support ++# ++CONFIG_USBD_PXA_BUS=m ++# CONFIG_USBD_GENERIC_BUS is not set ++ ++# ++# Bluetooth support ++# ++# CONFIG_BLUEZ is not set ++ ++# ++# Kernel hacking ++# ++CONFIG_FRAME_POINTER=y ++# CONFIG_DEBUG_USER is not set ++# CONFIG_DEBUG_COREDUMP_SIGNAL is not set ++# CONFIG_DEBUG_INFO is not set ++# CONFIG_NO_PGT_CACHE is not set ++# CONFIG_DEBUG_KERNEL is not set ++# CONFIG_DEBUG_SLAB is not set ++# CONFIG_MAGIC_SYSRQ is not set ++# CONFIG_DEBUG_SPINLOCK is not set ++# CONFIG_DEBUG_WAITQ is not set ++# CONFIG_DEBUG_BUGVERBOSE is not set ++# CONFIG_DEBUG_ERRORS is not set ++# CONFIG_DEBUG_LL is not set ++# CONFIG_DEBUG_DC21285_PORT is not set ++# CONFIG_DEBUG_CLPS711X_UART2 is not set +diff -Nur linux_c860_org/arch/arm/kernel/entry-armv.S linux/arch/arm/kernel/entry-armv.S +--- linux_c860_org/arch/arm/kernel/entry-armv.S 2002-12-18 19:27:21.000000000 +0900 ++++ linux/arch/arm/kernel/entry-armv.S 2004-06-10 21:09:10.000000000 +0900 +@@ -769,6 +769,12 @@ + add r4, sp, #S_SP + mov r6, lr + stmia r4, {r5, r6, r7, r8, r9} @ save sp_SVC, lr_SVC, pc, cpsr, old_ro ++#ifdef CONFIG_PREEMPT ++ get_current_task r9 ++ ldr r8, [r9, #TSK_PREEMPT] ++ add r8, r8, #1 ++ str r8, [r9, #TSK_PREEMPT] ++#endif + 1: get_irqnr_and_base r0, r6, r5, lr + movne r1, sp + @ +@@ -776,6 +782,25 @@ + @ + adrsvc ne, lr, 1b + bne do_IRQ ++#ifdef CONFIG_PREEMPT ++2: ldr r8, [r9, #TSK_PREEMPT] ++ subs r8, r8, #1 ++ bne 3f ++ ldr r7, [r9, #TSK_NEED_RESCHED] ++ teq r7, #0 ++ beq 3f ++ ldr r6, .LCirqstat ++ ldr r0, [r6, #IRQSTAT_BH_COUNT] ++ teq r0, #0 ++ bne 3f ++ mov r0, #MODE_SVC ++ msr cpsr_c, r0 @ enable interrupts ++ bl SYMBOL_NAME(preempt_schedule) ++ mov r0, #I_BIT | MODE_SVC ++ msr cpsr_c, r0 @ disable interrupts ++ b 2b ++3: str r8, [r9, #TSK_PREEMPT] ++#endif + ldr r0, [sp, #S_PSR] @ irqs are already disabled + msr spsr, r0 + ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr +@@ -833,6 +858,9 @@ + .LCprocfns: .word SYMBOL_NAME(processor) + #endif + .LCfp: .word SYMBOL_NAME(fp_enter) ++#ifdef CONFIG_PREEMPT ++.LCirqstat: .word SYMBOL_NAME(irq_stat) ++#endif + + irq_prio_table + +@@ -873,6 +901,12 @@ + stmdb r8, {sp, lr}^ + alignment_trap r4, r7, __temp_irq + zero_fp ++ get_current_task tsk ++#ifdef CONFIG_PREEMPT ++ ldr r0, [tsk, #TSK_PREEMPT] ++ add r0, r0, #1 ++ str r0, [tsk, #TSK_PREEMPT] ++#endif + 1: get_irqnr_and_base r0, r6, r5, lr + movne r1, sp + adrsvc ne, lr, 1b +@@ -880,8 +914,12 @@ + @ routine called with r0 = irq number, r1 = struct pt_regs * + @ + bne do_IRQ ++#ifdef CONFIG_PREEMPT ++ ldr r0, [tsk, #TSK_PREEMPT] ++ sub r0, r0, #1 ++ str r0, [tsk, #TSK_PREEMPT] ++#endif + mov why, #0 +- get_current_task tsk + b ret_to_user + + .align 5 +diff -Nur linux_c860_org/arch/arm/kernel/process.c linux/arch/arm/kernel/process.c +--- linux_c860_org/arch/arm/kernel/process.c 2003-06-18 16:12:25.000000000 +0900 ++++ linux/arch/arm/kernel/process.c 2004-06-10 21:09:10.000000000 +0900 +@@ -382,7 +382,7 @@ + * a system call from a "real" process, but the process memory space will + * not be free'd until both the parent and the child have exited. + */ +-pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) ++pid_t arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags) + { + pid_t __ret; + +diff -Nur linux_c860_org/arch/arm/kernel/time.c linux/arch/arm/kernel/time.c +--- linux_c860_org/arch/arm/kernel/time.c 2002-08-26 14:39:49.000000000 +0900 ++++ linux/arch/arm/kernel/time.c 2004-06-10 21:09:10.000000000 +0900 +@@ -15,6 +15,7 @@ + * fixed set_rtc_mmss, fixed time.year for >= 2000, new mktime + * 1998-12-20 Updated NTP code according to technical memorandum Jan '96 + * "A Kernel Model for Precision Timekeeping" by Dave Mills ++ * 1-Nov-2003 Sharp Corporation for Tosa + */ + #include + #include +@@ -149,6 +150,15 @@ + #define do_leds() + #endif + ++#ifdef CONFIG_ARCH_PXA_TOSA ++#define AVOID_ROLLBACK ++#ifdef AVOID_ROLLBACK ++int rollback_cancel = 0; ++static unsigned long last_sec = 0; ++static unsigned long last_usec = 0; ++#endif ++#endif ++ + void do_gettimeofday(struct timeval *tv) + { + unsigned long flags; +@@ -172,6 +182,25 @@ + sec++; + } + ++#ifdef CONFIG_ARCH_PXA_TOSA ++#ifdef AVOID_ROLLBACK ++ if (rollback_cancel && last_sec) { ++ if (last_sec>sec && last_sec-sec<4 ) { ++ //X printk("ERROR: time was fixed!(-%d sec)\n",last_sec-sec); ++ sec = last_sec; ++ usec = last_usec+1; ++ } else if (last_sec==sec) { ++ if (last_usec>usec) { // usec is always fixed. ++ //X printk("ERROR: time was fixed!!(-%d usec)\n",last_usec-usec); ++ usec = last_usec+1; ++ } ++ } ++ } ++ last_sec = sec; ++ last_usec = usec; ++#endif ++#endif ++ + tv->tv_sec = sec; + tv->tv_usec = usec; + } +@@ -199,6 +228,13 @@ + time_maxerror = NTP_PHASE_LIMIT; + time_esterror = NTP_PHASE_LIMIT; + write_unlock_irq(&xtime_lock); ++ ++#ifdef CONFIG_ARCH_PXA_TOSA ++#ifdef AVOID_ROLLBACK ++ last_sec = 0; ++ last_usec = 0; ++#endif ++#endif + } + + static struct irqaction timer_irq = { +diff -Nur linux_c860_org/arch/arm/kernel/traps.c linux/arch/arm/kernel/traps.c +--- linux_c860_org/arch/arm/kernel/traps.c 2003-01-14 12:07:55.000000000 +0900 ++++ linux/arch/arm/kernel/traps.c 2004-06-10 21:09:10.000000000 +0900 +@@ -14,6 +14,7 @@ + * + * Change Log + * 12-Dec-2002 Sharp Corporation for Poodle and Corgi ++ * 26-Feb-2004 Lineo Solutions, Inc. for Tosa + * + */ + #include +@@ -35,7 +36,7 @@ + #include + + +-#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) ++#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA) + #include + #include + #include +@@ -292,10 +293,12 @@ + mm_segment_t fs; + + +-#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) ++#if defined(CONFIG_ARCH_PXA_POODLE) || defined(CONFIG_ARCH_PXA_CORGI) || defined(CONFIG_ARCH_PXA_TOSA) ++#if CONFIG_PM + extern sharpsl_fataloff(void); + sharpsl_fataloff(); + #endif ++#endif + + console_verbose(); + +diff -Nur linux_c860_org/arch/arm/mach-pxa/Makefile linux/arch/arm/mach-pxa/Makefile +--- linux_c860_org/arch/arm/mach-pxa/Makefile 2002-11-14 10:33:31.000000000 +0900 ++++ linux/arch/arm/mach-pxa/Makefile 2004-06-10 21:09:10.000000000 +0900 +@@ -16,7 +16,8 @@ + + export-objs := generic.o irq.o dma.o sa1111.o \ + usb_ctl.o usb_recv.o usb_send.o \ +- discovery.o cotulla_dma.o pxa_ssp.o ++ discovery.o cotulla_dma.o pxa_ssp.o tosa.o \ ++ tosa_ac97.o + + # Common support (must be linked before board specific support) + obj-y += generic.o irq.o +@@ -33,6 +34,8 @@ + obj-$(CONFIG_SABINAL_DISCOVERY) += discovery.o discovery_arch.o pxa_ssp.o + obj-$(CONFIG_ARCH_PXA_POODLE) += poodle.o m62332.o pxa_ssp.o poodle_buzzer.o + obj-$(CONFIG_ARCH_PXA_CORGI) += corgi.o pxa_ssp.o poodle_buzzer.o ++obj-$(CONFIG_ARCH_PXA_TOSA) += tosa.o pxa_nssp.o tosa_ac97.o ++obj-$(CONFIG_BUZZER_TOSA) += tosa_buzzer.o + + # Support for blinky lights + leds-y := leds.o +@@ -66,6 +69,10 @@ + obj-$(CONFIG_BATT) += sharpsl_battery.o sharpsl_param.o + export-objs += sharpsl_battery.o + endif ++ ifeq ($(CONFIG_ARCH_PXA_TOSA),y) ++ obj-$(CONFIG_BATT) += tosa_battery.o sharpsl_param.o ++ export-objs += tosa_battery.o ++ endif + else + obj-$(CONFIG_PM) += pm.o sleep.o + endif +@@ -82,6 +89,9 @@ + ifeq ($(CONFIG_ARCH_PXA_CORGI),y) + devinfo-objs-m += sharpsl_deviceinfo.o + endif ++ ifeq ($(CONFIG_ARCH_PXA_TOSA),y) ++ devinfo-objs-m += sharpsl_deviceinfo.o ++ endif + endif + + obj-m += registers.o +diff -Nur linux_c860_org/arch/arm/mach-pxa/corgi.c linux/arch/arm/mach-pxa/corgi.c +--- linux_c860_org/arch/arm/mach-pxa/corgi.c 2003-06-18 16:12:25.000000000 +0900 ++++ linux/arch/arm/mach-pxa/corgi.c 2004-06-10 21:09:10.000000000 +0900 +@@ -298,7 +298,11 @@ + + static struct map_desc corgi_io_desc[] __initdata = { + /* virtual physical length domain r w c b */ ++#if defined(CONFIG_CORGI_LCD_BUFF) ++ { 0xf1000000, 0x08000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 1 }, /* LCDC (readable for Qt driver) */ ++#else + { 0xf1000000, 0x08000000, 0x01000000, DOMAIN_IO, 1, 1, 0, 0 }, /* LCDC (readable for Qt driver) */ ++#endif + { 0xf2000000, 0x10800000, 0x00001000, DOMAIN_IO, 0, 1, 0, 0 }, /* SCOOP */ + { 0xf2100000, 0x0C000000, 0x00001000, DOMAIN_IO, 0, 1, 0, 0 }, /* Nand Flash */ + { 0xef000000, 0x00000000, 0x00800000, DOMAIN_IO, 1, 1, 1, 0 }, /* Boot Flash */ +diff -Nur linux_c860_org/arch/arm/mach-pxa/pxa_nssp.c linux/arch/arm/mach-pxa/pxa_nssp.c +--- linux_c860_org/arch/arm/mach-pxa/pxa_nssp.c 1970-01-01 09:00:00.000000000 +0900 ++++ linux/arch/arm/mach-pxa/pxa_nssp.c 2004-06-10 21:09:10.000000000 +0900 +@@ -0,0 +1,57 @@ ++/* ++ * linux/arch/arm/mach-pxa/pxa_nssp.c ++ * ++ * NSSP read routines for tosa (SHARP) ++ * ++ * (C) Copyright 2004 Lineo Solutions, Inc. ++ * ++ * May be copied or modified under the terms of the GNU General Public ++ * License. See linux/COPYING for more information. ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++static spinlock_t pxa_nssp_lock = SPIN_LOCK_UNLOCKED; ++static unsigned long flag; ++static unsigned char initialized = 0; ++ ++void pxa_nssp_output(unsigned char reg, unsigned char data) ++{ ++ int i; ++ unsigned char dat = ( ((reg << 5) & 0xe0) | (data & 0x1f) ); ++ ++ spin_lock_irqsave(&pxa_nssp_lock, flag); ++ ++ GPCR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK); ++ GPCR(GPIO_TG_SPI_CS) |= GPIO_bit(GPIO_TG_SPI_CS); ++ for(i = 0; i < 8; i++) { ++ if( !(dat & (1<<(7-i))) ) ++ GPCR(GPIO_TG_SPI_MOSI) |= GPIO_bit(GPIO_TG_SPI_MOSI); ++ else ++ GPSR(GPIO_TG_SPI_MOSI) |= GPIO_bit(GPIO_TG_SPI_MOSI); ++ GPSR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK); ++ GPCR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK); ++ } ++ GPSR(GPIO_TG_SPI_CS) |= GPIO_bit(GPIO_TG_SPI_CS); ++ spin_unlock_irqrestore(&pxa_nssp_lock, flag); ++} ++ ++void pxa_nssp_init(void) ++{ ++ /* initialize SSP */ ++ set_GPIO_mode(GPIO_TG_SPI_SCLK | GPIO_OUT); ++ set_GPIO_mode(GPIO_TG_SPI_CS | GPIO_OUT); ++ set_GPIO_mode(GPIO_TG_SPI_MOSI | GPIO_OUT); ++ GPSR(GPIO_TG_SPI_CS) |= GPIO_bit(GPIO_TG_SPI_CS); ++ GPCR(GPIO_TG_SPI_SCLK) |= GPIO_bit(GPIO_TG_SPI_SCLK); ++} +diff -Nur linux_c860_org/arch/arm/mach-pxa/registers.c linux/arch/arm/mach-pxa/registers.c +--- linux_c860_org/arch/arm/mach-pxa/registers.c 2002-09-18 18:42:27.000000000 +0900 ++++ linux/arch/arm/mach-pxa/registers.c 2004-06-10 21:09:10.000000000 +0900 +@@ -5,7 +5,10 @@ + This code is based on SA1110's register moniter + + ****************************************************************************/ +- ++/* ++ * ChangeLog: ++ * 1-Nov-2003 Sharp Corporation for Tosa ++ */ + /**************************************************************************** + + registers.c: Register monitor of SA-1110 +@@ -66,6 +69,7 @@ + #include + #include /* to copy to/from userspace */ + #include ++#include + + //typedef unsigned long Word; + +@@ -74,6 +78,10 @@ + #define USE_LOCOMO + #elif defined(CONFIG_ARCH_PXA_CORGI) + #define USE_SCOOP ++#elif defined(CONFIG_ARCH_PXA_TOSA) ++#define USE_SCOOP ++#define USE_SCOOP2 ++#define USE_KUROHYO + #endif + + #define MODULE_NAME "regmon" +@@ -83,6 +91,12 @@ + #ifdef USE_SCOOP + #define SCOOP_DIRNAME "scoop" + #endif ++#ifdef USE_SCOOP2 ++#define SCOOP2_DIRNAME "scoop2" ++#endif ++#ifdef USE_KUROHYO ++#define KUROHYO_DIRNAME "kurohyo" ++#endif + #ifdef USE_LOCOMO + #define LOCOMO_DIRNAME "locomo" + #endif +@@ -183,6 +197,223 @@ + SCP_REG(current_reg->phyaddr)=newRegValue; + return (count+endp-buffer); + } ++#endif ++#ifdef USE_SCOOP2 ++static ssize_t proc_scoop2_read_reg(struct file * file, char * buf, ++ size_t nbytes, loff_t *ppos); ++static ssize_t proc_scoop2_write_reg(struct file * file, const char * buffer, ++ size_t count, loff_t *ppos); ++ ++ ++static struct file_operations proc_scoop2_reg_operations = { ++ read: proc_scoop2_read_reg, ++ write: proc_scoop2_write_reg ++}; ++ ++typedef struct scoop2_reg_entry { ++ u32 phyaddr; ++ char* name; ++ char* description; ++ unsigned short low_ino; ++} scoop2_reg_entry_t; ++ ++ ++static scoop2_reg_entry_t scoop2_regs[] = ++{ ++/* { phyaddr, name, description } */ ++ { 0x00, "MCR", " " }, ++ { 0x04, "CDR", " " }, ++ { 0x08, "CSR", " " }, ++ { 0x0C, "CPR", " " }, ++ { 0x10, "CCR", " " }, ++ { 0x14, "IRR", " " }, ++ { 0x18, "IMR", " " }, ++ { 0x1C, "ISR", " " }, ++ { 0x20, "GPCR", " " }, ++ { 0x24, "GPWR", " " }, ++ { 0x28, "GPRR", " " } ++}; ++ ++ ++#define NUM_OF_SCOOP2_REG_ENTRY (sizeof(scoop2_regs)/sizeof(scoop2_reg_entry_t)) ++ ++ ++static int proc_scoop2_read_reg(struct file * file, char * buf, ++ size_t nbytes, loff_t *ppos) ++{ ++ int i_ino = (file->f_dentry->d_inode)->i_ino; ++ char outputbuf[15]; ++ int count; ++ int i; ++ scoop2_reg_entry_t* current_reg=NULL; ++ if (*ppos>0) /* Assume reading completed in previous read*/ ++ return 0; ++ for (i=0;iphyaddr)); ++ *ppos+=count; ++ if (count>nbytes) /* Assume output can be read at one time */ ++ return -EINVAL; ++ if (copy_to_user(buf, outputbuf, count)) ++ return -EFAULT; ++ return count; ++} ++ ++static ssize_t proc_scoop2_write_reg(struct file * file, const char * buffer, ++ size_t count, loff_t *ppos) ++{ ++ int i_ino = (file->f_dentry->d_inode)->i_ino; ++ scoop2_reg_entry_t* current_reg=NULL; ++ int i; ++ unsigned long newRegValue; ++ char *endp; ++ ++ for (i=0;iphyaddr)=newRegValue; ++ return (count+endp-buffer); ++} ++ ++#endif ++#ifdef USE_KUROHYO ++static ssize_t proc_kurohyo_read_reg(struct file * file, char * buf, ++ size_t nbytes, loff_t *ppos); ++static ssize_t proc_kurohyo_write_reg(struct file * file, const char * buffer, ++ size_t count, loff_t *ppos); ++ ++ ++static struct file_operations proc_kurohyo_reg_operations = { ++ read: proc_kurohyo_read_reg, ++ write: proc_kurohyo_write_reg ++}; ++ ++typedef struct kurohyo_reg_entry { ++ u32 phyaddr; ++ char* name; ++ char* description; ++ unsigned short low_ino; ++} kurohyo_reg_entry_t; ++ ++ ++static kurohyo_reg_entry_t kurohyo_regs[] = ++{ ++/* { phyaddr, name, description } */ ++ { 0x000, "PINTST", " " }, ++ { 0x008, "VHLIN", " " }, ++ { 0x00A, "CMDADR_L", " " }, ++ { 0x00C, "CMDADR_H", " " }, ++ { 0x00E, "CMDFIF", " " }, ++ { 0x010, "CMDFINT", " " }, ++ { 0x012, "BINTMSK", " " }, ++ { 0x014, "BINTST", " " }, ++ { 0x016, "FIPT", " " }, ++ { 0x018, "DMAST", " " }, ++ { 0x01C, "COMD_L", " "}, ++ { 0x01E, "COMD_H", " "}, ++ { 0x022, "FIFOR", " "}, ++ { 0x024, "COMSMD", " "}, ++ ++ { 0x100, "PLCNT", " " }, ++ { 0x102, "PLCST", " " }, ++ { 0x108, "PLIST", " " }, ++ { 0x10A, "PLIEN", " " }, ++ { 0x10C, "PLSEN", " " }, ++ { 0x122, "PLDSA_L", " " }, ++ { 0x124, "PLDSA_H", " " }, ++ { 0x12A, "PLPIT_L", " " }, ++ { 0x12C, "PLPIT_H", " " }, ++ { 0x12E, "PLGMD", " " }, ++ { 0x140, "PLHT", " " }, ++ { 0x142, "PLHDS", " " }, ++ { 0x144, "PLHSS", " " }, ++ { 0x146, "PLHSE", " " }, ++ { 0x14C, "PLHPX", " " }, ++ { 0x150, "PLVT", " " }, ++ { 0x152, "PLVDS", " " }, ++ { 0x154, "PLVSS", " " }, ++ { 0x156, "PLVSE", " " }, ++ { 0x160, "PLCLN", " " }, ++ { 0x162, "PLILN", " " }, ++ { 0x164, "PLMOD", " " }, ++ { 0x166, "MISC", " " }, ++ { 0x16A, "PWHSP", " " }, ++ { 0x16C, "PWVDS", " " }, ++ { 0x16E, "PWVDE", " " }, ++ { 0x170, "PWVSP", " " }, ++ { 0x180, "VWADR_L", " " }, ++ { 0x182, "VWADR_H", " " }, ++}; ++ ++ ++#define NUM_OF_KUROHYO_REG_ENTRY (sizeof(kurohyo_regs)/sizeof(kurohyo_reg_entry_t)) ++ ++#define KUROHYO_LCD_INNER_ADDRESS (TC6393_SYS_BASE+TC6393_GC_INTERNAL_REG_BASE) ++ ++static int proc_kurohyo_read_reg(struct file * file, char * buf, ++ size_t nbytes, loff_t *ppos) ++{ ++ int i_ino = (file->f_dentry->d_inode)->i_ino; ++ char outputbuf[15]; ++ int count; ++ int i; ++ kurohyo_reg_entry_t* current_reg=NULL; ++ if (*ppos>0) /* Assume reading completed in previous read*/ ++ return 0; ++ for (i=0;i