]> git.neil.brown.name Git - history.git/commitdiff
v2.4.13.7 -> v2.4.13.8
authorLinus Torvalds <torvalds@athlon.transmeta.com>
Tue, 5 Feb 2002 04:30:06 +0000 (20:30 -0800)
committerLinus Torvalds <torvalds@athlon.transmeta.com>
Tue, 5 Feb 2002 04:30:06 +0000 (20:30 -0800)
  - Andrea: fix races in do_wp_page, free_swap_and_cache
  - me: clena up page dirty handling
  - Tim Waugh: parport IRQ probing and documentation fixes
  - Greg KH: USB updates
  - Michael Warfield: computone driver update
  - Randy Dunlap: add knowledge about some new io-apics
  - Richard Henderson: alpha updates
  - Trond Myklebust: make readdir xdr verify the reply packet
  - Paul Mackerras: PPC update
  - Jens Axboe: make cpqarray and cciss play nice with the request layer
  - Massimo Dal Zotto: SMM driver for Dell Inspiron 8000
  - Richard Gooch: devfs symlink deadlock fix
  - Anton Altaparmakov: make NTFS compile on sparc

122 files changed:
Documentation/Configure.help
Documentation/DocBook/Makefile
Documentation/computone.txt
Documentation/filesystems/devfs/ChangeLog
Makefile
arch/alpha/kernel/osf_sys.c
arch/alpha/kernel/pci.c
arch/alpha/kernel/setup.c
arch/alpha/kernel/time.c
arch/i386/config.in
arch/i386/defconfig
arch/i386/kernel/entry.S
arch/i386/kernel/io_apic.c
arch/ppc/8260_io/commproc.c
arch/ppc/8xx_io/commproc.c
arch/ppc/8xx_io/uart.c
arch/ppc/config.in
arch/ppc/configs/IVMS8_defconfig
arch/ppc/configs/SM850_defconfig
arch/ppc/configs/SPD823TS_defconfig
arch/ppc/configs/TQM823L_defconfig
arch/ppc/configs/TQM850L_defconfig
arch/ppc/configs/TQM860L_defconfig
arch/ppc/configs/apus_defconfig
arch/ppc/configs/bseip_defconfig
arch/ppc/configs/common_defconfig
arch/ppc/configs/est8260_defconfig
arch/ppc/configs/gemini_defconfig
arch/ppc/configs/ibmchrp_defconfig
arch/ppc/configs/mbx_defconfig
arch/ppc/configs/oak_defconfig
arch/ppc/configs/power3_defconfig
arch/ppc/configs/rpxcllf_defconfig
arch/ppc/configs/rpxlite_defconfig
arch/ppc/configs/walnut_defconfig
arch/ppc/defconfig
arch/ppc/kernel/Makefile
arch/ppc/kernel/apus_setup.c
arch/ppc/kernel/gemini_pci.c
arch/ppc/kernel/gemini_setup.c
arch/ppc/kernel/head.S
arch/ppc/kernel/head_8xx.S
arch/ppc/kernel/idle.c
arch/ppc/kernel/m8260_setup.c
arch/ppc/kernel/m8xx_setup.c
arch/ppc/kernel/misc.S
arch/ppc/kernel/oak_setup.c
arch/ppc/kernel/open_pic.c
arch/ppc/kernel/open_pic.h
arch/ppc/kernel/pci.c
arch/ppc/kernel/pmac_setup.c
arch/ppc/kernel/ppc_asm.h
arch/ppc/kernel/ppc_htab.c
arch/ppc/kernel/ppc_ksyms.c
arch/ppc/kernel/prep_setup.c
arch/ppc/kernel/setup.c
arch/ppc/kernel/smp.c
arch/ppc/kernel/syscalls.c
arch/ppc/kernel/traps.c
arch/ppc/kernel/walnut_setup.c
arch/ppc/lib/string.S
arch/ppc/mm/4xx_mmu.c
arch/ppc/mm/cachemap.c
arch/ppc/mm/mmu_decl.h
drivers/block/cciss.c
drivers/block/cciss_cmd.h
drivers/block/cpqarray.c
drivers/block/ida_cmd.h
drivers/char/Makefile
drivers/char/i8k.c [new file with mode: 0644]
drivers/char/ip2/i2lib.c
drivers/char/ip2/i2lib.h
drivers/char/ip2main.c
drivers/char/misc.c
drivers/char/tty_io.c
drivers/parport/ChangeLog
drivers/parport/parport_pc.c
drivers/usb/Config.in
drivers/usb/devio.c
drivers/usb/serial/ir-usb.c
drivers/usb/usbnet.c
fs/binfmt_aout.c
fs/char_dev.c
fs/devfs/base.c
fs/exec.c
fs/nfs/nfs2xdr.c
fs/nfs/nfs3xdr.c
fs/ntfs/dir.c
include/asm-alpha/a.out.h
include/asm-alpha/hwrpb.h
include/asm-ppc/atomic.h
include/asm-ppc/byteorder.h
include/asm-ppc/cache.h
include/asm-ppc/fads.h
include/asm-ppc/fcntl.h
include/asm-ppc/io.h
include/asm-ppc/ivms8.h
include/asm-ppc/m48t35.h
include/asm-ppc/machdep.h
include/asm-ppc/mpc8xx.h
include/asm-ppc/oak.h
include/asm-ppc/pgtable.h
include/asm-ppc/ppcboot.h
include/asm-ppc/serial.h
include/asm-ppc/smplock.h
include/asm-ppc/spd8xx.h
include/asm-ppc/time.h
include/asm-ppc/uninorth.h
include/asm-ppc/unistd.h
include/linux/i8k.h [new file with mode: 0644]
include/linux/ntfs_fs.h
include/linux/swap.h
include/linux/tcp.h
include/linux/timer.h
include/net/tcp_ecn.h
kernel/ksyms.c
kernel/printk.c
mm/memory.c
mm/oom_kill.c
mm/page_alloc.c
mm/swapfile.c
mm/vmscan.c

index 4f710055acfbd48383fb9dfd95bb934f9def185c..2672a9e81d31b528f8cf48866271e2253027b479 100644 (file)
@@ -11234,7 +11234,7 @@ CONFIG_USB_HID
   mice, joysticks, graphic tablets, or any other HID based devices
   to your computer via USB. You can't use this driver and the
   HIDBP (Boot Protocol) keyboard and mouse drivers at the same time.
-  More information is available: Documentation/usb/input.txt.
+  More information is available: Documentation/input/input.txt.
 
   If unsure, say Y.
 
@@ -15042,6 +15042,25 @@ CONFIG_TOSHIBA
   Say Y if you intend to run this kernel on a Toshiba portable.
   Say N otherwise.
 
+Dell Inspiron 8000 support
+CONFIG_I8K
+  This adds a driver to safely access the System Management Mode
+  of the CPU on the Dell Inspiron 8000. The System Management Mode
+  is used to read cpu temperature and cooling fan status and to
+  control the fans on the I8K portables.
+
+  This driver has been tested only on the Inspiron 8000 but it may
+  also work with other Dell laptops. You can force loading on other
+  models by passing the parameter `force=1' to the module. Use at
+  your own risk.
+
+  For information on utilities to make use of this driver see the
+  I8K Linux utilities web site at:
+  http://www.debian.org/~dz/i8k/
+
+  Say Y if you intend to run this kernel on a Dell Inspiron 8000.
+  Say N otherwise.
+
 /dev/cpu/microcode - Intel IA32 CPU microcode support
 CONFIG_MICROCODE
   If you say Y here and also to "/dev file system support" in the
index d7feec901b0c1b3ae8dff332095a5d00de3719d5..168a1b2f64c73adfcb8d9d7be106d07a7b414d64 100644 (file)
@@ -144,7 +144,7 @@ clean:
        rm -f core *~
        rm -f $(BOOKS)
        rm -f $(DVI) $(AUX) $(TEX) $(LOG) $(OUT)
-       rm -f $(JPG-parportbook) $(EPS-parportbook)
+       rm -f $(PNG-parportbook) $(EPS-parportbook)
        rm -f $(C-procfs-example)
 
 mrproper: clean
@@ -172,7 +172,7 @@ mrproper: clean
          exit 1)
        rm -rf $@
        db2html $<
-       if [ ! -z "$(JPG-$@)" ]; then cp $(JPG-$@) $@; fi
+       if [ ! -z "$(PNG-$@)" ]; then cp $(PNG-$@) $@; fi
 
 #
 # we could have our own dependency generator
index 476022ba7a1e501328f4bfe30b4052391b0bde41..97ee950bda80b369f7b2dc671f3782ddf838d9da 100644 (file)
@@ -6,11 +6,10 @@ Release Notes For Linux Kernel 2.2 and higher.
 These notes are for the drivers which have already been integrated into the
 kernel and have been tested on Linux kernels 2.0, 2.2, 2.3, and 2.4.
 
-Version: 1.2.12
-Date: 10/24/2001
+Version: 1.2.14
+Date: 11/01/2001
 Historical Author: Andrew Manison <amanison@america.net>
-Primary Author: Doug McNash <dougm@computone.com>
-Testing: larryg@computone.com
+Primary Author: Doug McNash
 Support: support@computone.com
 Fixes and Updates: Mike Warfield <mhw@wittsend.com>
 
@@ -27,7 +26,7 @@ with the exception of the MicroChannel controllers.  It does not support
 products previous to the Intelliport II.
 
 This driver was developed on the v2.0.x Linux tree and has been tested up
-to v2.2.14; it will probably not work with earlier v1.X kernels,.
+to v2.4.14; it will probably not work with earlier v1.X kernels,.
 
 
 2. QUICK INSTALLATION
@@ -193,18 +192,26 @@ Linux tty naming conventions: ttyF0 - ttyF255 for normal devices, and
 cuf0 - cuf255 for callout devices.
 
 If you are using devfs, existing devices are automatically created within
-the devfs name space.  Normal devices will be ttf/0 - ttf/255 and callout
-devices will be cuf/0 - cuf/255.  With devfs installed, ip2mkdev will
+the devfs name space.  Normal devices will be tts/F0 - tts/F255 and callout
+devices will be cua/F0 - cua/F255.  With devfs installed, ip2mkdev will
 create symbolic links in /dev from the old conventional names to the newer
 devfs names as follows:
 
        /dev/ip2ipl[n]  -> /dev/ip2/ipl[n]      n = 0 - 3
        /dev/ip2stat[n] -> /dev/ip2/stat[n]     n = 0 - 3
-       /dev/ttyF[n]    -> /dev/ttf/[n]         n = 0 - 255
-       /dev/cuf[n]     -> /dev/cuf/[n]         n = 0 - 255
+       /dev/ttyF[n]    -> /dev/tts/F[n]        n = 0 - 255
+       /dev/cuf[n]     -> /dev/cua/F[n]        n = 0 - 255
 
 Only devices for existing ports and boards will be created.
 
+IMPORTANT NOTE:  The naming convention used for devfs by this driver
+was changed from 1.2.12 to 1.2.13.  The old naming convention was to
+use ttf/%d for the tty device and cuf/%d for the cua device.  That
+has been changed to conform to an agreed-upon standard of placing
+all the tty devices under tts.  The device names are now tts/F%d for
+the tty device and cua/F%d for the cua devices.  If you were using
+the older devfs names, you must update for the newer convention.
+
 You do not need to run ip2mkdev if you are using devfs and only want to
 use the devfs native device names.
 
@@ -260,18 +267,26 @@ names.  More details on devfs can be found on the DEVFS home site at
 documentation files, .../linux/Documentation/filesystems/devfs/REAME.
 
 If you are using devfs, existing devices are automatically created within
-the devfs name space.  Normal devices will be ttf/0 - ttf/255 and callout
-devices will be cuf/0 - cuf/255.  With devfs installed, ip2mkdev will
+the devfs name space.  Normal devices will be tts/F0 - tts/F255 and callout
+devices will be cua/F0 - cua/F255.  With devfs installed, ip2mkdev will
 create symbolic links in /dev from the old conventional names to the newer
 devfs names as follows:
 
        /dev/ip2ipl[n]  -> /dev/ip2/ipl[n]      n = 0 - 3
        /dev/ip2stat[n] -> /dev/ip2/stat[n]     n = 0 - 3
-       /dev/ttyF[n]    -> /dev/ttf/[n]         n = 0 - 255
-       /dev/cuf[n]     -> /dev/cuf/[n]         n = 0 - 255
+       /dev/ttyF[n]    -> /dev/tts/F[n]        n = 0 - 255
+       /dev/cuf[n]     -> /dev/cua/F[n]        n = 0 - 255
 
 Only devices for existing ports and boards will be created.
 
+IMPORTANT NOTE:  The naming convention used for devfs by this driver
+was changed from 1.2.12 to 1.2.13.  The old naming convention was to
+use ttf/%d for the tty device and cuf/%d for the cua device.  That
+has been changed to conform to an agreed-upon standard of placing
+all the tty devices under tts.  The device names are now tts/F%d for
+the tty device and cua/F%d for the cua devices.  If you were using
+the older devfs names, you must update for the newer convention.
+
 You do not need to run ip2mkdev if you are using devfs and only want to
 use the devfs native device names.
  
@@ -300,19 +315,19 @@ are present on you system at the time it is run.
 
 
 #!/bin/sh
-# This is a shell archive (produced by GNU sharutils 4.2).
+# This is a shell archive (produced by GNU sharutils 4.2.1).
 # To extract the files from this archive, save it to some FILE, remove
 # everything before the `!/bin/sh' line above, then type `sh FILE'.
 #
-# Made on 2000-03-10 11:55 EST by <root@wittsend.wittsend.com>.
-# Source directory was `/mnt1/src/linux-2.3.50c/Documentation'.
+# Made on 2001-10-29 10:32 EST by <mhw@alcove.wittsend.com>.
+# Source directory was `/home2/src/tmp'.
 #
 # Existing files will *not* be overwritten unless `-c' is specified.
 #
 # This shar contains:
 # length mode       name
 # ------ ---------- ------------------------------------------
-#   4061 -rwxr-xr-x ip2mkdev
+#   4251 -rwxr-xr-x ip2mkdev
 #
 save_IFS="${IFS}"
 IFS="${IFS}:"
@@ -347,9 +362,12 @@ else
   export TEXTDOMAIN
   echo="$gettext_dir/gettext -s"
 fi
-touch -am 1231235999 $$.touch >/dev/null 2>&1
-if test ! -f 1231235999 && test -f $$.touch; then
-  shar_touch=touch
+if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then
+  shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
+elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then
+  shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
+elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then
+  shar_touch='touch -am $3$4$5$6$2 "$8"'
 else
   shar_touch=:
   echo
@@ -357,9 +375,9 @@ else
   $echo "installing GNU \`touch', distributed in GNU File Utilities..."
   echo
 fi
-rm -f 1231235999 $$.touch
+rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch
 #
-if mkdir _sh17088; then
+if mkdir _sh17581; then
   $echo 'x -' 'creating lock directory'
 else
   $echo 'failed to create lock directory'
@@ -387,11 +405,14 @@ else
 #      before running this script.  Running this script will then recreate
 #      all the valid devices.
 #
-#      =mhw=
 #      Michael H. Warfield
+#      /\/\|=mhw=|\/\/
 #      mhw@wittsend.com
 #
-#      Updated 03/09/2000 for devfs support in ip2 drivers. =mhw=
+#      Updated 10/29/2000 for version 1.2.13 naming convention
+#              under devfs.    /\/\|=mhw=|\/\/
+#
+#      Updated 03/09/2000 for devfs support in ip2 drivers. /\/\|=mhw=|\/\/
 #
 X
 if test -d /dev/ip2 ; then
@@ -406,18 +427,19 @@ X                 rm -f ip2$i
 X                      ln -s ip2/$i ip2$i
 X              fi
 X      done
-X      for i in `ls ttf` ; do
-X              if test ! -L ttyF$i ; then
+X      for i in `( cd tts ; ls F* )` ; do
+X              if test ! -L tty$i ; then
 X                      # Remove it incase it wasn't a symlink (old device)
-X                      rm -f ttyF$i
-X                      ln -s ttyf/$i ttyF$i
+X                      rm -f tty$i
+X                      ln -s tts/$i tty$i
 X              fi
 X      done
-X      for i in `ls cuf` ; do
-X              if test ! -L cuf$i ; then
+X      for i in `( cd cua ; ls F* )` ; do
+X              DEVNUMBER=`expr $i : 'F\(.*\)'`
+X              if test ! -L cuf$DEVNUMBER ; then
 X                      # Remove it incase it wasn't a symlink (old device)
-X                      rm -f cuf$i
-X                      ln -s cuf/$i cuf$i
+X                      rm -f cuf$DEVNUMBER
+X                      ln -s cua/$i cuf$DEVNUMBER
 X              fi
 X      done
 X      exit 0
@@ -539,20 +561,20 @@ done
 X
 Xexit 0
 SHAR_EOF
-  $shar_touch -am 03101153100 'ip2mkdev' &&
+  (set 20 01 10 29 10 32 01 'ip2mkdev'; eval "$shar_touch") &&
   chmod 0755 'ip2mkdev' ||
   $echo 'restore of' 'ip2mkdev' 'failed'
   if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
   && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
     md5sum -c << SHAR_EOF >/dev/null 2>&1 \
     || $echo 'ip2mkdev:' 'MD5 check failed'
-b0671abeba07b0a9266b70aaf24509b3  ip2mkdev
+cb5717134509f38bad9fde6b1f79b4a4  ip2mkdev
 SHAR_EOF
   else
     shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'ip2mkdev'`"
-    test 4061 -eq "$shar_count" ||
-    $echo 'ip2mkdev:' 'original size' '4061,' 'current size' "$shar_count!"
+    test 4251 -eq "$shar_count" ||
+    $echo 'ip2mkdev:' 'original size' '4251,' 'current size' "$shar_count!"
   fi
 fi
-rm -fr _sh17088
+rm -fr _sh17581
 exit 0
index 78786b5f3254eebd51c103e1d85ad3e4853cc154..f7d30d0a88cc382bce4f07eeb50435025c3256c5 100644 (file)
@@ -1771,3 +1771,10 @@ Changes for patch v195
 - Fixed buffer underrun in <try_modload>
 
 - Moved down_read() from <search_for_entry_in_dir> to <find_entry>
+===============================================================================
+Changes for patch v196
+
+- Fixed race in <devfsd_ioctl> when setting event mask
+  Thanks to Kari Hurtta <hurtta@leija.mh.fmi.fi>
+
+- Avoid deadlock in <devfs_follow_link> by using temporary buffer
index bf1287a343cae5939978940ddd943e45aceafead..92b94d0782af833ff39f9a6babe2c24812fe69b3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
 VERSION = 2
 PATCHLEVEL = 4
 SUBLEVEL = 14
-EXTRAVERSION =-pre7
+EXTRAVERSION =-pre8
 
 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 
index 2761d45c833fb9c37633a6d5cfe95371f635c178..9d82bf9f7f9970b0ade9e4e56d86d046f156dfcc 100644 (file)
@@ -1357,14 +1357,19 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
        if (len > limit)
                return -ENOMEM;
 
-       /* First, see if the given suggestion fits.  */
-       if (addr) {
-               struct vm_area_struct *vma;
+       /* First, see if the given suggestion fits.
+
+          The OSF/1 loader (/sbin/loader) relies on us returning an
+          address larger than the requested if one exists, which is
+          a terribly broken way to program.
 
-               addr = PAGE_ALIGN(addr);
-               vma = find_vma(current->mm, addr);
-               if (limit - len >= addr &&
-                   (!vma || addr + len <= vma->vm_start))
+          That said, I can see the use in being able to suggest not
+          merely specific addresses, but regions of memory -- perhaps
+          this feature should be incorporated into all ports?  */
+
+       if (addr) {
+               addr = arch_get_unmapped_area_1 (PAGE_ALIGN(addr), len, limit);
+               if (addr != -ENOMEM)
                        return addr;
        }
 
index da932574ce82af3e1243429d35dd8734a9ae58e7..f7bb7c60b4a8096518fe9ce9c33621f1a1c743c0 100644 (file)
@@ -93,16 +93,18 @@ quirk_cypress(struct pci_dev *dev)
 
        /* The Cypress bridge responds on the PCI bus in the address range
           0xffff0000-0xffffffff (conventional x86 BIOS ROM).  There is no
-          way to turn this off, so if we use a large direct-map window, or
-          a large SG window, we must avoid this region.  */
+          way to turn this off.  The bridge also supports several extended
+          BIOS ranges (disabled after power-up), and some consoles do turn
+          them on.  So if we use a large direct-map window, or a large SG
+          window, we must avoid entire 0xfff00000-0xffffffff region.  */
        else if (dev->class >> 8 == PCI_CLASS_BRIDGE_ISA) {
-               if (__direct_map_base + __direct_map_size >= 0xffff0000)
-                       __direct_map_size = 0xffff0000 - __direct_map_base;
+               if (__direct_map_base + __direct_map_size >= 0xfff00000)
+                       __direct_map_size = 0xfff00000 - __direct_map_base;
                else {
                        struct pci_controller *hose = dev->sysdata;
                        struct pci_iommu_arena *pci = hose->sg_pci;
-                       if (pci && pci->dma_base + pci->size >= 0xffff0000)
-                               pci->size = 0xffff0000 - pci->dma_base;
+                       if (pci && pci->dma_base + pci->size >= 0xfff00000)
+                               pci->size = 0xfff00000 - pci->dma_base;
                }
        }
 }
index fc45ecf4570d26bffab50514875d8fe2fecc790e..141566649ea34b8844b97df742934b1568315c25 100644 (file)
@@ -1054,7 +1054,8 @@ int get_cpuinfo(char *buffer)
 
        static char cpu_names[][8] = {
                "EV3", "EV4", "Simulate", "LCA4", "EV5", "EV45", "EV56",
-               "EV6", "PCA56", "PCA57", "EV67", "EV68CB", "EV68AL"
+               "EV6", "PCA56", "PCA57", "EV67", "EV68CB", "EV68AL",
+               "EV68CX", "EV7", "EV79", "EV69"
        };
 
        struct percpu_struct *cpu;
index 7868197c7090f7985cb2bfa29db0c86c4a7876b2..faa29910df30d99e46785bf76d53f54cd4aea114 100644 (file)
@@ -169,6 +169,63 @@ common_init_rtc(void)
        init_rtc_irq();
 }
 
+
+/* Validate a computed cycle counter result against the known bounds for
+   the given processor core.  There's too much brokenness in the way of
+   timing hardware for any one method to work everywhere.  :-(
+
+   Return 0 if the result cannot be trusted, otherwise return the argument.  */
+
+static unsigned long __init
+validate_cc_value(unsigned long cc)
+{
+       static struct bounds {
+               unsigned int min, max;
+       } cpu_hz[] __initdata = {
+               [EV3_CPU]    = {   50000000,  200000000 },      /* guess */
+               [EV4_CPU]    = {  150000000,  300000000 },
+               [LCA4_CPU]   = {  150000000,  300000000 },      /* guess */
+               [EV45_CPU]   = {  200000000,  300000000 },
+               [EV5_CPU]    = {  266000000,  333333333 },
+               [EV56_CPU]   = {  366000000,  667000000 },
+               [PCA56_CPU]  = {  400000000,  600000000 },      /* guess */
+               [PCA57_CPU]  = {  500000000,  600000000 },      /* guess */
+               [EV6_CPU]    = {  466000000,  600000000 },
+               [EV67_CPU]   = {  600000000,  750000000 },
+               [EV68AL_CPU] = {  750000000,  940000000 },
+               [EV68CB_CPU] = { 1000000000, 1333333333 },
+               /* None of the following are shipping as of 2001-11-01.  */
+               [EV68CX_CPU] = { 1000000000, 1700000000 },      /* guess */
+               [EV69_CPU]   = { 1000000000, 1700000000 },      /* guess */
+               [EV7_CPU]    = {  800000000, 1400000000 },      /* guess */
+               [EV79_CPU]   = { 1000000000, 2000000000 },      /* guess */
+       };
+
+       /* Allow for some drift in the crystal.  10MHz is more than enough.  */
+       const unsigned int deviation = 10000000;
+
+       struct percpu_struct *cpu;
+       unsigned int index;
+
+       cpu = (struct percpu_struct *)((char*)hwrpb + hwrpb->processor_offset);
+       index = cpu->type & 0xffffffff;
+
+       /* If index out of bounds, no way to validate.  */
+       if (index >= sizeof(cpu_hz)/sizeof(cpu_hz[0]))
+               return cc;
+
+       /* If index contains no data, no way to validate.  */
+       if (cpu_hz[index].max == 0)
+               return cc;
+
+       if (cc < cpu_hz[index].min - deviation
+           || cc > cpu_hz[index].max + deviation)
+               return 0;
+
+       return cc;
+}
+
+
 /*
  * Calibrate CPU clock using legacy 8254 timer/counter. Stolen from
  * arch/i386/time.c.
@@ -180,8 +237,7 @@ common_init_rtc(void)
 static unsigned long __init
 calibrate_cc_with_pic(void)
 {
-       int cc;
-       unsigned long count = 0;
+       int cc, count = 0;
 
        /* Set the Gate high, disable speaker */
        outb((inb(0x61) & ~0x02) | 0x01, 0x61);
@@ -200,30 +256,18 @@ calibrate_cc_with_pic(void)
        cc = rpcc();
        do {
                count++;
-       } while ((inb(0x61) & 0x20) == 0);
+       } while ((inb(0x61) & 0x20) == 0 && count > 0);
        cc = rpcc() - cc;
 
-       /* Error: ECTCNEVERSET */
+       /* Error: ECTCNEVERSET or ECPUTOOFAST.  */
        if (count <= 1)
-               goto bad_ctc;
-
-       /* Error: ECPUTOOFAST */
-       if (count >> 32)
-               goto bad_ctc;
+               return 0;
 
-       /* Error: ECPUTOOSLOW */
+       /* Error: ECPUTOOSLOW */
        if (cc <= CALIBRATE_TIME)
-               goto bad_ctc;
+               return 0;
 
-       return ((long)cc * 1000000) / CALIBRATE_TIME;
-
-       /*
-        * The CTC wasn't reliable: we got a hit on the very first read,
-        * or the CPU was so fast/slow that the quotient wouldn't fit in
-        * 32 bits..
-        */
- bad_ctc:
-       return 0;
+       return (cc * 1000000UL) / CALIBRATE_TIME;
 }
 
 /* The Linux interpretation of the CMOS clock register contents:
@@ -249,31 +293,35 @@ time_init(void)
 
        /* Calibrate CPU clock -- attempt #1.  */
        if (!est_cycle_freq)
-               est_cycle_freq = calibrate_cc_with_pic();
+               est_cycle_freq = validate_cc_value(calibrate_cc_with_pic());
 
        cc1 = rpcc_after_update_in_progress();
 
        /* Calibrate CPU clock -- attempt #2.  */
        if (!est_cycle_freq) {
                cc2 = rpcc_after_update_in_progress();
-               est_cycle_freq = cc2 - cc1;
+               est_cycle_freq = validate_cc_value(cc2 - cc1);
                cc1 = cc2;
        }
 
-       /* If the given value is within 1% of what we calculated, 
-          accept it.  Otherwise, use what we found.  */
        cycle_freq = hwrpb->cycle_freq;
-       one_percent = cycle_freq / 100;
-       diff = cycle_freq - est_cycle_freq;
-       if (diff < 0)
-               diff = -diff;
-       if (diff > one_percent) {
-               cycle_freq = est_cycle_freq;
-               printk("HWRPB cycle frequency bogus.  Estimated %lu Hz\n",
-                      cycle_freq);
-       }
-       else {
-               est_cycle_freq = 0;
+       if (est_cycle_freq) {
+               /* If the given value is within 1% of what we calculated, 
+                  accept it.  Otherwise, use what we found.  */
+               one_percent = cycle_freq / 100;
+               diff = cycle_freq - est_cycle_freq;
+               if (diff < 0)
+                       diff = -diff;
+               if (diff > one_percent) {
+                       cycle_freq = est_cycle_freq;
+                       printk("HWRPB cycle frequency bogus.  "
+                              "Estimated %lu Hz\n", cycle_freq);
+               } else {
+                       est_cycle_freq = 0;
+               }
+       } else if (! validate_cc_value (cycle_freq)) {
+               printk("HWRPB cycle frequency bogus, "
+                      "and unable to estimate a proper value!\n");
        }
 
        /* From John Bowman <bowman@math.ualberta.ca>: allow the values
index a9ef39017cb298757cf9291e1e28fa2b96185ca9..c98908d1aa0c719aeb5cce344ff1016a7236cf90 100644 (file)
@@ -149,6 +149,7 @@ if [ "$CONFIG_MWINCHIP3D" = "y" ]; then
    define_bool CONFIG_X86_USE_PPRO_CHECKSUM y
 fi
 tristate 'Toshiba Laptop support' CONFIG_TOSHIBA
+tristate 'Dell Inspiron 8000 support' CONFIG_I8K
 
 tristate '/dev/cpu/microcode - Intel IA32 CPU microcode support' CONFIG_MICROCODE
 tristate '/dev/cpu/*/msr - Model-specific register support' CONFIG_X86_MSR
index 584912dd5f3b3e7813a601c6da647196287758eb..7e5c18498361f74cca9bc9da617da754d2695d5a 100644 (file)
@@ -50,6 +50,7 @@ CONFIG_X86_GOOD_APIC=y
 CONFIG_X86_PGE=y
 CONFIG_X86_USE_PPRO_CHECKSUM=y
 # CONFIG_TOSHIBA is not set
+# CONFIG_I8K is not set
 # CONFIG_MICROCODE is not set
 # CONFIG_X86_MSR is not set
 # CONFIG_X86_CPUID is not set
@@ -707,7 +708,6 @@ CONFIG_USB=y
 # CONFIG_USB_DEVICEFS is not set
 # CONFIG_USB_BANDWIDTH is not set
 # CONFIG_USB_LONG_TIMEOUT is not set
-# CONFIG_USB_LARGE_CONFIG is not set
 
 #
 # USB Controllers
index bdca486b6de2c967310fa49d266e7e9dfdbfb3a2..0eb76e8e98b677b796528d430ca704f479fddb6e 100644 (file)
@@ -195,10 +195,10 @@ ENTRY(system_call)
        pushl %eax                      # save orig_eax
        SAVE_ALL
        GET_CURRENT(%ebx)
-       cmpl $(NR_syscalls),%eax
-       jae badsys
        testb $0x02,tsk_ptrace(%ebx)    # PT_TRACESYS
        jne tracesys
+       cmpl $(NR_syscalls),%eax
+       jae badsys
        call *SYMBOL_NAME(sys_call_table)(,%eax,4)
        movl %eax,EAX(%esp)             # save the return value
 ENTRY(ret_from_sys_call)
index 7ebbfd8476e73cc111a6a766b0a8f76bf7fdc0a4..f875e4309a0b3d8803585f8079bb4500b92e153c 100644 (file)
@@ -753,10 +753,11 @@ void __init print_IO_APIC(void)
        printk(KERN_DEBUG ".......     : PRQ implemented: %X\n", reg_01.PRQ);
        printk(KERN_DEBUG ".......     : IO APIC version: %04X\n", reg_01.version);
        if (    (reg_01.version != 0x01) && /* 82489DX IO-APICs */
+               (reg_01.version != 0x02) && /* 82801BA IO-APICs (ICH2) */
                (reg_01.version != 0x10) && /* oldest IO-APICs */
                (reg_01.version != 0x11) && /* Pentium/Pro IO-APICs */
                (reg_01.version != 0x13) && /* Xeon IO-APICs */
-               (reg_01.entries != 0x20)    /* Intel P64H (82806 AA) */
+               (reg_01.version != 0x20)    /* Intel P64H (82806 AA) */
        )
                UNEXPECTED_IO_APIC();
        if (reg_01.__reserved_1 || reg_01.__reserved_2)
index e3b37b71ebf4c602309167bc41b17df0190a616a..51587d6a35df196cd68a0ed4b890c8a68b175b74 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.commproc.c 1.5 05/17/01 18:14:19 cort
+ * BK Id: SCCS/s.commproc.c 1.10 10/16/01 16:21:52 trini
  */
 
 /*
@@ -137,7 +137,7 @@ m8260_cpm_hostalloc(uint size, uint align)
  * Baud rate clocks are zero-based in the driver code (as that maps
  * to port numbers).  Documentation uses 1-based numbering.
  */
-#define BRG_INT_CLK    (((bd_t *)__res)->bi_brgfreq * 1000000)
+#define BRG_INT_CLK    (((bd_t *)__res)->bi_brgfreq)
 #define BRG_UART_CLK   (BRG_INT_CLK/16)
 
 /* This function is used by UARTS, or anything else that uses a 16x
@@ -169,8 +169,6 @@ m8260_cpm_fastbrg(uint brg, uint rate, int div16)
 {
        volatile uint   *bp;
 
-       /* This is good enough to get SMCs running.....
-       */
        if (brg < 4) {
                bp = (uint *)&immr->im_brgc1;
        }
index 44901be733ebf36ef0daf869d6c8b378b7b726e5..9c49b273362503b32fed8b7a606c8e8b5931416a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.commproc.c 1.13 09/14/01 18:01:16 trini
+ * BK Id: SCCS/s.commproc.c 1.15 10/16/01 16:21:52 trini
  */
 
 /*
@@ -38,6 +38,8 @@
 #include <asm/8xx_immap.h>
 #include <asm/commproc.h>
 
+extern int get_pteptr(struct mm_struct *mm, unsigned long addr, pte_t **ptep);
+
 static uint    dp_alloc_base;  /* Starting offset in DP ram */
 static uint    dp_alloc_top;   /* Max offset + 1 */
 static uint    host_buffer;    /* One page of host buffer */
@@ -64,6 +66,18 @@ m8xx_cpm_reset(uint host_page_addr)
        imp = (immap_t *)IMAP_ADDR;
        commproc = (cpm8xx_t *)&imp->im_cpm;
 
+#ifdef CONFIG_UCODE_PATCH
+       /* Perform a reset.
+       */
+       commproc->cp_cpcr = (CPM_CR_RST | CPM_CR_FLG);
+
+       /* Wait for it.
+       */
+       while (commproc->cp_cpcr & CPM_CR_FLG);
+
+       cpm_load_patch(imp);
+#endif
+
        /* Set SDMA Bus Request priority 5.
         * On 860T, this also enables FEC priority 6.  I am not sure
         * this is what we realy want for some applications, but the
@@ -81,9 +95,17 @@ m8xx_cpm_reset(uint host_page_addr)
        */
        host_buffer = host_page_addr;   /* Host virtual page address */
        host_end = host_page_addr + PAGE_SIZE;
-       pte = va_to_pte(host_page_addr);
-       pte_val(*pte) |= _PAGE_NO_CACHE;
-       flush_tlb_page(init_mm.mmap, host_buffer);
+
+       /* We need to get this page early, so I have to do it the
+        * hard way.
+        */
+       if (get_pteptr(&init_mm, host_page_addr, &pte)) {
+               pte_val(*pte) |= _PAGE_NO_CACHE;
+               flush_tlb_page(init_mm.mmap, host_buffer);
+       }
+       else {
+               panic("Huh?  No CPM host page?");
+       }
 
        /* Tell everyone where the comm processor resides.
        */
index 92fec7e8c2adce397bb941d15a141406e7521e7a..ab4d9d19235cb6db880eb7d617e3ea15c52afd13 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.uart.c 1.16 09/14/01 18:01:17 trini
+ * BK Id: SCCS/s.uart.c 1.19 10/26/01 09:59:32 trini
  */
 /*
  *  UART driver for MPC860 CPM SCC or SMC
@@ -94,10 +94,10 @@ static struct tty_driver serial_driver, callout_driver;
 static int serial_refcount;
 static int serial_console_setup(struct console *co, char *options);
 
-static int serial_console_wait_key(struct console *co);
 static void serial_console_write(struct console *c, const char *s,
                                unsigned count);
 static kdev_t serial_console_device(struct console *c);
+static int serial_console_wait_key(struct console *co);
 
 #if defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
 static unsigned long break_pressed; /* break, really ... */
@@ -481,7 +481,9 @@ static _INLINE_ void receive_chars(ser_info_t *info, struct pt_regs *regs)
                        tty->flip.count++;
                }
 
+#if defined(CONFIG_SERIAL_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
        ignore_char:    
+#endif
                /* This BD is ready to be used again.  Clear status.
                 * Get next BD.
                 */
@@ -876,7 +878,7 @@ static void shutdown(ser_info_t * info)
 static void change_speed(ser_info_t *info)
 {
        int     baud_rate;
-       unsigned cflag, cval, scval, prev_mode;
+       unsigned cflag, cval, scval, prev_mode, new_mode;
        int     i, bits, sbits, idx;
        unsigned long   flags;
        struct serial_state *state;
@@ -917,10 +919,10 @@ static void change_speed(ser_info_t *info)
                cval |= SMCMR_PEN;
                scval |= SCU_PMSR_PEN;
                bits++;
-       }
-       if (!(cflag & PARODD)) {
-               cval |= SMCMR_PM_EVEN;
-               scval |= (SCU_PMSR_REVP | SCU_PMSR_TEVP);
+               if (!(cflag & PARODD)) {
+                       cval |= SMCMR_PM_EVEN;
+                       scval |= (SCU_PMSR_REVP | SCU_PMSR_TEVP);
+               }
        }
 
        /* Determine divisor based on baud rate */
@@ -993,7 +995,13 @@ static void change_speed(ser_info_t *info)
        idx = PORT_NUM(state->smc_scc_num);
        if (state->smc_scc_num & NUM_IS_SCC) {
                sccp = &cpmp->cp_scc[idx];
-               sccp->scc_pmsr = (sbits << 12) | scval;
+               new_mode = (sbits << 12) | scval;
+               prev_mode = sccp->scc_pmsr;
+               if (!(prev_mode & SCU_PMSR_PEN)) 
+                       /* If parity is disabled, mask out even/odd */
+                       prev_mode &= ~(SCU_PMSR_TPM|SCU_PMSR_RPM);
+               if (prev_mode != new_mode)
+                       sccp->scc_pmsr = new_mode;
        }
        else {
                smcp = &cpmp->cp_smc[idx];
@@ -1003,8 +1011,13 @@ static void change_speed(ser_info_t *info)
                 * present.
                 */
                prev_mode = smcp->smc_smcmr;
-               smcp->smc_smcmr = smcr_mk_clen(bits) | cval |  SMCMR_SM_UART;
-               smcp->smc_smcmr |= (prev_mode & (SMCMR_REN | SMCMR_TEN));
+               new_mode = smcr_mk_clen(bits) | cval |  SMCMR_SM_UART;
+               new_mode |= (prev_mode & (SMCMR_REN | SMCMR_TEN));
+               if (!(prev_mode & SMCMR_PEN))
+                       /* If parity is disabled, mask out even/odd */
+                       prev_mode &= ~SMCMR_PM_EVEN;
+               if (prev_mode != new_mode)
+                       smcp->smc_smcmr = new_mode;
        }
 
        m8xx_cpm_setbrg((state - rs_table), baud_rate);
index a315d9ff7d1ad14c29e96414afb3c96d574e3bcb..d1b0f88675be3f4d2a97bb4501ad322fae657993 100644 (file)
@@ -1,4 +1,4 @@
-# BK Id: SCCS/s.config.in 1.40 08/24/01 20:31:47 paulus
+# BK Id: SCCS/s.config.in 1.43 10/16/01 15:18:50 trini
 #
 # For a description of the syntax of this configuration file,
 # see Documentation/kbuild/config-language.txt.
@@ -46,6 +46,8 @@ fi
 if [ "$CONFIG_6xx" = "y" -o "$CONFIG_POWER3" = "y" -o \
      "$CONFIG_POWER4" = "y" ]; then
   define_bool CONFIG_PPC_STD_MMU y
+else
+  define_bool CONFIG_PPC_STD_MMU n
 fi
 
 if [ "$CONFIG_8260" = "y" ]; then
@@ -66,6 +68,7 @@ if [ "$CONFIG_8xx" = "y" ]; then
        "RPX-Lite       CONFIG_RPXLITE          \
         RPX-Classic    CONFIG_RPXCLASSIC       \
         BSE-IP         CONFIG_BSEIP            \
+        FADS           CONFIG_FADS             \
         TQM823L        CONFIG_TQM823L          \
         TQM850L        CONFIG_TQM850L          \
         TQM855L        CONFIG_TQM855L          \
@@ -74,6 +77,7 @@ if [ "$CONFIG_8xx" = "y" ]; then
         TQM860         CONFIG_TQM860           \
         SPD823TS       CONFIG_SPD823TS         \
         IVMS8          CONFIG_IVMS8            \
+        IVML24         CONFIG_IVML24           \
         SM850          CONFIG_SM850            \
         MBX            CONFIG_MBX              \
         WinCept        CONFIG_WINCEPT"         RPX-Lite
@@ -95,12 +99,7 @@ if [ "$CONFIG_6xx" = "y" -a "$CONFIG_8260" = "n" ]; then
         Synergy-Gemini         CONFIG_GEMINI"          CHRP/PowerMac/PReP
 fi
 
-if [ "$CONFIG_PPC64BRIDGE" != "y" ]; then
-  bool 'Workarounds for PPC601 bugs' CONFIG_PPC601_SYNC_FIX
-fi
-
-if [ "$CONFIG_POWER3" = "n" -a "$CONFIG_POWER4" = "n" -a \
-       "$CONFIG_6xx" = "n" ]; then
+if [ "$CONFIG_PPC_STD_MMU" != "y" ]; then
   define_bool CONFIG_ALL_PPC n
 fi
 
@@ -185,6 +184,10 @@ if [ "$CONFIG_4xx" != "y" ]; then
   fi
 fi
 
+if [ "$CONFIG_ALL_PPC" = "y" -a "$CONFIG_POWER3" = "n" ] ; then
+  bool 'Workarounds for PPC601 bugs' CONFIG_PPC601_SYNC_FIX
+fi
+
 if [ "$CONFIG_ALL_PPC" = "y" ]; then
   bool 'Support for Open Firmware device tree in /proc' CONFIG_PROC_DEVICETREE
   bool 'Support for RTAS (RunTime Abstraction Services) in /proc' CONFIG_PPC_RTAS
index 4ac1ee18051d270ca456774fb4e4a3b2a8dab756..e5f4f113b9d84eda045822d02898d98fb711102f 100644 (file)
@@ -27,10 +27,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -39,10 +41,10 @@ CONFIG_SERIAL_CONSOLE=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 CONFIG_IVMS8=y
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -85,7 +87,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -138,6 +139,7 @@ CONFIG_IP_PNP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -237,7 +239,6 @@ CONFIG_NET_ETHERNET=y
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -372,7 +373,6 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -491,13 +491,109 @@ CONFIG_ENET_BIG_BUFFERS=y
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
 # CONFIG_UCODE_PATCH is not set
-CONFIG_BLK_DEV_MPC8xx_IDE=y
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index d6bcdabfac3d31719cb7a8c9ad07b654fbb2a982..747b5026b50ddd7f5d81fc408b5f3123f7311e5d 100644 (file)
@@ -27,10 +27,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -39,11 +41,11 @@ CONFIG_SERIAL_CONSOLE=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 CONFIG_SM850=y
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
 CONFIG_TQM8xxL=y
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -86,7 +88,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -111,6 +112,7 @@ CONFIG_PPC_RTC=y
 # 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
 
 #
@@ -138,6 +140,7 @@ CONFIG_IP_PNP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -191,12 +194,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -214,9 +214,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -277,6 +277,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -306,7 +310,11 @@ CONFIG_UNIX98_PTY_COUNT=32
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -323,7 +331,6 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -356,6 +363,7 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -444,12 +452,110 @@ CONFIG_CONS_SMC2=y
 #
 CONFIG_8xx_COPYBACK=y
 CONFIG_8xx_CPU6=y
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 4c7d0b2f64752315a31bf3f4ab7d4b8b4d8565fa..cf110b5639f6a162820ab2faa739298c7a45908c 100644 (file)
@@ -27,10 +27,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -39,10 +41,10 @@ CONFIG_SERIAL_CONSOLE=y
 # CONFIG_TQM860 is not set
 CONFIG_SPD823TS=y
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -85,7 +87,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -110,6 +111,7 @@ CONFIG_PPC_RTC=y
 # 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
 
 #
@@ -137,6 +139,7 @@ CONFIG_IP_PNP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -190,12 +193,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -213,9 +213,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -276,6 +276,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -305,7 +309,11 @@ CONFIG_UNIX98_PTY_COUNT=32
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -322,7 +330,6 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -355,6 +362,7 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -443,12 +451,110 @@ CONFIG_ALTSMC2=y
 #
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 41583add22ac9ff56df511978dc5684e5284036d..aed45375a2b18aa4bde444eb26f7b8060faf20f6 100644 (file)
@@ -27,10 +27,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 CONFIG_TQM823L=y
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -39,11 +41,11 @@ CONFIG_TQM823L=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
 CONFIG_TQM8xxL=y
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -86,7 +88,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -111,6 +112,7 @@ CONFIG_PPC_RTC=y
 # 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
 
 #
@@ -138,6 +140,7 @@ CONFIG_IP_PNP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -191,12 +194,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -214,9 +214,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -277,6 +277,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -306,7 +310,11 @@ CONFIG_UNIX98_PTY_COUNT=32
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -323,7 +331,6 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -356,6 +363,7 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -444,12 +452,110 @@ CONFIG_ALTSMC2=y
 #
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index cc51dd64b392bb6bf4d4722e2dcf4fd7f5975daa..bfc4da33a0e7b092cbb0889b932394ff61bf8708 100644 (file)
@@ -27,10 +27,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 CONFIG_TQM850L=y
 # CONFIG_TQM855L is not set
@@ -39,11 +41,11 @@ CONFIG_TQM850L=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
 CONFIG_TQM8xxL=y
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -86,7 +88,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -111,6 +112,7 @@ CONFIG_PPC_RTC=y
 # 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
 
 #
@@ -138,6 +140,7 @@ CONFIG_IP_PNP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -191,12 +194,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -214,9 +214,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -277,6 +277,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -306,7 +310,11 @@ CONFIG_UNIX98_PTY_COUNT=32
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -323,7 +331,6 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -356,6 +363,7 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -444,12 +452,110 @@ CONFIG_ALTSMC2=y
 #
 CONFIG_8xx_COPYBACK=y
 CONFIG_8xx_CPU6=y
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 92378b32a6682f93cc7a1866e40bb6545f8ea132..4b8af2d04265c3629fe4aefcfdeaebf06e1bab7c 100644 (file)
@@ -27,10 +27,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -39,11 +41,11 @@ CONFIG_TQM860L=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
 CONFIG_TQM8xxL=y
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -86,7 +88,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -139,6 +140,7 @@ CONFIG_IP_PNP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -238,7 +240,6 @@ CONFIG_NET_ETHERNET=y
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -373,7 +374,6 @@ CONFIG_UNIX98_PTY_COUNT=32
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -500,13 +500,109 @@ CONFIG_SMC2_UART=y
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
 # CONFIG_UCODE_PATCH is not set
-CONFIG_BLK_DEV_MPC8xx_IDE=y
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index f91e45fd02d31272fda7316be6c0c355875bb9ec..7ab407ae6f068ee43fc407ddccb4bd4441942394 100644 (file)
@@ -32,7 +32,6 @@ CONFIG_PPC_STD_MMU=y
 # CONFIG_ALL_PPC is not set
 CONFIG_APUS=y
 # CONFIG_GEMINI is not set
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_SMP is not set
 # CONFIG_ALTIVEC is not set
 # CONFIG_TAU is not set
@@ -105,7 +104,6 @@ CONFIG_ZORRO_NAMES=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -133,6 +131,7 @@ CONFIG_MD_LINEAR=m
 CONFIG_MD_RAID0=m
 CONFIG_MD_RAID1=m
 CONFIG_MD_RAID5=m
+# CONFIG_MD_MULTIPATH is not set
 CONFIG_BLK_DEV_LVM=m
 
 #
@@ -161,6 +160,7 @@ CONFIG_SYN_COOKIES=y
 #
 CONFIG_IP_NF_CONNTRACK=m
 CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
 CONFIG_IP_NF_QUEUE=m
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_MATCH_LIMIT=m
@@ -168,6 +168,8 @@ CONFIG_IP_NF_MATCH_MAC=m
 CONFIG_IP_NF_MATCH_MARK=m
 CONFIG_IP_NF_MATCH_MULTIPORT=m
 CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
 CONFIG_IP_NF_MATCH_TCPMSS=m
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_UNCLEAN=m
@@ -179,6 +181,8 @@ CONFIG_IP_NF_NAT=m
 CONFIG_IP_NF_NAT_NEEDED=y
 CONFIG_IP_NF_TARGET_MASQUERADE=m
 CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
 CONFIG_IP_NF_NAT_FTP=m
 CONFIG_IP_NF_MANGLE=m
 CONFIG_IP_NF_TARGET_TOS=m
@@ -191,6 +195,7 @@ CONFIG_IP_NF_NAT_NEEDED=y
 # CONFIG_IPV6 is not set
 CONFIG_KHTTPD=m
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -261,6 +266,9 @@ CONFIG_BLK_DEV_BUDDHA=y
 # 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
@@ -298,6 +306,7 @@ CONFIG_SCSI_LOGGING=y
 # CONFIG_SCSI_AHA1740 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
@@ -334,8 +343,6 @@ CONFIG_SCSI_LOGGING=y
 # CONFIG_SCSI_T128 is not set
 # CONFIG_SCSI_U14_34F is not set
 # CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_MESH is not set
-# CONFIG_SCSI_MAC53C94 is not set
 CONFIG_A3000_SCSI=y
 CONFIG_A4000T_SCSI=y
 CONFIG_A2091_SCSI=y
@@ -374,12 +381,9 @@ CONFIG_TUN=m
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 CONFIG_ARIADNE=y
 CONFIG_NE2K_ZORRO=y
 CONFIG_A2065=y
@@ -403,9 +407,9 @@ CONFIG_HYDRA=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -496,14 +500,13 @@ CONFIG_FB_FM2=y
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_S3TRIO is not set
 # CONFIG_FB_VGA16 is not set
-# CONFIG_FB_PVR2 is not set
-# CONFIG_FB_PVR2_DEBUG is not set
-# CONFIG_FB_E1355 is not set
 # CONFIG_FB_MATROX is not set
 # CONFIG_FB_ATY is not set
+# CONFIG_FB_RADEON is not set
 # CONFIG_FB_ATY128 is not set
-# CONFIG_FB_3DFX is not set
 # CONFIG_FB_SIS is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
 # CONFIG_FB_VIRTUAL is not set
 CONFIG_FBCON_ADVANCED=y
 # CONFIG_FBCON_MFB is not set
@@ -582,11 +585,38 @@ CONFIG_MOUSE=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# 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
 
 #
-# Input core support is needed for joysticks
+# Joysticks
 #
+# 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_INPUT_AMIJOY is not set
 # CONFIG_QIC02_TAPE is not set
 
 #
@@ -599,7 +629,6 @@ CONFIG_MOUSE=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -632,6 +661,7 @@ CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 CONFIG_CRAMFS=y
 CONFIG_TMPFS=y
 CONFIG_RAMFS=m
@@ -805,6 +835,104 @@ CONFIG_SOUND_VMIDI=m
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+# CONFIG_USB_HID is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_WACOM is not set
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 23c09cd143e33ab3334239f88c75abf1856f3371..6e1b21b0e92ea79f67630c4eafed776d081b110a 100644 (file)
@@ -25,10 +25,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 CONFIG_BSEIP=y
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -37,10 +39,10 @@ CONFIG_BSEIP=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -83,7 +85,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -109,6 +110,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -137,6 +139,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -190,12 +193,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -213,9 +213,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -276,6 +276,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -305,7 +309,11 @@ CONFIG_UNIX98_PTY_COUNT=256
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -322,7 +330,6 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -355,6 +362,7 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -443,12 +451,110 @@ CONFIG_SMC2_UART=y
 #
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 06a80680650ab74cbecdb738fd6a58ccf50d3451..9d8bb2ccbd9303d1607aa19d84d6bb9622ba0f56 100644 (file)
@@ -32,7 +32,6 @@ CONFIG_PPC_STD_MMU=y
 CONFIG_ALL_PPC=y
 # CONFIG_APUS is not set
 # CONFIG_GEMINI is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_SMP is not set
 CONFIG_ALTIVEC=y
 CONFIG_TAU=y
@@ -69,6 +68,7 @@ CONFIG_HOTPLUG=y
 #
 # CONFIG_PARPORT is not set
 CONFIG_PPC_RTC=y
+CONFIG_PPC601_SYNC_FIX=y
 CONFIG_PROC_DEVICETREE=y
 CONFIG_PPC_RTAS=y
 CONFIG_BOOTX_TEXT=y
@@ -86,7 +86,6 @@ CONFIG_CMDLINE="console=ttyS0,9600 console=tty0 root=/dev/sda2"
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -112,6 +111,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -141,6 +141,7 @@ CONFIG_SYN_COOKIES=y
 #
 CONFIG_IP_NF_CONNTRACK=m
 CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
 # CONFIG_IP_NF_QUEUE is not set
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_MATCH_LIMIT=m
@@ -148,6 +149,8 @@ CONFIG_IP_NF_MATCH_MAC=m
 CONFIG_IP_NF_MATCH_MARK=m
 CONFIG_IP_NF_MATCH_MULTIPORT=m
 CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
 CONFIG_IP_NF_MATCH_TCPMSS=m
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_UNCLEAN=m
@@ -159,6 +162,8 @@ CONFIG_IP_NF_NAT=m
 CONFIG_IP_NF_NAT_NEEDED=y
 CONFIG_IP_NF_TARGET_MASQUERADE=m
 CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
 CONFIG_IP_NF_NAT_FTP=m
 # CONFIG_IP_NF_MANGLE is not set
 # CONFIG_IP_NF_TARGET_LOG is not set
@@ -169,6 +174,7 @@ CONFIG_IP_NF_NAT_NEEDED=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -272,6 +278,9 @@ CONFIG_IDEDMA_AUTO=y
 # CONFIG_IDEDMA_IVB is not set
 # CONFIG_DMA_NONPCI is not set
 CONFIG_BLK_DEV_IDE_MODES=y
+# 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
@@ -315,7 +324,8 @@ CONFIG_SCSI_AIC7XXX_OLD=m
 # CONFIG_AIC7XXX_OLD_TCQ_ON_BY_DEFAULT is not set
 CONFIG_AIC7XXX_OLD_CMDS_PER_DEVICE=8
 CONFIG_AIC7XXX_OLD_PROC_STATS=y
-CONFIG_SCSI_ADVANSYS=y
+# CONFIG_SCSI_DPT_I2O is not set
+CONFIG_SCSI_ADVANSYS=m
 # CONFIG_SCSI_IN2000 is not set
 # CONFIG_SCSI_AM53C974 is not set
 # CONFIG_SCSI_MEGARAID is not set
@@ -389,13 +399,10 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 CONFIG_MACE=y
 # CONFIG_MACE_AAUI_PORT is not set
 CONFIG_BMAC=y
 CONFIG_GMAC=y
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_HAPPYMEAL is not set
 # CONFIG_SUNBMAC is not set
@@ -426,6 +433,7 @@ CONFIG_DE4X5=m
 # CONFIG_NE2K_PCI is not set
 # CONFIG_NE3210 is not set
 # CONFIG_ES3210 is not set
+# CONFIG_8139CP is not set
 # CONFIG_8139TOO is not set
 # CONFIG_8139TOO_PIO is not set
 # CONFIG_8139TOO_TUNE_TWISTER is not set
@@ -442,9 +450,9 @@ CONFIG_DE4X5=m
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -464,7 +472,18 @@ CONFIG_PPP_DEFLATE=y
 #
 # Wireless LAN (non-hamradio)
 #
-# CONFIG_NET_RADIO is not set
+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_AIRO is not set
+CONFIG_HERMES=m
+CONFIG_APPLE_AIRPORT=m
+# CONFIG_PLX_HERMES is not set
+CONFIG_NET_WIRELESS=y
 
 #
 # Token Ring devices
@@ -521,9 +540,6 @@ CONFIG_FB_CT65550=y
 CONFIG_FB_IMSTT=y
 # CONFIG_FB_S3TRIO is not set
 # CONFIG_FB_VGA16 is not set
-# CONFIG_FB_PVR2 is not set
-# CONFIG_FB_PVR2_DEBUG is not set
-# CONFIG_FB_E1355 is not set
 CONFIG_FB_MATROX=y
 CONFIG_FB_MATROX_MILLENIUM=y
 CONFIG_FB_MATROX_MYSTIQUE=y
@@ -533,9 +549,11 @@ CONFIG_FB_MATROX_MYSTIQUE=y
 CONFIG_FB_ATY=y
 CONFIG_FB_ATY_GX=y
 CONFIG_FB_ATY_CT=y
+CONFIG_FB_RADEON=y
 CONFIG_FB_ATY128=y
-CONFIG_FB_3DFX=y
 # CONFIG_FB_SIS is not set
+CONFIG_FB_3DFX=y
+# CONFIG_FB_VOODOO1 is not set
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FBCON_ADVANCED is not set
 CONFIG_FBCON_CFB8=y
@@ -611,11 +629,37 @@ CONFIG_PSMOUSE=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# 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
 
 #
-# Input core support is needed for joysticks
+# Joysticks
 #
+# 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
 
 #
@@ -628,7 +672,6 @@ CONFIG_NVRAM=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -661,6 +704,7 @@ CONFIG_MSDOS_FS=m
 CONFIG_VFAT_FS=m
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -809,6 +853,8 @@ CONFIG_USB=y
 #
 CONFIG_USB_DEVICEFS=y
 # CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_LONG_TIMEOUT is not set
+# CONFIG_USB_LARGE_CONFIG is not set
 
 #
 # USB Controllers
@@ -823,13 +869,22 @@ CONFIG_USB_OHCI=y
 # CONFIG_USB_AUDIO is not set
 # CONFIG_USB_BLUETOOTH is not set
 # CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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_PRINTER=m
 
 #
 # USB Human Interface Devices (HID)
 #
 CONFIG_USB_HID=y
+# CONFIG_USB_HIDDEV is not set
 # CONFIG_USB_WACOM is not set
 
 #
@@ -837,26 +892,26 @@ CONFIG_USB_HID=y
 #
 # CONFIG_USB_DC2XX is not set
 # CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
+CONFIG_USB_SCANNER=m
 # CONFIG_USB_MICROTEK is not set
+# CONFIG_USB_HPUSBSCSI is not set
 
 #
 # USB Multimedia devices
 #
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_DABUSB is not set
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
 
 #
 # USB Network adaptors
 #
-# CONFIG_USB_PLUSB is not set
 # CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_KAWETH is not set
 # CONFIG_USB_CATC is not set
-# CONFIG_USB_NET1080 is not set
+# CONFIG_USB_CDCETHER is not set
+# CONFIG_USB_USBNET is not set
 
 #
 # USB port drivers
@@ -874,16 +929,26 @@ CONFIG_USB_SERIAL=m
 # CONFIG_USB_SERIAL_EMPEG is not set
 # CONFIG_USB_SERIAL_FTDI_SIO is not set
 CONFIG_USB_SERIAL_VISOR=m
+# 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_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
 
 #
-# USB misc drivers
+# USB Miscellaneous drivers
 #
 # CONFIG_USB_RIO500 is not set
 
index 60fd4fcb67283715999daac2266e3e67bfb16b0b..981aa2d0297b5cfce3d29c7a24bb77a8430b26e4 100644 (file)
@@ -29,7 +29,6 @@ CONFIG_8260=y
 CONFIG_PPC_STD_MMU=y
 CONFIG_SERIAL_CONSOLE=y
 CONFIG_EST8260=y
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_SMP is not set
 
 #
@@ -69,7 +68,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -95,6 +93,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -123,6 +122,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -176,12 +176,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -199,9 +196,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -263,6 +260,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -292,7 +293,11 @@ CONFIG_UNIX98_PTY_COUNT=256
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -309,7 +314,6 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -342,6 +346,7 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -423,6 +428,103 @@ CONFIG_SCC1_ENET=y
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 03e4e64dad23e5e43ea241877457b3a3666e5033..818ddecefc2bb9ebdf8585d8799fbea93a7d3653 100644 (file)
@@ -32,7 +32,6 @@ CONFIG_PPC_STD_MMU=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_APUS is not set
 CONFIG_GEMINI=y
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_SMP is not set
 CONFIG_ALTIVEC=y
 CONFIG_TAU=y
@@ -77,7 +76,6 @@ CONFIG_PCI_NAMES=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -103,6 +101,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -137,6 +136,7 @@ CONFIG_INET=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -202,6 +202,7 @@ CONFIG_SCSI_CONSTANTS=y
 # CONFIG_SCSI_AHA1740 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
@@ -243,8 +244,6 @@ CONFIG_SCSI_NCR53C8XX_SYNC=20
 # CONFIG_SCSI_T128 is not set
 # CONFIG_SCSI_U14_34F is not set
 # CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_MESH is not set
-# CONFIG_SCSI_MAC53C94 is not set
 
 #
 # IEEE 1394 (FireWire) support (EXPERIMENTAL)
@@ -270,12 +269,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-CONFIG_NCR885E=y
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_HAPPYMEAL is not set
 # CONFIG_SUNBMAC is not set
@@ -295,9 +291,9 @@ CONFIG_NCR885E=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -359,6 +355,10 @@ CONFIG_NCR885E=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -390,7 +390,11 @@ CONFIG_UNIX98_PTY_COUNT=256
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -407,7 +411,6 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -440,6 +443,7 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -518,6 +522,103 @@ CONFIG_SOLARIS_X86_PARTITION=y
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 3a8b2e25f1591d1c73ff388b21400c60ffed4f60..a639dc8460beafdcc720265a6a1f3714fd1bc508 100644 (file)
@@ -32,7 +32,6 @@ CONFIG_PPC_STD_MMU=y
 CONFIG_ALL_PPC=y
 # CONFIG_APUS is not set
 # CONFIG_GEMINI is not set
-# CONFIG_PPC601_SYNC_FIX is not set
 # CONFIG_SMP is not set
 # CONFIG_ALTIVEC is not set
 # CONFIG_TAU is not set
@@ -63,6 +62,7 @@ CONFIG_PCI_NAMES=y
 #
 # CONFIG_PARPORT is not set
 CONFIG_PPC_RTC=y
+# CONFIG_PPC601_SYNC_FIX is not set
 CONFIG_PROC_DEVICETREE=y
 CONFIG_PPC_RTAS=y
 # CONFIG_BOOTX_TEXT is not set
@@ -79,7 +79,6 @@ CONFIG_PPC_RTAS=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -105,6 +104,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -134,6 +134,7 @@ CONFIG_SYN_COOKIES=y
 #
 CONFIG_IP_NF_CONNTRACK=m
 CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
 # CONFIG_IP_NF_QUEUE is not set
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_MATCH_LIMIT=m
@@ -141,6 +142,8 @@ CONFIG_IP_NF_MATCH_MAC=m
 CONFIG_IP_NF_MATCH_MARK=m
 CONFIG_IP_NF_MATCH_MULTIPORT=m
 CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
 CONFIG_IP_NF_MATCH_TCPMSS=m
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_UNCLEAN=m
@@ -152,6 +155,8 @@ CONFIG_IP_NF_NAT=m
 CONFIG_IP_NF_NAT_NEEDED=y
 CONFIG_IP_NF_TARGET_MASQUERADE=m
 CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
 CONFIG_IP_NF_NAT_FTP=m
 # CONFIG_IP_NF_MANGLE is not set
 # CONFIG_IP_NF_TARGET_LOG is not set
@@ -162,6 +167,7 @@ CONFIG_IP_NF_NAT_NEEDED=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -227,6 +233,7 @@ CONFIG_SCSI_CONSTANTS=y
 # CONFIG_SCSI_AHA1740 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
@@ -295,12 +302,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_HAPPYMEAL is not set
 # CONFIG_SUNBMAC is not set
@@ -319,8 +323,6 @@ CONFIG_PCNET32=y
 # CONFIG_APRICOT is not set
 # CONFIG_CS89x0 is not set
 # CONFIG_TULIP is not set
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_MMIO is not set
 CONFIG_DE4X5=y
 # CONFIG_DGRS is not set
 # CONFIG_DM9102 is not set
@@ -331,6 +333,7 @@ CONFIG_DE4X5=y
 # CONFIG_NE2K_PCI is not set
 # CONFIG_NE3210 is not set
 # CONFIG_ES3210 is not set
+# CONFIG_8139CP is not set
 # CONFIG_8139TOO is not set
 # CONFIG_8139TOO_PIO is not set
 # CONFIG_8139TOO_TUNE_TWISTER is not set
@@ -347,9 +350,9 @@ CONFIG_DE4X5=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -422,9 +425,6 @@ CONFIG_FB_OF=y
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_S3TRIO is not set
 # CONFIG_FB_VGA16 is not set
-# CONFIG_FB_PVR2 is not set
-# CONFIG_FB_PVR2_DEBUG is not set
-# CONFIG_FB_E1355 is not set
 CONFIG_FB_MATROX=y
 CONFIG_FB_MATROX_MILLENIUM=y
 CONFIG_FB_MATROX_MYSTIQUE=y
@@ -432,9 +432,11 @@ CONFIG_FB_MATROX_G100=y
 # CONFIG_FB_MATROX_G450 is not set
 # CONFIG_FB_MATROX_MULTIHEAD is not set
 # CONFIG_FB_ATY is not set
+# CONFIG_FB_RADEON is not set
 # CONFIG_FB_ATY128 is not set
-CONFIG_FB_3DFX=y
 # CONFIG_FB_SIS is not set
+CONFIG_FB_3DFX=y
+# CONFIG_FB_VOODOO1 is not set
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FBCON_ADVANCED is not set
 CONFIG_FBCON_CFB8=y
@@ -505,11 +507,37 @@ CONFIG_PSMOUSE=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# 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
 
 #
-# Input core support is needed for joysticks
+# Joysticks
 #
+# 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
 
 #
@@ -522,7 +550,6 @@ CONFIG_RTC=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -555,6 +582,7 @@ CONFIG_MSDOS_FS=m
 CONFIG_VFAT_FS=m
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -674,6 +702,104 @@ CONFIG_NLS_DEFAULT="iso8859-1"
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+# CONFIG_USB_HID is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_WACOM is not set
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index b9b6e27a4ca9799cb785c49f5519bb1c546ee5cb..c2c62c30d7031d63dc09f2c2359a1a7c6fdd2fb2 100644 (file)
@@ -25,10 +25,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -37,10 +39,10 @@ CONFIG_SERIAL_CONSOLE=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 CONFIG_MBX=y
 # CONFIG_WINCEPT is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -83,7 +85,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -108,6 +109,7 @@ CONFIG_PPC_RTC=y
 # 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
 
 #
@@ -132,6 +134,7 @@ CONFIG_IP_PNP_BOOTP=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -184,12 +187,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -207,9 +207,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -270,6 +270,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -298,7 +302,11 @@ CONFIG_NET_ETHERNET=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -315,7 +323,6 @@ CONFIG_NET_ETHERNET=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -348,6 +355,7 @@ CONFIG_NET_ETHERNET=y
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -436,12 +444,110 @@ CONFIG_USE_SCC_IO=y
 #
 CONFIG_8xx_COPYBACK=y
 CONFIG_8xx_CPU6=y
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 85e273c5764c451ae9f96cdcff6e62585b0df3e1..521a42553618dc1f9bf3d0e1e771520bc62c3b11 100644 (file)
@@ -27,9 +27,9 @@ CONFIG_4xx=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 # CONFIG_8xx is not set
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_OAK=y
 # CONFIG_WALNUT is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 # CONFIG_MATH_EMULATION is not set
@@ -70,7 +70,6 @@ CONFIG_KERNEL_ELF=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -96,6 +95,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -121,6 +121,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -173,12 +174,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-CONFIG_OAKNET=y
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -196,9 +194,9 @@ CONFIG_OAKNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -259,6 +257,10 @@ CONFIG_OAKNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -288,7 +290,11 @@ CONFIG_SERIAL_CONSOLE=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -305,7 +311,6 @@ CONFIG_SERIAL_CONSOLE=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -338,6 +343,7 @@ CONFIG_SERIAL_CONSOLE=y
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -403,6 +409,103 @@ CONFIG_MSDOS_PARTITION=y
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 4496dea3cdf84d0bf668ae5292f5f7a0cc2017b9..994814035c9cf81d2fc79168f9f03f66b9eeebe9 100644 (file)
@@ -86,7 +86,6 @@ CONFIG_PPC_RTAS=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -112,6 +111,7 @@ CONFIG_MD_LINEAR=y
 CONFIG_MD_RAID0=y
 CONFIG_MD_RAID1=y
 CONFIG_MD_RAID5=y
+# CONFIG_MD_MULTIPATH is not set
 CONFIG_BLK_DEV_LVM=y
 
 #
@@ -137,6 +137,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -202,6 +203,7 @@ CONFIG_SCSI_LOGGING=y
 # CONFIG_SCSI_AHA1740 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
@@ -272,12 +274,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_HAPPYMEAL is not set
 # CONFIG_SUNBMAC is not set
@@ -296,8 +295,6 @@ CONFIG_PCNET32=y
 # CONFIG_APRICOT is not set
 # CONFIG_CS89x0 is not set
 # CONFIG_TULIP is not set
-# CONFIG_TULIP_MWI is not set
-# CONFIG_TULIP_MMIO is not set
 # CONFIG_DE4X5 is not set
 # CONFIG_DGRS is not set
 # CONFIG_DM9102 is not set
@@ -308,6 +305,7 @@ CONFIG_PCNET32=y
 # CONFIG_NE2K_PCI is not set
 # CONFIG_NE3210 is not set
 # CONFIG_ES3210 is not set
+# CONFIG_8139CP is not set
 # CONFIG_8139TOO is not set
 # CONFIG_8139TOO_PIO is not set
 # CONFIG_8139TOO_TUNE_TWISTER is not set
@@ -324,9 +322,9 @@ CONFIG_PCNET32=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -399,9 +397,6 @@ CONFIG_FB_OF=y
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_S3TRIO is not set
 # CONFIG_FB_VGA16 is not set
-# CONFIG_FB_PVR2 is not set
-# CONFIG_FB_PVR2_DEBUG is not set
-# CONFIG_FB_E1355 is not set
 CONFIG_FB_MATROX=y
 CONFIG_FB_MATROX_MILLENIUM=y
 CONFIG_FB_MATROX_MYSTIQUE=y
@@ -411,9 +406,11 @@ CONFIG_FB_MATROX_I2C=y
 # CONFIG_FB_MATROX_G450 is not set
 CONFIG_FB_MATROX_MULTIHEAD=y
 # CONFIG_FB_ATY is not set
+# CONFIG_FB_RADEON is not set
 # CONFIG_FB_ATY128 is not set
-# CONFIG_FB_3DFX is not set
 # CONFIG_FB_SIS is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FBCON_ADVANCED is not set
 CONFIG_FBCON_CFB8=y
@@ -478,6 +475,7 @@ CONFIG_I2C_ALGOBIT=y
 CONFIG_I2C_ALGOPCF=y
 # CONFIG_I2C_ELEKTOR is not set
 CONFIG_I2C_CHARDEV=y
+# CONFIG_I2C_PROC is not set
 
 #
 # Mice
@@ -491,11 +489,37 @@ CONFIG_PSMOUSE=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# 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
 
 #
-# Input core support is needed for joysticks
+# Joysticks
 #
+# 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
 
 #
@@ -508,7 +532,6 @@ CONFIG_NVRAM=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -541,6 +564,7 @@ CONFIG_MSDOS_FS=y
 CONFIG_VFAT_FS=y
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -698,6 +722,104 @@ CONFIG_SOUND_TVMIXER=y
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+# CONFIG_USB_HID is not set
+# CONFIG_USB_HIDDEV is not set
+# CONFIG_USB_KBD is not set
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_WACOM is not set
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index fc009f9a52417d1ec8e55fe92a3a0ab27c34ab55..2629adf57550e2ce423ca6fc09ad542a1dc6ae54 100644 (file)
@@ -25,10 +25,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 # CONFIG_RPXLITE is not set
 CONFIG_RPXCLASSIC=y
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -37,10 +39,10 @@ CONFIG_RPXCLASSIC=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -83,7 +85,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -109,6 +110,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -137,6 +139,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -190,12 +193,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -213,9 +213,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -276,6 +276,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -305,7 +309,11 @@ CONFIG_UNIX98_PTY_COUNT=256
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -322,7 +330,6 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -355,6 +362,7 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -444,12 +452,110 @@ CONFIG_USE_SCC_IO=y
 #
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 7f7ce3e7c0969f450eef29fafcb0c901a71ea25a..537770195b5d10922f3fc3bc88fe3ffdfa24f41e 100644 (file)
@@ -25,10 +25,12 @@ CONFIG_PPC32=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 CONFIG_8xx=y
+# CONFIG_PPC_STD_MMU is not set
 CONFIG_SERIAL_CONSOLE=y
 CONFIG_RPXLITE=y
 # CONFIG_RPXCLASSIC is not set
 # CONFIG_BSEIP is not set
+# CONFIG_FADS is not set
 # CONFIG_TQM823L is not set
 # CONFIG_TQM850L is not set
 # CONFIG_TQM855L is not set
@@ -37,10 +39,10 @@ CONFIG_RPXLITE=y
 # CONFIG_TQM860 is not set
 # CONFIG_SPD823TS is not set
 # CONFIG_IVMS8 is not set
+# CONFIG_IVML24 is not set
 # CONFIG_SM850 is not set
 # CONFIG_MBX is not set
 # CONFIG_WINCEPT is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 CONFIG_MATH_EMULATION=y
@@ -83,7 +85,6 @@ CONFIG_PPC_RTC=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -109,6 +110,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -137,6 +139,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -190,12 +193,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -213,9 +213,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -276,6 +276,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -305,7 +309,11 @@ CONFIG_UNIX98_PTY_COUNT=256
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -322,7 +330,6 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -355,6 +362,7 @@ CONFIG_UNIX98_PTY_COUNT=256
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -441,12 +449,110 @@ CONFIG_SCC2_ENET=y
 #
 CONFIG_8xx_COPYBACK=y
 # CONFIG_8xx_CPU6 is not set
+# CONFIG_UCODE_PATCH is not set
 
 #
 # USB support
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index 108a5d06cc12f457472137c14c126c9a56a57595..87a588a713d5924f7e3a5ee228390c0b7947f07a 100644 (file)
@@ -27,9 +27,9 @@ CONFIG_4xx=y
 # CONFIG_POWER3 is not set
 # CONFIG_POWER4 is not set
 # CONFIG_8xx is not set
+# CONFIG_PPC_STD_MMU is not set
 # CONFIG_OAK is not set
 CONFIG_WALNUT=y
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_ALL_PPC is not set
 # CONFIG_SMP is not set
 # CONFIG_MATH_EMULATION is not set
@@ -70,7 +70,6 @@ CONFIG_KERNEL_ELF=y
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -96,6 +95,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -121,6 +121,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -173,12 +174,9 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 # CONFIG_MACE is not set
 # CONFIG_BMAC is not set
 # CONFIG_GMAC is not set
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_SUNBMAC is not set
 # CONFIG_SUNQE is not set
@@ -196,9 +194,9 @@ CONFIG_NET_ETHERNET=y
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -259,6 +257,10 @@ CONFIG_NET_ETHERNET=y
 # Input core support
 #
 # CONFIG_INPUT is not set
+# CONFIG_INPUT_KEYBDEV is not set
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_EVDEV is not set
 
 #
 # Macintosh device drivers
@@ -281,6 +283,7 @@ CONFIG_I2C=y
 # CONFIG_I2C_ALGOBIT is not set
 # CONFIG_I2C_ALGOPCF is not set
 # CONFIG_I2C_CHARDEV is not set
+# CONFIG_I2C_PROC is not set
 
 #
 # Mice
@@ -291,7 +294,11 @@ CONFIG_I2C=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# CONFIG_INPUT_GAMEPORT is not set
+
+#
+# Input core support is needed for gameports
+#
 
 #
 # Input core support is needed for joysticks
@@ -308,7 +315,6 @@ CONFIG_I2C=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -341,6 +347,7 @@ CONFIG_I2C=y
 # CONFIG_VFAT_FS is not set
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -406,6 +413,103 @@ CONFIG_MSDOS_PARTITION=y
 #
 # CONFIG_USB is not set
 
+#
+# USB Controllers
+#
+# CONFIG_USB_UHCI is not set
+# CONFIG_USB_UHCI_ALT is not set
+# CONFIG_USB_OHCI is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_BLUETOOTH is not set
+# CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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 is not set
+# CONFIG_USB_PRINTER is not set
+
+#
+# USB Human Interface Devices (HID)
+#
+
+#
+#   Input core support is needed for USB HID
+#
+
+#
+# USB Imaging devices
+#
+# 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
+
+#
+# USB Multimedia devices
+#
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network adaptors
+#
+# 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
+
+#
+# USB port drivers
+#
+# 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_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_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
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_RIO500 is not set
+
 #
 # Bluetooth support
 #
index df5d9a9ab737f704c797d6f89b31bc4b7e061279..9d8bb2ccbd9303d1607aa19d84d6bb9622ba0f56 100644 (file)
@@ -32,7 +32,6 @@ CONFIG_PPC_STD_MMU=y
 CONFIG_ALL_PPC=y
 # CONFIG_APUS is not set
 # CONFIG_GEMINI is not set
-CONFIG_PPC601_SYNC_FIX=y
 # CONFIG_SMP is not set
 CONFIG_ALTIVEC=y
 CONFIG_TAU=y
@@ -69,6 +68,7 @@ CONFIG_HOTPLUG=y
 #
 # CONFIG_PARPORT is not set
 CONFIG_PPC_RTC=y
+CONFIG_PPC601_SYNC_FIX=y
 CONFIG_PROC_DEVICETREE=y
 CONFIG_PPC_RTAS=y
 CONFIG_BOOTX_TEXT=y
@@ -86,7 +86,6 @@ CONFIG_CMDLINE="console=ttyS0,9600 console=tty0 root=/dev/sda2"
 #
 # CONFIG_PNP is not set
 # CONFIG_ISAPNP is not set
-# CONFIG_PNPBIOS is not set
 
 #
 # Block devices
@@ -112,6 +111,7 @@ CONFIG_BLK_DEV_INITRD=y
 # 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
 
 #
@@ -141,6 +141,7 @@ CONFIG_SYN_COOKIES=y
 #
 CONFIG_IP_NF_CONNTRACK=m
 CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
 # CONFIG_IP_NF_QUEUE is not set
 CONFIG_IP_NF_IPTABLES=m
 CONFIG_IP_NF_MATCH_LIMIT=m
@@ -148,6 +149,8 @@ CONFIG_IP_NF_MATCH_MAC=m
 CONFIG_IP_NF_MATCH_MARK=m
 CONFIG_IP_NF_MATCH_MULTIPORT=m
 CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
 CONFIG_IP_NF_MATCH_TCPMSS=m
 CONFIG_IP_NF_MATCH_STATE=m
 CONFIG_IP_NF_MATCH_UNCLEAN=m
@@ -159,6 +162,8 @@ CONFIG_IP_NF_NAT=m
 CONFIG_IP_NF_NAT_NEEDED=y
 CONFIG_IP_NF_TARGET_MASQUERADE=m
 CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
 CONFIG_IP_NF_NAT_FTP=m
 # CONFIG_IP_NF_MANGLE is not set
 # CONFIG_IP_NF_TARGET_LOG is not set
@@ -169,6 +174,7 @@ CONFIG_IP_NF_NAT_NEEDED=y
 # CONFIG_IPV6 is not set
 # CONFIG_KHTTPD is not set
 # CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
 
 #
 #  
@@ -272,6 +278,9 @@ CONFIG_IDEDMA_AUTO=y
 # CONFIG_IDEDMA_IVB is not set
 # CONFIG_DMA_NONPCI is not set
 CONFIG_BLK_DEV_IDE_MODES=y
+# 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
@@ -315,7 +324,8 @@ CONFIG_SCSI_AIC7XXX_OLD=m
 # CONFIG_AIC7XXX_OLD_TCQ_ON_BY_DEFAULT is not set
 CONFIG_AIC7XXX_OLD_CMDS_PER_DEVICE=8
 CONFIG_AIC7XXX_OLD_PROC_STATS=y
-# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_DPT_I2O is not set
+CONFIG_SCSI_ADVANSYS=m
 # CONFIG_SCSI_IN2000 is not set
 # CONFIG_SCSI_AM53C974 is not set
 # CONFIG_SCSI_MEGARAID is not set
@@ -333,7 +343,7 @@ CONFIG_AIC7XXX_OLD_PROC_STATS=y
 # CONFIG_SCSI_INIA100 is not set
 # CONFIG_SCSI_NCR53C406A is not set
 # CONFIG_SCSI_NCR53C7xx is not set
-# CONFIG_SCSI_NCR53C8XX is not set
+CONFIG_SCSI_NCR53C8XX=y
 CONFIG_SCSI_SYM53C8XX=y
 CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
 CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32
@@ -389,13 +399,10 @@ CONFIG_NETDEVICES=y
 # Ethernet (10 or 100Mbit)
 #
 CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
 CONFIG_MACE=y
 # CONFIG_MACE_AAUI_PORT is not set
 CONFIG_BMAC=y
 CONFIG_GMAC=y
-# CONFIG_NCR885E is not set
-# CONFIG_OAKNET is not set
 # CONFIG_SUNLANCE is not set
 # CONFIG_HAPPYMEAL is not set
 # CONFIG_SUNBMAC is not set
@@ -426,6 +433,7 @@ CONFIG_DE4X5=m
 # CONFIG_NE2K_PCI is not set
 # CONFIG_NE3210 is not set
 # CONFIG_ES3210 is not set
+# CONFIG_8139CP is not set
 # CONFIG_8139TOO is not set
 # CONFIG_8139TOO_PIO is not set
 # CONFIG_8139TOO_TUNE_TWISTER is not set
@@ -442,9 +450,9 @@ CONFIG_DE4X5=m
 # Ethernet (1000 Mbit)
 #
 # CONFIG_ACENIC is not set
-# CONFIG_ACENIC_OMIT_TIGON_I 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
@@ -464,7 +472,18 @@ CONFIG_PPP_DEFLATE=y
 #
 # Wireless LAN (non-hamradio)
 #
-# CONFIG_NET_RADIO is not set
+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_AIRO is not set
+CONFIG_HERMES=m
+CONFIG_APPLE_AIRPORT=m
+# CONFIG_PLX_HERMES is not set
+CONFIG_NET_WIRELESS=y
 
 #
 # Token Ring devices
@@ -521,9 +540,6 @@ CONFIG_FB_CT65550=y
 CONFIG_FB_IMSTT=y
 # CONFIG_FB_S3TRIO is not set
 # CONFIG_FB_VGA16 is not set
-# CONFIG_FB_PVR2 is not set
-# CONFIG_FB_PVR2_DEBUG is not set
-# CONFIG_FB_E1355 is not set
 CONFIG_FB_MATROX=y
 CONFIG_FB_MATROX_MILLENIUM=y
 CONFIG_FB_MATROX_MYSTIQUE=y
@@ -533,9 +549,11 @@ CONFIG_FB_MATROX_MYSTIQUE=y
 CONFIG_FB_ATY=y
 CONFIG_FB_ATY_GX=y
 CONFIG_FB_ATY_CT=y
+CONFIG_FB_RADEON=y
 CONFIG_FB_ATY128=y
-CONFIG_FB_3DFX=y
 # CONFIG_FB_SIS is not set
+CONFIG_FB_3DFX=y
+# CONFIG_FB_VOODOO1 is not set
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FBCON_ADVANCED is not set
 CONFIG_FBCON_CFB8=y
@@ -611,11 +629,37 @@ CONFIG_PSMOUSE=y
 #
 # Joysticks
 #
-# CONFIG_JOYSTICK is not set
+# 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
 
 #
-# Input core support is needed for joysticks
+# Joysticks
 #
+# 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
 
 #
@@ -628,7 +672,6 @@ CONFIG_NVRAM=y
 # CONFIG_DTLK is not set
 # CONFIG_R3964 is not set
 # CONFIG_APPLICOM is not set
-# CONFIG_SONYPI is not set
 
 #
 # Ftape, the floppy tape device driver
@@ -661,6 +704,7 @@ CONFIG_MSDOS_FS=m
 CONFIG_VFAT_FS=m
 # CONFIG_EFS_FS is not set
 # CONFIG_JFFS_FS is not set
+# CONFIG_JFFS2_FS is not set
 # CONFIG_CRAMFS is not set
 CONFIG_TMPFS=y
 # CONFIG_RAMFS is not set
@@ -809,6 +853,8 @@ CONFIG_USB=y
 #
 CONFIG_USB_DEVICEFS=y
 # CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_LONG_TIMEOUT is not set
+# CONFIG_USB_LARGE_CONFIG is not set
 
 #
 # USB Controllers
@@ -823,13 +869,22 @@ CONFIG_USB_OHCI=y
 # CONFIG_USB_AUDIO is not set
 # CONFIG_USB_BLUETOOTH is not set
 # CONFIG_USB_STORAGE is not set
+# 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 is not set
+# 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_PRINTER=m
 
 #
 # USB Human Interface Devices (HID)
 #
 CONFIG_USB_HID=y
+# CONFIG_USB_HIDDEV is not set
 # CONFIG_USB_WACOM is not set
 
 #
@@ -837,26 +892,26 @@ CONFIG_USB_HID=y
 #
 # CONFIG_USB_DC2XX is not set
 # CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
+CONFIG_USB_SCANNER=m
 # CONFIG_USB_MICROTEK is not set
+# CONFIG_USB_HPUSBSCSI is not set
 
 #
 # USB Multimedia devices
 #
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_DABUSB is not set
+
+#
+#   Video4Linux support is needed for USB Multimedia device support
+#
 
 #
 # USB Network adaptors
 #
-# CONFIG_USB_PLUSB is not set
 # CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_KAWETH is not set
 # CONFIG_USB_CATC is not set
-# CONFIG_USB_NET1080 is not set
+# CONFIG_USB_CDCETHER is not set
+# CONFIG_USB_USBNET is not set
 
 #
 # USB port drivers
@@ -874,16 +929,26 @@ CONFIG_USB_SERIAL=m
 # CONFIG_USB_SERIAL_EMPEG is not set
 # CONFIG_USB_SERIAL_FTDI_SIO is not set
 CONFIG_USB_SERIAL_VISOR=m
+# 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_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
 
 #
-# USB misc drivers
+# USB Miscellaneous drivers
 #
 # CONFIG_USB_RIO500 is not set
 
index 5224756f664b2bce25afe08f6cbd0addbe969749..59236099d7a972a61cb7ec5c94795a2cd092df7a 100644 (file)
@@ -1,4 +1,4 @@
-# BK Id: SCCS/s.Makefile 1.32 08/24/01 20:07:37 paulus
+# BK Id: SCCS/s.Makefile 1.34 10/16/01 15:58:42 trini
 #
 #
 # Makefile for the linux kernel.
@@ -15,26 +15,21 @@ ifdef CONFIG_PPC64BRIDGE
 EXTRA_AFLAGS           := -Wa,-mppc64bridge
 endif
 
-ifeq ($(CONFIG_4xx),y)
-  KHEAD := head_4xx.o
-else
-  ifeq ($(CONFIG_8xx),y)
-    KHEAD := head_8xx.o
-  else
-    KHEAD := head.o
-  endif
-endif
+# Start off with 'head.o', change as needed.
+HEAD-y                         := head.o
+HEAD-$(CONFIG_4xx)             := head_4xx.o
+HEAD-$(CONFIG_8xx)             := head_8xx.o
 
-all: $(KHEAD) kernel.o
+all: $(HEAD-y) kernel.o
 
 O_TARGET := kernel.o
 
 export-objs                    := ppc_ksyms.o prep_setup.o time.o
 
 obj-y                          := entry.o traps.o irq.o idle.o time.o misc.o \
-                                       process.o signal.o ptrace.o \
-                                       ppc_htab.o semaphore.o syscalls.o  \
-                                       align.o setup.o cputable.o
+                                       process.o signal.o ptrace.o align.o \
+                                       semaphore.o syscalls.o setup.o \
+                                       cputable.o ppc_htab.o
 obj-$(CONFIG_6xx)              += l2cr.o
 obj-$(CONFIG_MODULES)          += ppc_ksyms.o
 obj-$(CONFIG_POWER4)           += xics.o
@@ -68,8 +63,8 @@ obj-$(CONFIG_ALL_PPC)         += pmac_pic.o pmac_setup.o pmac_time.o prom.o \
 obj-$(CONFIG_NVRAM)            += pmac_nvram.o
 obj-$(CONFIG_PMAC_BACKLIGHT)   += pmac_backlight.o
 obj-$(CONFIG_PMAC_PBOOK)       += sleep.o
-obj-$(CONFIG_PPC_RTAS)         += error_log.o proc_rtas.o
 obj-$(CONFIG_PREP_RESIDUAL)    += residual.o
+obj-$(CONFIG_PPC_RTAS)         += error_log.o proc_rtas.o
 obj-$(CONFIG_GEMINI)           += gemini_prom.o gemini_pci.o gemini_setup.o \
                                        open_pic.o
 obj-$(CONFIG_8260)             += m8260_setup.o ppc8260_pic.o
index 97a536250844e740fd1c91db066a68731ebd00a7..db4f6e4173a8dfface623fa8a594490185a98f98 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.apus_setup.c 1.20 09/08/01 15:47:42 paulus
+ * BK Id: SCCS/s.apus_setup.c 1.22 10/18/01 11:16:27 trini
  */
 /*
  *  linux/arch/ppc/kernel/apus_setup.c
@@ -1111,9 +1111,6 @@ void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
        ppc_md.kbd_unexpected_up = apus_kbd_unexpected_up;
        ppc_md.kbd_leds          = apus_kbd_leds;
        ppc_md.kbd_init_hw       = apus_kbd_init_hw;
-#ifdef CONFIG_MAGIC_SYSRQ
-       ppc_md.kbd_sysrq_xlate   = NULL;
-#endif
 
 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
         ppc_ide_md.ide_init_hwif = apus_ide_init_hwif_ports;
index 2c6ad2eba769d268fc943b3fedd0866f2e4b5bac..c3d93c483b4d7d93957bb9d7b4ed77604fd855d1 100644 (file)
@@ -1,10 +1,10 @@
 /*
- * BK Id: SCCS/s.gemini_pci.c 1.5 05/17/01 18:14:21 cort
+ * BK Id: SCCS/s.gemini_pci.c 1.6 10/11/01 08:51:46 trini
  */
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/pci.h>
-#include <linux/malloc.h>
+#include <linux/slab.h>
 
 #include <asm/machdep.h>
 #include <asm/gemini.h>
index 8224be61154b9b9002864745d3fe0e3f5acd2c7a..104d90b8a7fe52171af635a07784188d5314e09e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.gemini_setup.c 1.11 08/20/01 14:34:41 paulus
+ * BK Id: SCCS/s.gemini_setup.c 1.14 10/18/01 11:16:28 trini
  */
 /*
  *  linux/arch/ppc/kernel/setup.c
@@ -150,6 +150,9 @@ extern char cmd_line[];
 void
 gemini_heartbeat(void)
 {
+       /* We only want to do this on 1 CPU */
+       if ( smp_processor_id() )
+               return;
        static unsigned long led = GEMINI_LEDBASE+(4*8);
        static char direction = 8;
        *(char *)led = 0;
@@ -506,8 +509,8 @@ smp_gemini_probe(void)
 static void
 smp_gemini_kick_cpu(int nr)
 {
-       openpic_init_processor( 1<<nr );
-       openpic_init_processor( 0 );
+       openpic_reset_processor_phys(1 << nr);
+       openpic_reset_processor_phys(0);
 }
 
 static void
@@ -574,9 +577,7 @@ void __init platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
        ppc_md.kbd_unexpected_up = NULL;
        ppc_md.kbd_leds = NULL;
        ppc_md.kbd_init_hw = NULL;
-#ifdef CONFIG_MAGIC_SYSRQ
        ppc_md.ppc_kbd_sysrq_xlate = NULL;
-#endif
        ppc_md.pcibios_fixup_bus = gemini_pcibios_fixup;
 
 #ifdef CONFIG_SMP
index a95099a8e6f4c31a27d44eaafed16a625efeb6ef..5e13c0a9257de70ab6acd69000129b9f88485349 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.head.S 1.29 08/19/01 22:43:23 paulus
+ * BK Id: SCCS/s.head.S 1.31 10/18/01 15:02:09 trini
  */
 /*
  *  PowerPC version 
@@ -32,6 +32,7 @@
 #include <asm/mmu.h>
 #include <asm/pgtable.h>
 #include <asm/cputable.h>
+#include <asm/cache.h>
 
 #ifdef CONFIG_APUS
 #include <asm/amigappc.h>
@@ -1083,7 +1084,7 @@ relocate_kernel:
 copy_and_flush:
        addi    r5,r5,-4
        addi    r6,r6,-4
-4:     li      r0,CACHE_LINE_SIZE/4
+4:     li      r0,L1_CACHE_LINE_SIZE/4
        mtctr   r0
 3:     addi    r6,r6,4                 /* copy a cache line */
        lwzx    r0,r6,r4
index dfdcd728d2323ae7b13b2f76ab33588d28f4d733..542a2bc32dc46580c2ec9839b6f3e3bf0c39d29a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.head_8xx.S 1.21 08/28/01 16:27:27 trini
+ * BK Id: SCCS/s.head_8xx.S 1.23 09/16/01 19:32:54 trini
  */
 /*
  *  arch/ppc/kernel/except_8xx.S
@@ -352,16 +352,21 @@ InstructionTLBMiss:
        mtspr   MD_TWC, r21     /* Load pte table base address */
        mfspr   r21, MD_TWC     /* ....and get the pte address */
        lwz     r20, 0(r21)     /* Get the pte */
-#if 0
+
        ori     r20, r20, _PAGE_ACCESSED
        stw     r20, 0(r21)
-#endif
 
-       /* Set four subpage valid bits (24, 25, 26, and 27).
-        * Clear bit 28 (which should be in the PTE, but we do this anyway).
+       /* The Linux PTE won't go exactly into the MMU TLB.
+        * Software indicator bits 21, 22 and 28 must be clear.
+        * Software indicator bits 24, 25, 26, and 27 must be
+        * set.  All other Linux PTE bits control the behavior
+        * of the MMU.
         */
+       li      r21, 0x0600
+       andc    r20, r20, r21           /* Clear 21, 22 */
        li      r21, 0x00f0
-       rlwimi  r20, r21, 0, 24, 28
+       rlwimi  r20, r21, 0, 24, 28     /* Set 24-27, clear 28 */
+
 #ifdef CONFIG_8xx_CPU6
        li      r3, 0x2d80
        stw     r3, 12(r0)
@@ -441,21 +446,21 @@ DataStoreTLBMiss:
 #endif
        mtspr   MD_TWC, r21
 
-       /* Set PP0 to PP1 (== _PAGE_USER) & ~_PAGE_RW */
-       rlwimi  r20, r20, 32-1, 21, 21
-       rlwinm  r21, r20, 4, 21, 21
-       andc    r20, r20, r21
+       mfspr   r21, MD_TWC     /* get the pte address again */
+       ori     r20, r20, _PAGE_ACCESSED
+       stw     r20, 0(r21)
 
-       /* Set four subpage valid bits (24, 25, 26, and 27).
-        * Clear bit 28 (which should be in the PTE, but we do this anyway).
+       /* The Linux PTE won't go exactly into the MMU TLB.
+        * Software indicator bits 21, 22 and 28 must be clear.
+        * Software indicator bits 24, 25, 26, and 27 must be
+        * set.  All other Linux PTE bits control the behavior
+        * of the MMU.
         */
-#if 0
-       ori     r20, r20, 0x00f0
-#else
+       li      r21, 0x0600
+       andc    r20, r20, r21           /* Clear 21, 22 */
        li      r21, 0x00f0
-       rlwimi  r20, r21, 0, 24, 28
+       rlwimi  r20, r21, 0, 24, 28     /* Set 24-27, clear 28 */
 
-#endif
 #ifdef CONFIG_8xx_CPU6
        li      r3, 0x3d80
        stw     r3, 12(r0)
@@ -549,15 +554,21 @@ DataTLBError:
 
        /* Update 'changed', among others.
        */
-       ori     r20, r20, _PAGE_DIRTY|_PAGE_ACCESSED
+       ori     r20, r20, _PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_HWWRITE
        mfspr   r21, MD_TWC             /* Get pte address again */
        stw     r20, 0(r21)             /* and update pte in table */
 
-       /* Set four subpage valid bits (24, 25, 26, and 27).
-        * Clear bit 28 (which should be in the PTE, but we do this anyway).
+       /* The Linux PTE won't go exactly into the MMU TLB.
+        * Software indicator bits 21, 22 and 28 must be clear.
+        * Software indicator bits 24, 25, 26, and 27 must be
+        * set.  All other Linux PTE bits control the behavior
+        * of the MMU.
         */
+       li      r21, 0x0600
+       andc    r20, r20, r21           /* Clear 21, 22 */
        li      r21, 0x00f0
-       rlwimi  r20, r21, 0, 24, 28
+       rlwimi  r20, r21, 0, 24, 28     /* Set 24-27, clear 28 */
+
 #ifdef CONFIG_8xx_CPU6
        li      r3, 0x3d80
        stw     r3, 12(r0)
index 58fa620f871d14748153fc365c5980b7e001e49b..73a929b10c6ca0420d46a0d3df62466d99b7e54f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.idle.c 1.14 08/15/01 22:43:06 paulus
+ * BK Id: SCCS/s.idle.c 1.16 10/16/01 15:58:42 trini
  */
 /*
  * Idle daemon for PowerPC.  Idle daemon will handle any action
@@ -58,14 +58,13 @@ int idled(void)
        init_idle();
        for (;;) {
 #ifdef CONFIG_SMP
-               int oldval;
 
                if (!do_power_save) {
                        /*
                         * Deal with another CPU just having chosen a thread to
                         * run here:
                         */
-                       oldval = xchg(&current->need_resched, -1);
+                       int oldval = xchg(&current->need_resched, -1);
 
                        if (!oldval) {
                                while(current->need_resched == -1)
index 0b82733fb41fff4e5c7065b08c2919ba96993450..873e8b732f377009b581776ac5c91935efa31f1b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.m8260_setup.c 1.26 09/22/01 11:33:22 trini
+ * BK Id: SCCS/s.m8260_setup.c 1.28 10/18/01 11:16:28 trini
  */
 /*
  *  linux/arch/ppc/kernel/setup.c
 #include "ppc8260_pic.h"
 
 static int m8260_set_rtc_time(unsigned long time);
-unsigned long m8260_get_rtc_time(void);
-void m8260_calibrate_decr(void);
-
-extern unsigned long loops_per_jiffy;
+static unsigned long m8260_get_rtc_time(void);
+static void m8260_calibrate_decr(void);
 
 unsigned char __res[sizeof(bd_t)];
 
-extern char saved_command_line[256];
-
-extern unsigned long find_available_memory(void);
 extern void m8260_cpm_reset(void);
 
-void __init
+static void __init
 m8260_setup_arch(void)
 {
        /* Reset the Communication Processor Module.
@@ -69,7 +64,7 @@ m8260_setup_arch(void)
        m8260_cpm_reset();
 }
 
-void
+static void
 abort(void)
 {
 #ifdef CONFIG_XMON
@@ -82,7 +77,8 @@ abort(void)
 /* The decrementer counts at the system (internal) clock frequency
  * divided by four.
  */
-void __init m8260_calibrate_decr(void)
+static void __init
+m8260_calibrate_decr(void)
 {
        bd_t    *binfo = (bd_t *)__res;
        int freq, divisor;
@@ -98,14 +94,14 @@ void __init m8260_calibrate_decr(void)
  */
 static uint rtc_time;
 
-static int
+static static int
 m8260_set_rtc_time(unsigned long time)
 {
        rtc_time = time;
        return(0);
 }
 
-unsigned long
+static unsigned long
 m8260_get_rtc_time(void)
 {
 
@@ -114,7 +110,7 @@ m8260_get_rtc_time(void)
        return((unsigned long)rtc_time);
 }
 
-void
+static void
 m8260_restart(char *cmd)
 {
        extern void m8260_gorom(bd_t *bi, uint addr);
@@ -134,20 +130,21 @@ m8260_restart(char *cmd)
        m8260_gorom((unsigned int)__pa(__res), startaddr);
 }
 
-void
+static void
 m8260_power_off(void)
 {
    m8260_restart(NULL);
 }
 
-void
+static void
 m8260_halt(void)
 {
    m8260_restart(NULL);
 }
 
 
-int m8260_setup_residual(char *buffer)
+static int
+m8260_setup_residual(char *buffer)
 {
         int     len = 0;
        bd_t    *bp;
@@ -170,7 +167,7 @@ int m8260_setup_residual(char *buffer)
  * External interrupts can be either edge or level triggered, and
  * need to be initialized by the appropriate driver.
  */
-void __init
+static void __init
 m8260_init_IRQ(void)
 {
        int i;
@@ -195,7 +192,8 @@ m8260_init_IRQ(void)
 /*
  * Same hack as 8xx
  */
-unsigned long __init m8260_find_end_of_memory(void)
+static unsigned long __init
+m8260_find_end_of_memory(void)
 {
        bd_t    *binfo;
        extern unsigned char __res[];
@@ -241,35 +239,33 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
                strcpy(cmd_line, (char *)(r6+KERNELBASE));
        }
 
-       ppc_md.setup_arch     = m8260_setup_arch;
-       ppc_md.setup_residual = m8260_setup_residual;
-       ppc_md.get_cpuinfo    = NULL;
-       ppc_md.irq_cannonicalize = NULL;
-       ppc_md.init_IRQ       = m8260_init_IRQ;
-       ppc_md.get_irq        = m8260_get_irq;
-       ppc_md.init           = NULL;
-
-       ppc_md.restart        = m8260_restart;
-       ppc_md.power_off      = m8260_power_off;
-       ppc_md.halt           = m8260_halt;
-
-       ppc_md.time_init      = NULL;
-       ppc_md.set_rtc_time   = m8260_set_rtc_time;
-       ppc_md.get_rtc_time   = m8260_get_rtc_time;
-       ppc_md.calibrate_decr = m8260_calibrate_decr;
-
-       ppc_md.find_end_of_memory = m8260_find_end_of_memory;
-       ppc_md.setup_io_mappings = m8260_map_io;
-
-       ppc_md.kbd_setkeycode    = NULL;
-       ppc_md.kbd_getkeycode    = NULL;
-       ppc_md.kbd_translate     = NULL;
-       ppc_md.kbd_unexpected_up = NULL;
-       ppc_md.kbd_leds          = NULL;
-       ppc_md.kbd_init_hw       = NULL;
-#ifdef CONFIG_MAGIC_SYSRQ
-       ppc_md.kbd_sysrq_xlate   = NULL;
-#endif
+       ppc_md.setup_arch               = m8260_setup_arch;
+       ppc_md.setup_residual           = m8260_setup_residual;
+       ppc_md.get_cpuinfo              = NULL;
+       ppc_md.irq_cannonicalize        = NULL;
+       ppc_md.init_IRQ                 = m8260_init_IRQ;
+       ppc_md.get_irq                  = m8260_get_irq;
+       ppc_md.init                     = NULL;
+
+       ppc_md.restart                  = m8260_restart;
+       ppc_md.power_off                = m8260_power_off;
+       ppc_md.halt                     = m8260_halt;
+
+       ppc_md.time_init                = NULL;
+       ppc_md.set_rtc_time             = m8260_set_rtc_time;
+       ppc_md.get_rtc_time             = m8260_get_rtc_time;
+       ppc_md.calibrate_decr           = m8260_calibrate_decr;
+
+       ppc_md.find_end_of_memory       = m8260_find_end_of_memory;
+       ppc_md.setup_io_mappings        = m8260_map_io;
+
+       ppc_md.kbd_setkeycode           = NULL;
+       ppc_md.kbd_getkeycode           = NULL;
+       ppc_md.kbd_translate            = NULL;
+       ppc_md.kbd_unexpected_up        = NULL;
+       ppc_md.kbd_leds                 = NULL;
+       ppc_md.kbd_init_hw              = NULL;
+       ppc_md.ppc_kbd_sysrq_xlate      = NULL;
 }
 
 /* Mainly for ksyms.
index 742a3522bad2c525523b8659f480e68676b6566f..87c6efafd19e33cf235dafd1cd147662966d07f4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.m8xx_setup.c 1.35 10/11/01 11:55:47 trini
+ * BK Id: SCCS/s.m8xx_setup.c 1.38 10/18/01 11:16:28 trini
  *
  *  linux/arch/ppc/kernel/setup.c
  *
@@ -60,8 +60,6 @@ extern int rd_prompt;         /* 1 = prompt for ramdisk, 0 = don't prompt */
 extern int rd_image_start;     /* starting block # of image */
 #endif
 
-extern char saved_command_line[256];
-
 extern unsigned long find_available_memory(void);
 extern void m8xx_cpm_reset(uint);
 
@@ -373,35 +371,33 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
                strcpy(cmd_line, (char *)(r6+KERNELBASE));
        }
 
-       ppc_md.setup_arch     = m8xx_setup_arch;
-       ppc_md.setup_residual = m8xx_setup_residual;
-       ppc_md.get_cpuinfo    = NULL;
-       ppc_md.irq_cannonicalize = NULL;
-       ppc_md.init_IRQ       = m8xx_init_IRQ;
-       ppc_md.get_irq        = m8xx_get_irq;
-       ppc_md.init           = NULL;
-
-       ppc_md.restart        = m8xx_restart;
-       ppc_md.power_off      = m8xx_power_off;
-       ppc_md.halt           = m8xx_halt;
-
-       ppc_md.time_init      = NULL;
-       ppc_md.set_rtc_time   = m8xx_set_rtc_time;
-       ppc_md.get_rtc_time   = m8xx_get_rtc_time;
-       ppc_md.calibrate_decr = m8xx_calibrate_decr;
-
-       ppc_md.find_end_of_memory = m8xx_find_end_of_memory;
-       ppc_md.setup_io_mappings = m8xx_map_io;
-
-       ppc_md.kbd_setkeycode    = NULL;
-       ppc_md.kbd_getkeycode    = NULL;
-       ppc_md.kbd_translate     = NULL;
-       ppc_md.kbd_unexpected_up = NULL;
-       ppc_md.kbd_leds          = NULL;
-       ppc_md.kbd_init_hw       = NULL;
-#ifdef CONFIG_MAGIC_SYSRQ
-       ppc_md.ppc_kbd_sysrq_xlate       = NULL;
-#endif
+       ppc_md.setup_arch               = m8xx_setup_arch;
+       ppc_md.setup_residual           = m8xx_setup_residual;
+       ppc_md.get_cpuinfo              = NULL;
+       ppc_md.irq_cannonicalize        = NULL;
+       ppc_md.init_IRQ                 = m8xx_init_IRQ;
+       ppc_md.get_irq                  = m8xx_get_irq;
+       ppc_md.init                     = NULL;
+
+       ppc_md.restart                  = m8xx_restart;
+       ppc_md.power_off                = m8xx_power_off;
+       ppc_md.halt                     = m8xx_halt;
+
+       ppc_md.time_init                = NULL;
+       ppc_md.set_rtc_time             = m8xx_set_rtc_time;
+       ppc_md.get_rtc_time             = m8xx_get_rtc_time;
+       ppc_md.calibrate_decr           = m8xx_calibrate_decr;
+
+       ppc_md.find_end_of_memory       = m8xx_find_end_of_memory;
+       ppc_md.setup_io_mappings        = m8xx_map_io;
+
+       ppc_md.kbd_setkeycode           = NULL;
+       ppc_md.kbd_getkeycode           = NULL;
+       ppc_md.kbd_translate            = NULL;
+       ppc_md.kbd_unexpected_up        = NULL;
+       ppc_md.kbd_leds                 = NULL;
+       ppc_md.kbd_init_hw              = NULL;
+       ppc_md.ppc_kbd_sysrq_xlate      = NULL;
 
 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
        m8xx_ide_init();
index f6971cd4bbeda35f74b96031aa7cafc0c199253d..52e7b4e2efc4f3f53d51b0408e21198703a2280f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.misc.S 1.28 08/24/01 20:07:37 paulus
+ * BK Id: SCCS/s.misc.S 1.32 10/18/01 17:29:53 trini
  */
 /*
  * This file contains miscellaneous low-level functions.
@@ -385,21 +385,21 @@ _GLOBAL(flush_icache_range)
        rlwinm  r5,r5,16,16,31
        cmpi    0,r5,1
        beqlr                           /* for 601, do nothing */
-       li      r5,CACHE_LINE_SIZE-1
+       li      r5,L1_CACHE_LINE_SIZE-1
        andc    r3,r3,r5
        subf    r4,r3,r4
        add     r4,r4,r5
-       srwi.   r4,r4,LG_CACHE_LINE_SIZE
+       srwi.   r4,r4,LG_L1_CACHE_LINE_SIZE
        beqlr
        mtctr   r4
        mr      r6,r3
 1:     dcbst   0,r3
-       addi    r3,r3,CACHE_LINE_SIZE
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    1b
        sync                            /* wait for dcbst's to get to ram */
        mtctr   r4
 2:     icbi    0,r6
-       addi    r6,r6,CACHE_LINE_SIZE
+       addi    r6,r6,L1_CACHE_LINE_SIZE
        bdnz    2b
        sync                            /* additional sync needed on g4 */
        isync
@@ -412,37 +412,37 @@ _GLOBAL(flush_icache_range)
  * clean_dcache_range(unsigned long start, unsigned long stop)
  */
 _GLOBAL(clean_dcache_range)
-       li      r5,CACHE_LINE_SIZE-1
+       li      r5,L1_CACHE_LINE_SIZE-1
        andc    r3,r3,r5
        subf    r4,r3,r4
        add     r4,r4,r5
-       srwi.   r4,r4,LG_CACHE_LINE_SIZE
+       srwi.   r4,r4,LG_L1_CACHE_LINE_SIZE
        beqlr
        mtctr   r4
 
 1:     dcbst   0,r3
-       addi    r3,r3,CACHE_LINE_SIZE
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    1b
        sync                            /* wait for dcbst's to get to ram */
        blr
 
 /*
- * Write any modified data cache blocks out to memory
- * and invalidate the corresponding instruction cache blocks.
+ * Write any modified data cache blocks out to memory and invalidate them.
+ * Does not invalidate the corresponding instruction cache blocks.
  *
  * flush_dcache_range(unsigned long start, unsigned long stop)
  */
 _GLOBAL(flush_dcache_range)
-       li      r5,CACHE_LINE_SIZE-1
+       li      r5,L1_CACHE_LINE_SIZE-1
        andc    r3,r3,r5
        subf    r4,r3,r4
        add     r4,r4,r5
-       srwi.   r4,r4,LG_CACHE_LINE_SIZE
+       srwi.   r4,r4,LG_L1_CACHE_LINE_SIZE
        beqlr
        mtctr   r4
 
 1:     dcbf    0,r3
-       addi    r3,r3,CACHE_LINE_SIZE
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    1b
        sync                            /* wait for dcbst's to get to ram */
        blr
@@ -455,16 +455,16 @@ _GLOBAL(flush_dcache_range)
  * invalidate_dcache_range(unsigned long start, unsigned long stop)
  */
 _GLOBAL(invalidate_dcache_range)
-       li      r5,CACHE_LINE_SIZE-1
+       li      r5,L1_CACHE_LINE_SIZE-1
        andc    r3,r3,r5
        subf    r4,r3,r4
        add     r4,r4,r5
-       srwi.   r4,r4,LG_CACHE_LINE_SIZE
+       srwi.   r4,r4,LG_L1_CACHE_LINE_SIZE
        beqlr
        mtctr   r4
 
 1:     dcbi    0,r3
-       addi    r3,r3,CACHE_LINE_SIZE
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    1b
        sync                            /* wait for dcbi's to get to ram */
        blr
@@ -481,18 +481,18 @@ _GLOBAL(__flush_page_to_ram)
        mfspr   r5,PVR
        rlwinm  r5,r5,16,16,31
        cmpi    0,r5,1
-       beqlr                           /* for 601, do nothing */
-       rlwinm  r3,r3,0,0,19            /* Get page base address */
-       li      r4,4096/CACHE_LINE_SIZE /* Number of lines in a page */
+       beqlr                                   /* for 601, do nothing */
+       rlwinm  r3,r3,0,0,19                    /* Get page base address */
+       li      r4,4096/L1_CACHE_LINE_SIZE      /* Number of lines in a page */
        mtctr   r4
        mr      r6,r3
-0:     dcbst   0,r3                    /* Write line to ram */
-       addi    r3,r3,CACHE_LINE_SIZE
+0:     dcbst   0,r3                            /* Write line to ram */
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    0b
        sync
        mtctr   r4
 1:     icbi    0,r6
-       addi    r6,r6,CACHE_LINE_SIZE
+       addi    r6,r6,L1_CACHE_LINE_SIZE
        bdnz    1b
        sync
        isync
@@ -510,11 +510,11 @@ _GLOBAL(__flush_icache_page)
        mfspr   r5,PVR
        rlwinm  r5,r5,16,16,31
        cmpi    0,r5,1
-       beqlr                           /* for 601, do nothing */
-       li      r4,4096/CACHE_LINE_SIZE /* Number of lines in a page */
+       beqlr                                   /* for 601, do nothing */
+       li      r4,4096/L1_CACHE_LINE_SIZE      /* Number of lines in a page */
        mtctr   r4
 1:     icbi    0,r3
-       addi    r3,r3,CACHE_LINE_SIZE
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    1b
        sync
        isync
@@ -526,7 +526,7 @@ _GLOBAL(__flush_icache_page)
  * displaced).  This only works on cacheable memory.
  */
 _GLOBAL(clear_page)
-       li      r0,4096/CACHE_LINE_SIZE
+       li      r0,4096/L1_CACHE_LINE_SIZE
        mtctr   r0
 #ifdef CONFIG_8xx
        li      r4, 0
@@ -537,7 +537,7 @@ _GLOBAL(clear_page)
 #else
 1:     dcbz    0,r3
 #endif
-       addi    r3,r3,CACHE_LINE_SIZE
+       addi    r3,r3,L1_CACHE_LINE_SIZE
        bdnz    1b
        blr
 
@@ -563,20 +563,20 @@ _GLOBAL(copy_page)
        li      r5,4
 
 #ifndef CONFIG_8xx
-#if MAX_COPY_PREFETCH > 1
-       li      r0,MAX_COPY_PREFETCH
+#if MAX_L1_COPY_PREFETCH > 1
+       li      r0,MAX_L1_COPY_PREFETCH
        li      r11,4
        mtctr   r0
 11:    dcbt    r11,r4
-       addi    r11,r11,CACHE_LINE_SIZE
+       addi    r11,r11,L1_CACHE_LINE_SIZE
        bdnz    11b
-#else /* MAX_COPY_PREFETCH == 1 */
+#else /* MAX_L1_COPY_PREFETCH == 1 */
        dcbt    r5,r4
-       li      r11,CACHE_LINE_SIZE+4
-#endif /* MAX_COPY_PREFETCH */
+       li      r11,L1_CACHE_LINE_SIZE+4
+#endif /* MAX_L1_COPY_PREFETCH */
 #endif /* CONFIG_8xx */
 
-       li      r0,4096/CACHE_LINE_SIZE
+       li      r0,4096/L1_CACHE_LINE_SIZE
        mtctr   r0
 1:
 #ifndef CONFIG_8xx
@@ -584,12 +584,12 @@ _GLOBAL(copy_page)
        dcbz    r5,r3
 #endif
        COPY_16_BYTES
-#if CACHE_LINE_SIZE >= 32
+#if L1_CACHE_LINE_SIZE >= 32
        COPY_16_BYTES
-#if CACHE_LINE_SIZE >= 64
+#if L1_CACHE_LINE_SIZE >= 64
        COPY_16_BYTES
        COPY_16_BYTES
-#if CACHE_LINE_SIZE >= 128
+#if L1_CACHE_LINE_SIZE >= 128
        COPY_16_BYTES
        COPY_16_BYTES
        COPY_16_BYTES
@@ -1104,22 +1104,23 @@ _GLOBAL(sys_call_table)
        .long sys_ni_syscall            /* streams2 */
        .long sys_vfork
        .long sys_getrlimit     /* 190 */
-       .long sys_ni_syscall            /* 191 */       /* Unused */
-       .long sys_mmap2                 /* 192 */
-       .long sys_truncate64            /* 193 */
-       .long sys_ftruncate64           /* 194 */
-       .long sys_stat64                /* 195 */
-       .long sys_lstat64               /* 196 */
-       .long sys_fstat64               /* 197 */
-       .long sys_pciconfig_read        /* 198 */
-       .long sys_pciconfig_write       /* 199 */
+       .long sys_readahead
+       .long sys_mmap2 
+       .long sys_truncate64
+       .long sys_ftruncate64
+       .long sys_stat64        /* 195 */
+       .long sys_lstat64
+       .long sys_fstat64
+       .long sys_pciconfig_read
+       .long sys_pciconfig_write 
        .long sys_pciconfig_iobase      /* 200 */
        .long sys_ni_syscall            /* 201 - reserved - MacOnLinux - new */
-       .long sys_getdents64            /* 202 */
-       .long sys_pivot_root            /* 203 */
-       .long sys_fcntl64               /* 204 */
-       .long sys_madvise               /* 205 */
-       .long sys_mincore               /* 206 */
+       .long sys_getdents64
+       .long sys_pivot_root
+       .long sys_fcntl64
+       .long sys_madvise       /* 205 */
+       .long sys_mincore
+       .long sys_gettid
        .rept NR_syscalls-(.-sys_call_table)/4
                .long sys_ni_syscall
        .endr
index f66e6f4b4c173fbd44fde012ef9de5569d2e2e3d..58bc682f9943c4e66c3a5ee94c857d5faf038b96 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.oak_setup.c 1.8 08/15/01 21:48:38 paulus
+ * BK Id: SCCS/s.oak_setup.c 1.10 10/18/01 11:16:28 trini
  */
 /*
  *
@@ -128,12 +128,7 @@ platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
        ppc_md.kbd_unexpected_up        = NULL;
        ppc_md.kbd_leds                 = NULL;
        ppc_md.kbd_init_hw              = NULL;
-
-#if defined(CONFIG_MAGIC_SYSRQ)
        ppc_md.ppc_kbd_sysrq_xlate      = NULL;
-#endif
-
-       return;
 }
 
 /*
index 99a85e468b77aa01613b2a60aafbe153830b39f7..c5c8a7e155f023bcae1c5f167d937538668f4e9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.open_pic.c 1.28 09/08/01 15:47:42 paulus
+ * BK Id: SCCS/s.open_pic.c 1.31 10/11/01 12:09:11 trini
  */
 /*
  *  arch/ppc/kernel/open_pic.c -- OpenPIC Interrupt Handling
@@ -515,10 +515,9 @@ static inline u32 physmask(u32 cpumask)
 #define physmask(cpumask)      (cpumask)
 #endif
 
-void openpic_init_processor(u_int cpumask)
+void openpic_reset_processor_phys(u_int mask)
 {
-       openpic_write(&OpenPIC->Global.Processor_Initialization,
-                     physmask(cpumask));
+       openpic_write(&OpenPIC->Global.Processor_Initialization, mask);
 }
 
 static spinlock_t openpic_setup_lock = SPIN_LOCK_UNLOCKED;
index a36c04e20f0f0ad747d1ee3ded5b57884a7bc685..0e236c0b384846321a36addd6457577588d394be 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.open_pic.h 1.12 08/20/01 22:33:28 paulus
+ * BK Id: SCCS/s.open_pic.h 1.14 10/11/01 12:09:12 trini
  */
 /*
  *  arch/ppc/kernel/open_pic.h -- OpenPIC Interrupt Handling
@@ -46,7 +46,7 @@ extern void openpic_eoi(void);
 extern void openpic_request_IPIs(void);
 extern void do_openpic_setup_cpu(void);
 extern int openpic_get_irq(struct pt_regs *regs);
-extern void openpic_init_processor(u_int cpumask);
+extern void openpic_reset_processor_phys(u_int cpumask);
 extern void openpic_setup_ISU(int isu_num, unsigned long addr);
 extern void openpic_cause_IPI(u_int ipi, u_int cpumask);
 extern void smp_openpic_message_pass(int target, int msg, unsigned long data,
index c52b043ef0263bb04e161e682d042ad5a645256b..c45cd28bc586ef84890edff1f9a7acbd2bca2151 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.pci.c 1.28 08/08/01 16:35:43 paulus
+ * BK Id: SCCS/s.pci.c 1.31 11/01/01 12:24:55 trini
  */
 /*
  * Common pmac/prep/chrp pci routines. -- Cort
@@ -40,6 +40,8 @@ unsigned long isa_io_base     = 0;
 unsigned long isa_mem_base    = 0;
 unsigned long pci_dram_offset = 0;
 
+void pcibios_make_OF_bus_map(void);
+
 static void pcibios_fixup_resources(struct pci_dev* dev);
 static void fixup_broken_pcnet32(struct pci_dev* dev);
 #ifdef CONFIG_ALL_PPC
index d93b25dd66b19acbe6e07ed833037e56ff0cafe2..aebe0e56b046528f0b2a4ab8d0526a1c394608e7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.pmac_setup.c 1.39 09/08/01 15:47:42 paulus
+ * BK Id: SCCS/s.pmac_setup.c 1.41 10/18/01 11:16:28 trini
  */
 /*
  *  linux/arch/ppc/kernel/setup.c
@@ -94,11 +94,9 @@ extern int mac_hid_kbd_translate(unsigned char scancode, unsigned char *keycode,
                                 char raw_mode);
 extern char mac_hid_kbd_unexpected_up(unsigned char keycode);
 extern void mac_hid_init_hw(void);
-#ifdef CONFIG_MAGIC_SYSRQ
-extern unsigned char mac_hid_kbd_sysrq_xlate[128];
-extern unsigned char pckbd_sysrq_xlate[128];
-extern unsigned char mackbd_sysrq_xlate[128];
-#endif /* CONFIG_MAGIC_SYSRQ */
+extern unsigned char mac_hid_kbd_sysrq_xlate[];
+extern unsigned char pckbd_sysrq_xlate[];
+extern unsigned char mackbd_sysrq_xlate[];
 extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
 extern int pckbd_getkeycode(unsigned int scancode);
 extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
index 16527bc65f99780facf8e0e77ecaeac8b5615607..ea28f75d9acc56aad40695c4e9f2d8be182937b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.ppc_asm.h 1.16 08/15/01 22:43:06 paulus
+ * BK Id: SCCS/s.ppc_asm.h 1.18 10/18/01 15:02:09 trini
  */
 /*
  * arch/ppc/kernel/ppc_asm.h
@@ -156,22 +156,3 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)
 #define MTMSRD(r)      mtmsr   r
 #define CLR_TOP32(r)
 #endif /* CONFIG_PPC64BRIDGE */
-
-/*
- * Defines for cache-line size etc.
- */
-#if defined(CONFIG_4xx) || defined(CONFIG_8xx)
-#define CACHE_LINE_SIZE                16
-#define LG_CACHE_LINE_SIZE     4
-#define MAX_COPY_PREFETCH      1
-
-#elif !defined(CONFIG_PPC64BRIDGE)
-#define CACHE_LINE_SIZE                32
-#define LG_CACHE_LINE_SIZE     5
-#define MAX_COPY_PREFETCH      4
-
-#else
-#define CACHE_LINE_SIZE                128
-#define LG_CACHE_LINE_SIZE     7
-#define MAX_COPY_PREFETCH      1
-#endif /* CONFIG_4xx || CONFIG_8xx */
index 7d42d39670b138ff8906bead694437ea4e98f22a..8f054ff4c33cc376ef17a40365b232a5fc6544f3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.ppc_htab.c 1.17 08/20/01 22:59:41 paulus
+ * BK Id: SCCS/s.ppc_htab.c 1.19 10/16/01 15:58:42 trini
  */
 /*
  * PowerPC hash table management proc entry.  Will show information
@@ -115,10 +115,13 @@ static ssize_t ppc_htab_read(struct file * file, char * buf,
                             size_t count, loff_t *ppos)
 {
        unsigned long mmcr0 = 0, pmc1 = 0, pmc2 = 0;
-       int n = 0, valid;
+       int n = 0;
+#ifdef CONFIG_PPC_STD_MMU
+       int valid;
        unsigned int kptes = 0, uptes = 0, zombie_ptes = 0;
        PTE *ptr;
        struct task_struct *p;
+#endif /* CONFIG_PPC_STD_MMU */
        char buffer[512];
 
        if (count < 0)
@@ -206,9 +209,9 @@ static ssize_t ppc_htab_read(struct file * file, char * buf,
                      "Evicts\t\t: %lu\n",
                      htab_reloads, htab_preloads, htab_hash_searches,
                      primary_pteg_full, htab_evicts);
+return_string:
 #endif /* CONFIG_PPC_STD_MMU */
        
-return_string:
        n += sprintf( buffer + n,
                      "Non-error misses: %lu\n"
                      "Error misses\t: %lu\n",
index c62fed51e097783a60c9bb6bfad4c414c04ff100..4a69bb5cd5cde6a6d05d96ded0fd751b226a5656 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.ppc_ksyms.c 1.55 10/02/01 12:33:42 trini
+ * BK Id: SCCS/s.ppc_ksyms.c 1.57 10/16/01 15:58:42 trini
  */
 #include <linux/config.h>
 #include <linux/module.h>
@@ -351,7 +351,7 @@ EXPORT_SYMBOL(next_mmu_context);
 EXPORT_SYMBOL(set_context);
 EXPORT_SYMBOL(handle_mm_fault); /* For MOL */
 EXPORT_SYMBOL_NOVERS(disarm_decr);
-#if !defined(CONFIG_8xx) && !defined(CONFIG_4xx)
+#ifdef CONFIG_PPC_STD_MMU
 EXPORT_SYMBOL(flush_hash_page); /* For MOL */
 extern long *intercept_table;
 EXPORT_SYMBOL(intercept_table);
index 35ad66720516e812c1fc9ed8078d41d56e8815f7..59e8d790a8ba55785deb120d67de09cb519b3d5e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.prep_setup.c 1.38 09/15/01 09:13:52 trini
+ * BK Id: SCCS/s.prep_setup.c 1.41 10/18/01 11:16:28 trini
  */
 /*
  *  linux/arch/ppc/kernel/setup.c
@@ -86,14 +86,14 @@ extern void ibm_prep_init(void);
 extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
 extern int pckbd_getkeycode(unsigned int scancode);
 extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
-                          char raw_mode);
+               char raw_mode);
 extern char pckbd_unexpected_up(unsigned char keycode);
 extern void pckbd_leds(unsigned char leds);
 extern void pckbd_init_hw(void);
-extern unsigned char pckbd_sysrq_xlate[128];
+extern unsigned char pckbd_sysrq_xlate[];
 
 extern void prep_find_bridges(void);
-extern char saved_command_line[256];
+extern char saved_command_line[];
 
 int _prep_type;
 
@@ -121,7 +121,7 @@ EXPORT_SYMBOL(ppc_cs4232_dma);
 EXPORT_SYMBOL(ppc_cs4232_dma2);
 #endif
 
-int __prep
+static int __prep
 prep_get_cpuinfo(char *buffer)
 {
        extern char *Motherboard_map_name;
@@ -131,11 +131,11 @@ prep_get_cpuinfo(char *buffer)
 #endif
 
 #ifdef CONFIG_SMP
-#define CD(X)          (cpu_data[n].X)  
+#define CD(X)          (cpu_data[n].X)
 #else
 #define CD(X) (X)
 #endif
-  
+
        len = sprintf(buffer,"machine\t\t: PReP %s\n",Motherboard_map_name);
 
        
@@ -151,9 +151,10 @@ prep_get_cpuinfo(char *buffer)
                        goto no_l2;
                }
                len += sprintf(buffer+len,"%sKb,",
-                              (((*(unsigned char *)0x8000080d)>>2)&1)?"512":"256");
+                               (((*(unsigned char *)0x8000080d)>>2)&1)
+                                       ? "512" : "256");
                len += sprintf(buffer+len,"%ssync\n",
-                              ((*(unsigned char *)0x8000080d)>>7) ? "":"a");
+                               ((*(unsigned char *)0x8000080d)>>7) ? "" : "a");
                break;
        case _PREP_Motorola:
                len += sprintf(buffer+len,"L2\t\t: ");
@@ -174,26 +175,26 @@ prep_get_cpuinfo(char *buffer)
                        break;
                default:
                        len += sprintf(buffer+len, "%x\n",
-                                      *((unsigned char *)CACHECRBA));
+                                       *((unsigned char *)CACHECRBA));
                }
                
                len += sprintf(buffer+len,",parity %s",
-                              (*((unsigned char *)CACHECRBA) & L2CACHE_PARITY) ?
-                              "enabled" : "disabled");
-               
+                               (*((unsigned char *)CACHECRBA) & L2CACHE_PARITY)
+                               ? "enabled" : "disabled");
+
                len += sprintf(buffer+len, " SRAM:");
                
                switch ( ((*((unsigned char *)CACHECRBA) & 0xf0) >> 4) & ~(0x3) )
                {
                case 1: len += sprintf(buffer+len,
-                                      "synchronous,parity,flow-through\n");
+                                       "synchronous,parity,flow-through\n");
                        break;
                case 2: len += sprintf(buffer+len,"asynchronous,no parity\n");
                        break;
                case 3: len += sprintf(buffer+len,"asynchronous,parity\n");
                        break;
                default:len += sprintf(buffer+len,
-                                      "synchronous,pipelined,no parity\n");
+                                       "synchronous,pipelined,no parity\n");
                        break;
                }
                break;
@@ -214,17 +215,17 @@ no_l2:
        for ( i = 0 ; (res->ActualNumMemories) && (i < MAX_MEMS) ; i++ )
        {
                if ( res->Memories[i].SIMMSize != 0 )
-                       len += sprintf(buffer+len,"%d:%ldM ",i,
-                                      (res->Memories[i].SIMMSize > 1024) ?
-                                      res->Memories[i].SIMMSize>>20 :
-                                      res->Memories[i].SIMMSize);
+                       len += sprintf(buffer+len,"%d:%ldM ", i,
+                                       (res->Memories[i].SIMMSize > 1024) ? 
+                                       res->Memories[i].SIMMSize>>20 : 
+                                       res->Memories[i].SIMMSize);
        }
        len += sprintf(buffer+len,"\n");
        return len;
 #endif
 }
 
-void __init
+static void __init
 prep_setup_arch(void)
 {
        unsigned char reg;
@@ -277,20 +278,19 @@ prep_setup_arch(void)
                break;
        }
 
-      /* Read in NVRAM data */ 
-      init_prep_nvram();
-       
-      /* if no bootargs, look in NVRAM */
-      if ( cmd_line[0] == '\0' ) {
-              char *bootargs;
-              bootargs = prep_nvram_get_var("bootargs");
-              if (bootargs != NULL) {
-                      strcpy(cmd_line, bootargs);
-
-                      /* again.. */
-                      strcpy(saved_command_line, cmd_line);
-              }
-      }
+       /* Read in NVRAM data */ 
+       init_prep_nvram();
+
+       /* if no bootargs, look in NVRAM */
+       if ( cmd_line[0] == '\0' ) {
+               char *bootargs;
+                bootargs = prep_nvram_get_var("bootargs");
+                if (bootargs != NULL) {
+                        strcpy(cmd_line, bootargs);
+                        /* again.. */
+                        strcpy(saved_command_line, cmd_line);
+               }
+       }
 
 #ifdef CONFIG_SOUND_CS4232
        /*
@@ -303,11 +303,11 @@ prep_setup_arch(void)
        if ( _machine == _MACH_prep )
        {
                extern struct card_info snd_installed_cards[];
-               struct card_info  *snd_ptr;
+               struct card_info *snd_ptr;
 
                for ( snd_ptr = snd_installed_cards; 
-                     snd_ptr < &snd_installed_cards[num_sound_cards];
-                     snd_ptr++ )
+                       snd_ptr < &snd_installed_cards[num_sound_cards];
+                       snd_ptr++ )
                {
                        if ( snd_ptr->card_type == SNDCARD_CS4232 )
                        {
@@ -321,7 +321,7 @@ prep_setup_arch(void)
                                if ( _prep_type == _PREP_IBM )
                                {
                                        snd_ptr->config.io_base = 0x530;
-                                       snd_ptr->config.irq =  5;
+                                       snd_ptr->config.irq = 5;
                                        snd_ptr->config.dma = ppc_cs4232_dma = 1;
                                        /* this is wrong - but leave it for now */
                                        snd_ptr->config.dma2 = ppc_cs4232_dma2 = 7;
@@ -357,17 +357,23 @@ prep_setup_arch(void)
  * This allows for a faster boot as we do not need to calibrate the
  * decrementer against another clock. This is important for embedded systems.
  */
-void __init prep_res_calibrate_decr(void)
+static int __init
+prep_res_calibrate_decr(void)
 {
-#ifdef CONFIG_PREP_RESIDUAL    
-       unsigned long freq, divisor=4;
+#ifdef CONFIG_PREP_RESIDUAL
+       unsigned long freq, divisor = 4;
 
-       freq = res->VitalProductData.ProcessorBusHz;
-       printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
-              (freq/divisor)/1000000, (freq/divisor)%1000000);
-       tb_ticks_per_jiffy = freq / HZ / divisor;
-       tb_to_us = mulhwu_scale_factor(freq/divisor, 1000000);
+       if ( res->VitalProductData.ProcessorBusHz ) {
+               freq = res->VitalProductData.ProcessorBusHz;
+               printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
+                               (freq/divisor)/1000000,
+                               (freq/divisor)%1000000);
+               tb_to_us = mulhwu_scale_factor(freq/divisor, 1000000);
+               tb_ticks_per_jiffy = freq / HZ / divisor;
+               return 0;
+       } else
 #endif 
+               return 1;
 }
 
 /*
@@ -383,10 +389,8 @@ void __init prep_res_calibrate_decr(void)
 static volatile int calibrate_steps __initdata = 3;
 static unsigned tbstamp __initdata = 0;
 
-void __init
-prep_calibrate_decr_handler(int            irq,
-                           void           *dev,
-                           struct pt_regs *regs)
+static void __init
+prep_calibrate_decr_handler(int irq, void *dev, struct pt_regs *regs)
 {
        unsigned long t, freq;
        int step=--calibrate_steps;
@@ -397,44 +401,54 @@ prep_calibrate_decr_handler(int            irq,
        } else {
                freq = (t - tbstamp)*HZ;
                printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
-                      freq/1000000, freq%1000000);
+                        freq/1000000, freq%1000000);
                tb_ticks_per_jiffy = freq / HZ;
                tb_to_us = mulhwu_scale_factor(freq, 1000000);
        }
 }
 
-void __init prep_calibrate_decr(void)
+static void __init
+prep_calibrate_decr(void)
 {
-       unsigned long flags;
+       int res;
 
+       /* Try and get this from the residual data. */
+       res = prep_res_calibrate_decr();
 
-       save_flags(flags);
+       /* If we didn't get it from the residual data, try this. */
+       if ( res ) {
+               unsigned long flags;
+
+               save_flags(flags);
 
 #define TIMER0_COUNT 0x40
 #define TIMER_CONTROL 0x43
-       /* set timer to periodic mode */
-       outb_p(0x34,TIMER_CONTROL);/* binary, mode 2, LSB/MSB, ch 0 */
-       /* set the clock to ~100 Hz */
-       outb_p(LATCH & 0xff , TIMER0_COUNT);    /* LSB */
-       outb(LATCH >> 8 , TIMER0_COUNT);        /* MSB */
-       
-       if (request_irq(0, prep_calibrate_decr_handler, 0, "timer", NULL) != 0)
-               panic("Could not allocate timer IRQ!");
-       __sti();
-       while ( calibrate_steps ) /* nothing */; /* wait for calibrate */
-        restore_flags(flags);
-       free_irq( 0, NULL);
+               /* set timer to periodic mode */
+               outb_p(0x34,TIMER_CONTROL);/* binary, mode 2, LSB/MSB, ch 0 */
+               /* set the clock to ~100 Hz */
+               outb_p(LATCH & 0xff , TIMER0_COUNT);    /* LSB */
+               outb(LATCH >> 8 , TIMER0_COUNT);        /* MSB */
+
+               if (request_irq(0, prep_calibrate_decr_handler, 0, "timer", NULL) != 0)
+                       panic("Could not allocate timer IRQ!");
+               __sti();
+               /* wait for calibrate */
+               while ( calibrate_steps )
+                       ;
+               restore_flags(flags);
+               free_irq( 0, NULL);
+       }
 }
 
-
-static long __init mk48t59_init(void) {
+static long __init
+mk48t59_init(void) {
        unsigned char tmp;
 
        tmp = ppc_md.nvram_read_val(MK48T59_RTC_CONTROLB);
        if (tmp & MK48T59_RTC_CB_STOP) {
                printk("Warning: RTC was stopped, date will be wrong.\n");
                ppc_md.nvram_write_val(MK48T59_RTC_CONTROLB, 
-                                      tmp & ~MK48T59_RTC_CB_STOP);
+                                        tmp & ~MK48T59_RTC_CB_STOP);
                /* Low frequency crystal oscillators may take a very long
                 * time to startup and stabilize. For now just ignore the
                 * the issue, but attempting to calibrate the decrementer
@@ -454,12 +468,13 @@ static long __init mk48t59_init(void) {
  * the RTC registers have just been set up in the right state by the
  * preceding routine.
  */
-void __init mk48t59_calibrate_decr(void)
+static void __init
+mk48t59_calibrate_decr(void)
 {
        unsigned long freq;
        unsigned long t1;
-        unsigned char save_control;
-        long i;
+       unsigned char save_control;
+       long i;
        unsigned char sec;
  
                
@@ -467,7 +482,7 @@ void __init mk48t59_calibrate_decr(void)
        save_control = ppc_md.nvram_read_val(MK48T59_RTC_CONTROLB);
        
        ppc_md.nvram_write_val(MK48T59_RTC_CONTROLA,
-                            (save_control & (~MK48T59_RTC_CB_STOP)));
+                       (save_control & (~MK48T59_RTC_CB_STOP)));
 
        /* Now make sure the read bit is off so the value will change. */
        save_control = ppc_md.nvram_read_val(MK48T59_RTC_CONTROLA);
@@ -484,27 +499,26 @@ void __init mk48t59_calibrate_decr(void)
         * stamp with a loop count as parameter would be the  solution.
         */
        for (i = 0 ; i < 1000000 ; i++) { /* may take up to 1 second... */
-          t1 = get_tbl();
-          if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec) {
-             break;
-          }
+               t1 = get_tbl();
+               if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec) {
+                       break;
+               }
        }
 
        sec = ppc_md.nvram_read_val(MK48T59_RTC_SECONDS);
        for (i = 0 ; i < 1000000 ; i++) { /* Should take up 1 second... */
-          freq = get_tbl()-t1;
-          if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec) {
-             break;
-          }
+               freq = get_tbl()-t1;
+               if (ppc_md.nvram_read_val(MK48T59_RTC_SECONDS) != sec)
+                       break;
        }
 
        printk("time_init: decrementer frequency = %lu.%.6lu MHz\n",
-              freq/1000000, freq%1000000);
+                freq/1000000, freq%1000000);
        tb_ticks_per_jiffy = freq / HZ;
        tb_to_us = mulhwu_scale_factor(freq, 1000000);
 }
 
-void __prep
+static void __prep
 prep_restart(char *cmd)
 {
        unsigned long i = 10000;
@@ -523,33 +537,7 @@ prep_restart(char *cmd)
        panic("restart failed\n");
 }
 
-/*
- * This function will restart a board regardless of port 92 functionality
- */
-void __prep
-prep_direct_restart(char *cmd)
-{
-       u32 jumpaddr=0xfff00100;
-       u32 defaultmsr=MSR_IP;
-
-       /*
-        * This will ALWAYS work regardless of port 92
-        * functionality
-        */
-       __cli();
-
-       __asm__ __volatile__("\n\
-       mtspr   26, %1  /* SRR0 */      \n\
-       mtspr   27, %0  /* SRR1 */      \n\
-       rfi"
-       :
-       : "r" (defaultmsr), "r" (jumpaddr));
-       /*
-        * Not reached
-        */
-}
-
-void __prep
+static void __prep
 prep_halt(void)
 {
        unsigned long flags;
@@ -615,7 +603,7 @@ utah_sig87c750_setbit(unsigned int bytenum, unsigned int bitnum, int value)
        udelay(100);                            /* important: let controller recover */
 }
 
-void __prep
+static void __prep
 prep_power_off(void)
 {
        if ( _prep_type == _PREP_IBM) {
@@ -640,19 +628,19 @@ prep_power_off(void)
        }
 }
 
-int __prep
+static int __prep
 prep_setup_residual(char *buffer)
 {
-        int len = 0;
+       int len = 0;
 
        /* PREP's without residual data will give incorrect values here */
        len += sprintf(len+buffer, "clock\t\t: ");
 #ifdef CONFIG_PREP_RESIDUAL    
        if ( res->ResidualLength )
                len += sprintf(len+buffer, "%ldMHz\n",
-                      (res->VitalProductData.ProcessorHz > 1024) ?
-                      res->VitalProductData.ProcessorHz>>20 :
-                      res->VitalProductData.ProcessorHz);
+                        (res->VitalProductData.ProcessorHz > 1024) ?
+                        res->VitalProductData.ProcessorHz>>20 :
+                       res->VitalProductData.ProcessorHz);
        else
 #endif /* CONFIG_PREP_RESIDUAL */
                len += sprintf(len+buffer, "???\n");
@@ -660,7 +648,7 @@ prep_setup_residual(char *buffer)
        return len;
 }
 
-u_int __prep
+static unsigned int __prep
 prep_irq_cannonicalize(u_int irq)
 {
        if (irq == 2)
@@ -673,29 +661,29 @@ prep_irq_cannonicalize(u_int irq)
        }
 }
 
-int __prep
+static int __prep
 prep_get_irq(struct pt_regs *regs)
 {
        return i8259_irq(smp_processor_id());
 }              
 
-void __init
+static void __init
 prep_init_IRQ(void)
 {
        int i;
 
        if (OpenPIC_Addr != NULL)
                openpic_init(1, NUM_8259_INTERRUPTS, 0, -1);
-        for ( i = 0 ; i < NUM_8259_INTERRUPTS  ; i++ )
-                irq_desc[i].handler = &i8259_pic;
-        i8259_init();  
+       for ( i = 0 ; i < NUM_8259_INTERRUPTS ; i++ )
+               irq_desc[i].handler = &i8259_pic;
+       i8259_init();   
 }
 
 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
 /*
  * IDE stuff.
  */
-int __prep
+static int __prep
 prep_ide_default_irq(ide_ioreg_t base)
 {
        switch (base) {
@@ -709,7 +697,7 @@ prep_ide_default_irq(ide_ioreg_t base)
        }
 }
 
-ide_ioreg_t __prep
+static ide_ioreg_t __prep
 prep_ide_default_io_base(int index)
 {
        switch (index) {
@@ -718,17 +706,17 @@ prep_ide_default_io_base(int index)
                case 2: return 0x1e8;
                case 3: return 0x168;
                default:
-                        return 0;
+                       return 0;
        }
 }
 
-int __prep
+static int __prep
 prep_ide_check_region(ide_ioreg_t from, unsigned int extent)
 {
-        return check_region(from, extent);
+       return check_region(from, extent);
 }
 
-void __prep
+static void __prep
 prep_ide_request_region(ide_ioreg_t from,
                        unsigned int extent,
                        const char *name)
@@ -736,14 +724,14 @@ prep_ide_request_region(ide_ioreg_t from,
        request_region(from, extent, name);
 }
 
-void __prep
+static void __prep
 prep_ide_release_region(ide_ioreg_t from,
                        unsigned int extent)
 {
        release_region(from, extent);
 }
 
-void __init
+static void __init
 prep_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl_port, int *irq)
 {
        ide_ioreg_t reg = data_port;
@@ -756,7 +744,7 @@ prep_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl
        if (ctrl_port) {
                hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port;
        } else {
-               hw->io_ports[IDE_CONTROL_OFFSET] =  hw->io_ports[IDE_DATA_OFFSET] + 0x206;
+               hw->io_ports[IDE_CONTROL_OFFSET] = hw->io_ports[IDE_DATA_OFFSET] + 0x206;
        }
        if (irq != NULL)
                *irq = 0;
@@ -765,7 +753,7 @@ prep_ide_init_hwif_ports (hw_regs_t *hw, ide_ioreg_t data_port, ide_ioreg_t ctrl
 
 #ifdef CONFIG_SMP
 /* PReP (MTX) support */
-static int
+static int __init
 smp_prep_probe(void)
 {
        extern int mot_multi;
@@ -779,7 +767,7 @@ smp_prep_probe(void)
        return 1;
 }
 
-static void
+static void __init
 smp_prep_kick_cpu(int nr)
 {
        *(unsigned long *)KERNELBASE = nr;
@@ -787,14 +775,14 @@ smp_prep_kick_cpu(int nr)
        printk("CPU1 reset, waiting\n");
 }
 
-static void
+static void __init
 smp_prep_setup_cpu(int cpu_nr)
 {
        if (OpenPIC_Addr)
                do_openpic_setup_cpu();
 }
 
-static struct smp_ops_t prep_smp_ops = {
+static struct smp_ops_t prep_smp_ops __prepdata = {
        smp_openpic_message_pass,
        smp_prep_probe,
        smp_prep_kick_cpu,
@@ -808,7 +796,8 @@ static struct smp_ops_t prep_smp_ops = {
  * this will likely stay separate from the pmac.
  * -- Cort
  */
-unsigned long __init prep_find_end_of_memory(void)
+static unsigned long __init
+prep_find_end_of_memory(void)
 {
        unsigned long total = 0;
        extern unsigned int boot_mem_size;
@@ -819,15 +808,14 @@ unsigned long __init prep_find_end_of_memory(void)
 
        if (total == 0 && boot_mem_size != 0)
                total = boot_mem_size;
-
-       if (total == 0) {
+       else if (total == 0) {
                /*
                 * I need a way to probe the amount of memory if the residual
                 * data doesn't contain it. -- Cort
                 */
                total = 0x02000000;
                printk(KERN_INFO "Ramsize from residual data was 0"
-                      " -- defaulting to %ldM\n", total>>20);
+                        " -- defaulting to %ldM\n", total>>20);
        }
 
        return (total);
@@ -838,16 +826,17 @@ unsigned long __init prep_find_end_of_memory(void)
  * the io areas.  RAM was mapped by mapin_ram().
  * -- Cort
  */
-void __init prep_map_io(void)
+static void __init
+prep_map_io(void)
 {
        io_block_mapping(0x80000000, PREP_ISA_IO_BASE, 0x10000000, _PAGE_IO);
        io_block_mapping(0xf0000000, PREP_ISA_MEM_BASE, 0x08000000, _PAGE_IO);
 }
 
-void __init
+static void __init
 prep_init2(void)
 {
-#ifdef CONFIG_NVRAM  
+#ifdef CONFIG_NVRAM
        request_region(PREP_NVRAM_AS0, 0x8, "nvram");
 #endif
        request_region(0x20,0x20,"pic1");
@@ -860,7 +849,7 @@ prep_init2(void)
 
 void __init
 prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
-         unsigned long r6, unsigned long r7)
+               unsigned long r6, unsigned long r7)
 {
 #ifdef CONFIG_PREP_RESIDUAL    
        RESIDUAL *old_res = (RESIDUAL *)(r3 + KERNELBASE);
@@ -869,7 +858,7 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
        if ( r3 )
        {
                memcpy((void *)res,(void *)(r3+KERNELBASE),
-                      sizeof(RESIDUAL));
+                        sizeof(RESIDUAL));
        }
 #endif
 
@@ -882,7 +871,7 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
 #endif /* CONFIG_BLK_DEV_INITRD */
 
        /* Copy cmd_line parameters */
-       if ( r6)
+       if ( r6 )
        {
                *(char *)(r7 + KERNELBASE) = 0;
                strcpy(cmd_line, (char *)(r6 + KERNELBASE));
@@ -905,7 +894,7 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
                        _prep_type = _PREP_Motorola;
        }
        else /* assume motorola if no residual (netboot?) */
-#endif   
+#endif
        {
                _prep_type = _PREP_Motorola;
        }
@@ -928,8 +917,7 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
                ppc_md.set_rtc_time   = mc146818_set_rtc_time;
                ppc_md.get_rtc_time   = mc146818_get_rtc_time;
                ppc_md.calibrate_decr = prep_calibrate_decr;
-       }
-       else {
+       } else {
                ppc_md.set_rtc_time   = mk48t59_set_rtc_time;
                ppc_md.get_rtc_time   = mk48t59_get_rtc_time;
                ppc_md.calibrate_decr = mk48t59_calibrate_decr;
@@ -940,12 +928,12 @@ prep_init(unsigned long r3, unsigned long r4, unsigned long r5,
        ppc_md.setup_io_mappings = prep_map_io;
 
 #if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
-        ppc_ide_md.default_irq = prep_ide_default_irq;
-        ppc_ide_md.default_io_base = prep_ide_default_io_base;
-        ppc_ide_md.ide_check_region = prep_ide_check_region;
-        ppc_ide_md.ide_request_region = prep_ide_request_region;
-        ppc_ide_md.ide_release_region = prep_ide_release_region;
-        ppc_ide_md.ide_init_hwif = prep_ide_init_hwif_ports;
+       ppc_ide_md.default_irq = prep_ide_default_irq;
+       ppc_ide_md.default_io_base = prep_ide_default_io_base;
+       ppc_ide_md.ide_check_region = prep_ide_check_region;
+       ppc_ide_md.ide_request_region = prep_ide_request_region;
+       ppc_ide_md.ide_release_region = prep_ide_release_region;
+       ppc_ide_md.ide_init_hwif = prep_ide_init_hwif_ports;
 #endif
 
 #ifdef CONFIG_VT
index 2a230f6375ac15f444fe8c6142f62d70f623e00b..ec0c8c96f877f2db0a541a1efacc5312248c1076 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.setup.c 1.57 09/08/01 15:47:42 paulus
+ * BK Id: SCCS/s.setup.c 1.61 10/12/01 16:35:34 trini
  */
 /*
  * Common prep/pmac/chrp boot and setup code.
@@ -496,7 +496,7 @@ int parse_bootinfo(void)
 #ifdef CONFIG_BLK_DEV_INITRD
                case BI_INITRD:
                        initrd_start = data[0];
-                       initrd_end = data[0] + rec->size;
+                       initrd_end = data[0] + data[1];
                        break;
 #endif /* CONFIG_BLK_DEV_INITRD */
 #ifdef CONFIG_ALL_PPC
index 92588568443fd3622d1c13e50de0e0f57c7edeb4..c27da90efc9cdfc8dcbdcd53f929d192de6a1a0f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.smp.c 1.31 09/08/01 15:47:42 paulus
+ * BK Id: SCCS/s.smp.c 1.34 10/11/01 12:06:01 trini
  */
 /*
  * Smp support for ppc.
@@ -35,7 +35,6 @@
 #include <asm/prom.h>
 #include <asm/smp.h>
 #include <asm/residual.h>
-#include <asm/feature.h>
 #include <asm/time.h>
 
 #include "open_pic.h"
@@ -283,6 +282,7 @@ void __init smp_boot_cpus(void)
        printk("Entering SMP Mode...\n");
        smp_num_cpus = 1;
         smp_store_cpu_info(0);
+       cpu_online_map = 1UL;
 
        /*
         * assume for now that the first cpu booted is
index 1f9ff249b4ff5e76c12dcb18211ebbfc9fd9cc27..9950b74381fd31bd55fae7ec45040efb665325b3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.syscalls.c 1.8 05/17/01 18:14:22 cort
+ * BK Id: SCCS/s.syscalls.c 1.11 10/16/01 15:58:42 trini
  */
 /*
  * linux/arch/ppc/kernel/sys_ppc.c
@@ -306,7 +306,7 @@ int sys_olduname(struct oldold_utsname * name)
  * Those are normally defined in arch/ppc/kernel/pci.c. But when CONFIG_PCI is
  * not defined, this file is not linked at all, so here are the "empty" versions
  */
-asmlinkage int sys_pciconfig_read() { return -ENOSYS; }
-asmlinkage int sys_pciconfig_write() { return -ENOSYS; }
-asmlinkage long sys_pciconfig_iobase() { return -ENOSYS; }
+int sys_pciconfig_read(void) { return -ENOSYS; }
+int sys_pciconfig_write(void) { return -ENOSYS; }
+long sys_pciconfig_iobase(void) { return -ENOSYS; }
 #endif
index 8b35ad8f8e70fd86bad0b5c9d4928008ce4b6aa6..fdd5289bebbf343357c3ef426994a1387ea54b95 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.traps.c 1.19 08/24/01 20:07:37 paulus
+ * BK Id: SCCS/s.traps.c 1.22 10/11/01 10:33:09 paulus
  */
 /*
  *  linux/arch/ppc/kernel/traps.c
@@ -108,6 +108,7 @@ MachineCheckException(struct pt_regs *regs)
 #ifdef CONFIG_ALL_PPC
        unsigned long fixup;
 #endif /* CONFIG_ALL_PPC */
+       unsigned long msr = regs->msr;
 
        if (user_mode(regs)) {
                _exception(SIGSEGV, regs);      
@@ -132,31 +133,47 @@ MachineCheckException(struct pt_regs *regs)
         * Check if the NIP corresponds to the address of a sync
         * instruction for which there is an entry in the exception
         * table.
+        * Note that the 601 only takes a machine check on TEA
+        * (transfer error ack) signal assertion, and does not
+        * set of the top 16 bits of SRR1.
+        *  -- paulus.
         */
-       if (regs->msr & (0x80000 | 0x40000)
+       if (((msr & 0xffff0000) == 0 || (msr & (0x80000 | 0x40000)))
            && (fixup = search_exception_table(regs->nip)) != 0) {
                /*
-                * Check that it's a sync instruction.
+                * Check that it's a sync instruction, or somewhere
+                * in the twi; isync; nop sequence that inb/inw/inl uses.
                 * As the address is in the exception table
                 * we should be able to read the instr there.
+                * For the debug message, we look at the preceding
+                * load or store.
                 */
-               if (*(unsigned int *)regs->nip == 0x7c0004ac) {
-                       unsigned int lsi = ((unsigned int *)regs->nip)[-1];
-                       int rb = (lsi >> 11) & 0x1f;
-                       printk(KERN_DEBUG "%s bad port %lx at %lx\n",
-                              (lsi & 0x100)? "OUT to": "IN from",
-                              regs->gpr[rb] - _IO_BASE, regs->nip);
+               unsigned int *nip = (unsigned int *)regs->nip;
+               if (*nip == 0x60000000)         /* nop */
+                       nip -= 2;
+               else if (*nip == 0x4c00012c)    /* isync */
+                       --nip;
+               if (*nip == 0x7c0004ac || (*nip >> 26) == 3) {
+                       /* sync or twi */
+                       unsigned int rb;
+
+                       --nip;
+                       rb = (*nip >> 11) & 0x1f;
+                       printk(KERN_DEBUG "%s bad port %lx at %p\n",
+                              (*nip & 0x100)? "OUT to": "IN from",
+                              regs->gpr[rb] - _IO_BASE, nip);
                        regs->nip = fixup;
                        return;
                }
        }
 #endif /* CONFIG_ALL_PPC */
        printk("Machine check in kernel mode.\n");
-       printk("Caused by (from SRR1=%lx): ", regs->msr);
-       switch (regs->msr & 0xF0000) {
+       printk("Caused by (from SRR1=%lx): ", msr);
+       switch (msr & 0xF0000) {
        case 0x80000:
                printk("Machine check signal\n");
                break;
+       case 0:         /* for 601 */
        case 0x40000:
                printk("Transfer error ack signal\n");
                break;
index d1480ca6a6ba0b0e6301e6a8055ca91f7a5a589b..daeb62794a7e949c927dc26f32244af3f2b81217 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.walnut_setup.c 1.5 05/17/01 18:14:22 cort
+ * BK Id: SCCS/s.walnut_setup.c 1.8 10/18/01 11:16:28 trini
  */
 /*
  *
@@ -123,12 +123,7 @@ walnut_init(unsigned long r3, unsigned long r4, unsigned long r5,
        ppc_md.kbd_unexpected_up        = NULL;
        ppc_md.kbd_leds                 = NULL;
        ppc_md.kbd_init_hw              = NULL;
-
-#if defined(CONFIG_MAGIC_SYSRQ)
        ppc_md.ppc_kbd_sysrq_xlate      = NULL;
-#endif
-
-       return;
 }
 
 /*
index 9e256d02d6f8a164fa417005c314623d8486d2de..1b0ae15f19291c86c6882f4617c97511e5b29308 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.string.S 1.5 05/17/01 18:14:22 cort
+ * BK Id: SCCS/s.string.S 1.9 10/25/01 10:08:51 trini
  */
 /*
  * String handling functions for PowerPC.
 #include "../kernel/ppc_asm.tmpl"
 #include <linux/config.h>
 #include <asm/processor.h>
+#include <asm/cache.h>
 #include <asm/errno.h>
 
-#if defined(CONFIG_4xx) || defined(CONFIG_8xx)
-#define CACHE_LINE_SIZE                16
-#define LG_CACHE_LINE_SIZE     4
-#define MAX_COPY_PREFETCH      1
-#elif !defined(CONFIG_PPC64BRIDGE)
-#define CACHE_LINE_SIZE                32
-#define LG_CACHE_LINE_SIZE     5
-#define MAX_COPY_PREFETCH      4
-#else
-#define CACHE_LINE_SIZE                128
-#define LG_CACHE_LINE_SIZE     7
-#define MAX_COPY_PREFETCH      1
-#endif /* CONFIG_4xx || CONFIG_8xx */
-
 #define COPY_16_BYTES          \
        lwz     r7,4(r4);       \
        lwz     r8,8(r4);       \
        .long   8 ## n ## 5b,9 ## n ## 1b;      \
        .long   8 ## n ## 6b,9 ## n ## 1b;      \
        .long   8 ## n ## 7b,9 ## n ## 1b;      \
-.text
+       .text
+
+       .text
 
-CACHELINE_BYTES = CACHE_LINE_SIZE
-LG_CACHELINE_BYTES = LG_CACHE_LINE_SIZE
-CACHELINE_MASK = (CACHE_LINE_SIZE-1)
+CACHELINE_BYTES = L1_CACHE_LINE_SIZE
+LG_CACHELINE_BYTES = LG_L1_CACHE_LINE_SIZE
+CACHELINE_MASK = (L1_CACHE_LINE_SIZE-1)
 
        .globl  strcpy
 strcpy:
@@ -278,12 +267,12 @@ cacheable_memcpy:
        dcbz    r11,r6
 #endif
        COPY_16_BYTES
-#if CACHE_LINE_SIZE >= 32
+#if L1_CACHE_LINE_SIZE >= 32
        COPY_16_BYTES
-#if CACHE_LINE_SIZE >= 64
+#if L1_CACHE_LINE_SIZE >= 64
        COPY_16_BYTES
        COPY_16_BYTES
-#if CACHE_LINE_SIZE >= 128
+#if L1_CACHE_LINE_SIZE >= 128
        COPY_16_BYTES
        COPY_16_BYTES
        COPY_16_BYTES
@@ -456,23 +445,23 @@ __copy_tofrom_user:
 
 #if !defined(CONFIG_8xx)
        /* Here we decide how far ahead to prefetch the source */
-#if MAX_COPY_PREFETCH > 1
+#if MAX_L1_COPY_PREFETCH > 1
        /* Heuristically, for large transfers we prefetch
-          MAX_COPY_PREFETCH cachelines ahead.  For small transfers
+          MAX_L1_COPY_PREFETCH cachelines ahead.  For small transfers
           we prefetch 1 cacheline ahead. */
-       cmpwi   r0,MAX_COPY_PREFETCH
+       cmpwi   r0,MAX_L1_COPY_PREFETCH
        li      r7,1
        li      r3,4
        ble     111f
-       li      r7,MAX_COPY_PREFETCH
+       li      r7,MAX_L1_COPY_PREFETCH
 111:   mtctr   r7
 112:   dcbt    r3,r4
        addi    r3,r3,CACHELINE_BYTES
        bdnz    112b
-#else /* MAX_COPY_PREFETCH == 1 */
+#else /* MAX_L1_COPY_PREFETCH == 1 */
        li      r3,CACHELINE_BYTES + 4
        dcbt    r11,r4
-#endif /* MAX_COPY_PREFETCH */
+#endif /* MAX_L1_COPY_PREFETCH */
 #endif /* CONFIG_8xx */
 
        mtctr   r0
@@ -492,12 +481,12 @@ __copy_tofrom_user:
        .text
 /* the main body of the cacheline loop */
        COPY_16_BYTES_WITHEX(0)
-#if CACHE_LINE_SIZE >= 32
+#if L1_CACHE_LINE_SIZE >= 32
        COPY_16_BYTES_WITHEX(1)
-#if CACHE_LINE_SIZE >= 64
+#if L1_CACHE_LINE_SIZE >= 64
        COPY_16_BYTES_WITHEX(2)
        COPY_16_BYTES_WITHEX(3)
-#if CACHE_LINE_SIZE >= 128
+#if L1_CACHE_LINE_SIZE >= 128
        COPY_16_BYTES_WITHEX(4)
        COPY_16_BYTES_WITHEX(5)
        COPY_16_BYTES_WITHEX(6)
@@ -546,12 +535,12 @@ __copy_tofrom_user:
  * 104f (if in read part) or 105f (if in write part), after updating r5
  */
        COPY_16_BYTES_EXCODE(0)
-#if CACHE_LINE_SIZE >= 32
+#if L1_CACHE_LINE_SIZE >= 32
        COPY_16_BYTES_EXCODE(1)
-#if CACHE_LINE_SIZE >= 64
+#if L1_CACHE_LINE_SIZE >= 64
        COPY_16_BYTES_EXCODE(2)
        COPY_16_BYTES_EXCODE(3)
-#if CACHE_LINE_SIZE >= 128
+#if L1_CACHE_LINE_SIZE >= 128
        COPY_16_BYTES_EXCODE(4)
        COPY_16_BYTES_EXCODE(5)
        COPY_16_BYTES_EXCODE(6)
index 57558508ca5b43b2d9204930408bcc94d5ad43da..43484cd7e2fac92d3875d3dcd7724cb4b0aeaab3 100644 (file)
@@ -69,15 +69,15 @@ void __init MMU_init_hw(void)
         * be applied to every page which is a member of a given zone. At
         * present, we utilize only two of the 4xx's zones.
         * The zone index bits (of ZSEL) in the PTE are used for software
-        * indicators, except the LSB.  For user access, zone 15 is used,
-        * for kernel access, zone 14 is used.  We set all but zone 15
+        * indicators, except the LSB.  For user access, zone 1 is used,
+        * for kernel access, zone 0 is used.  We set all but zone 1
         * to zero, allowing only kernel access as indicated in the PTE.
-        * For zone 15, we set a 01 binary (a value of 10 will not work)
+        * For zone 1, we set a 01 binary (a value of 10 will not work)
         * to allow user access as indicated in the PTE.  This also allows
         * kernel access as indicated in the PTE.
         */
 
-        mtspr(SPRN_ZPR, 0x00000001);
+        mtspr(SPRN_ZPR, 0x10000000);
 
        flush_instruction_cache();
 
index 065e70fda7c69061f49b3510a96fac53999ec31e..b30e8ff560fd7bfaaf5ce96fd4f53a302ed0aca6 100644 (file)
@@ -50,6 +50,8 @@
 #include <asm/smp.h>
 #include <asm/machdep.h>
 
+extern int get_pteptr(struct mm_struct *mm, unsigned long addr, pte_t **ptep);
+
 void *consistent_alloc(int gfp, size_t size, dma_addr_t *dma_handle)
 {
        int order, rsize;
index 648c51ce4356335923291ad049a15c3027289597..b8dd3ce82e40f24fb7d9059b2db8f085724f5fa0 100644 (file)
@@ -53,6 +53,7 @@ extern unsigned long Hash_size, Hash_mask;
 
 #elif defined(CONFIG_4xx)
 #define flush_HPTE(X, va, pg)  _tlbie(va)
+extern void MMU_init_hw(void);
 
 #else
 /* anything except 4xx or 8xx */
index f5d417866b5f1dc3e9bf7771f0f125d039de539e..f4ee23751ff3f114c18a71a7c240354c3d88451e 100644 (file)
@@ -1214,7 +1214,12 @@ static inline void complete_command( CommandList_struct *cmd, int timeout)
                                status=0;
                }
        }
-       complete_buffers(cmd->bh, status);
+       complete_buffers(cmd->rq->bh, status);
+
+#ifdef CCISS_DEBUG
+       printk("Done with %p\n", cmd->rq);
+#endif /* CCISS_DEBUG */ 
+       end_that_request_last(cmd->rq);
 }
 
 
@@ -1269,7 +1274,7 @@ static void do_cciss_request(request_queue_t *q)
 {
        ctlr_info_t *h= q->queuedata; 
        CommandList_struct *c;
-       int log_unit, start_blk, seg, sect;
+       int log_unit, start_blk, seg;
        char *lastdataend;
        struct buffer_head *bh;
        struct list_head *queue_head = &q->queue_head;
@@ -1278,13 +1283,12 @@ static void do_cciss_request(request_queue_t *q)
        struct my_sg tmp_sg[MAXSGENTRIES];
        int i;
 
-    // Loop till the queue is empty if or it is plugged
-    while (1)
-    {
-       if (q->plugged || list_empty(queue_head)) {
-                start_io(h);
-                return;
-        }
+       if (q->plugged)
+               goto startio;
+
+queue_next:
+       if (list_empty(queue_head))
+               goto startio;
 
        creq =  blkdev_entry_next_request(queue_head); 
        if (creq->nr_segments > MAXSGENTRIES)
@@ -1296,17 +1300,18 @@ static void do_cciss_request(request_queue_t *q)
                                 h->ctlr, creq->rq_dev, creq);
                 blkdev_dequeue_request(creq);
                 complete_buffers(creq->bh, 0);
-                start_io(h);
-                return;
+               end_that_request_last(creq);
+               goto startio;
         }
 
        if (( c = cmd_alloc(h, 1)) == NULL)
-       {
-               start_io(h);
-               return;
-       }
+               goto startio;
+
+       spin_unlock_irq(&io_request_lock);
+
        c->cmd_type = CMD_RWREQ;      
-       bh = c->bh = creq->bh;
+       bh = creq->bh;
+       c->rq = creq;
        
        /* fill in the request */ 
        log_unit = MINOR(creq->rq_dev) >> NWD_SHIFT; 
@@ -1330,10 +1335,8 @@ static void do_cciss_request(request_queue_t *q)
 #endif /* CCISS_DEBUG */
        seg = 0; 
        lastdataend = NULL;
-       sect = 0;
        while(bh)
        {
-               sect += bh->b_size/512;
                if (bh->b_data == lastdataend)
                {  // tack it on to the last segment 
                        tmp_sg[seg-1].len +=bh->b_size;
@@ -1367,7 +1370,7 @@ static void do_cciss_request(request_queue_t *q)
                h->maxSG = seg; 
 
 #ifdef CCISS_DEBUG
-       printk(KERN_DEBUG "cciss: Submitting %d sectors in %d segments\n", sect, seg);
+       printk(KERN_DEBUG "cciss: Submitting %d sectors in %d segments\n", creq->nr_sectors, seg);
 #endif /* CCISS_DEBUG */
 
        c->Header.SGList = c->Header.SGTotal = seg;
@@ -1377,28 +1380,26 @@ static void do_cciss_request(request_queue_t *q)
        c->Request.CDB[4]= (start_blk >>  8) & 0xff;
        c->Request.CDB[5]= start_blk & 0xff;
        c->Request.CDB[6]= 0; // (sect >> 24) & 0xff; MSB
-       c->Request.CDB[7]= (sect >>  8) & 0xff; 
-       c->Request.CDB[8]= sect & 0xff; 
+       c->Request.CDB[7]= (creq->nr_sectors >>  8) & 0xff; 
+       c->Request.CDB[8]= creq->nr_sectors & 0xff; 
        c->Request.CDB[9] = c->Request.CDB[11] = c->Request.CDB[12] = 0;
 
-                       
+       spin_lock_irq(&io_request_lock);
+
        blkdev_dequeue_request(creq);
 
-       
         /*
          * ehh, we can't really end the request here since it's not
          * even started yet. for now it shouldn't hurt though
          */
-#ifdef CCISS_DEBUG
-       printk("Done with %p\n", creq);
-#endif /* CCISS_DEBUG */ 
-       end_that_request_last(creq);
-
        addQ(&(h->reqQ),c);
        h->Qdepth++;
        if(h->Qdepth > h->maxQsinceinit)
                h->maxQsinceinit = h->Qdepth; 
-   }  // while loop
+
+       goto queue_next;
+startio:
+       start_io(h);
 }
 
 static void do_cciss_intr(int irq, void *dev_id, struct pt_regs *regs)
index 40b1b11a04dd5658aaebf716f93b6d53c12869b3..7faf6f05ca90787749029b7d2c540d8063300820 100644 (file)
@@ -228,7 +228,7 @@ typedef struct _CommandList_struct {
   int                     cmd_type; 
   struct _CommandList_struct *prev;
   struct _CommandList_struct *next;
-  struct buffer_head *    bh;
+  struct request *        rq;
 } CommandList_struct;
 
 //Configuration Table Structure
index 9a11153406972409635395b53a6b165cbdbf39f5..9f03363f6b4d3b9f3c27ae67f07b5cff51bb34f2 100644 (file)
@@ -911,21 +911,19 @@ static void do_ida_request(request_queue_t *q)
 {
        ctlr_info_t *h = q->queuedata;
        cmdlist_t *c;
-       int seg, sect;
        char *lastdataend;
        struct list_head * queue_head = &q->queue_head;
        struct buffer_head *bh;
        struct request *creq;
        struct my_sg tmp_sg[SG_MAX];
-       int i;
+       int i, seg;
 
-// Loop till the queue is empty if or it is plugged 
-   while (1)
-{
-       if (q->plugged || list_empty(queue_head)) {
-               start_io(h);
-               return;
-       }
+       if (q->plugged)
+               goto startio;
+
+queue_next:
+       if (list_empty(queue_head))
+               goto startio;
 
        creq = blkdev_entry_next_request(queue_head);
        if (creq->nr_segments > SG_MAX)
@@ -937,15 +935,14 @@ static void do_ida_request(request_queue_t *q)
                                h->ctlr, creq->rq_dev, creq);
                blkdev_dequeue_request(creq);
                complete_buffers(creq->bh, 0);
-               start_io(h);
-                return;
+               end_that_request_last(creq);
+               goto startio;
        }
 
        if ((c = cmd_alloc(h,1)) == NULL)
-       {
-                start_io(h);
-                return;
-        }
+               goto startio;
+
+       spin_unlock_irq(&io_request_lock);
 
        bh = creq->bh;
 
@@ -955,7 +952,7 @@ static void do_ida_request(request_queue_t *q)
        c->size += sizeof(rblk_t);
 
        c->req.hdr.blk = ida[(h->ctlr<<CTLR_SHIFT) + MINOR(creq->rq_dev)].start_sect + creq->sector;
-       c->bh = bh;
+       c->rq = creq;
 DBGPX(
        if (bh == NULL)
                panic("bh == NULL?");
@@ -963,9 +960,7 @@ DBGPX(
        printk("sector=%d, nr_sectors=%d\n", creq->sector, creq->nr_sectors);
 );
        seg = 0; lastdataend = NULL;
-       sect = 0;
        while(bh) {
-               sect += bh->b_size/512;
                if (bh->b_data == lastdataend) {
                        tmp_sg[seg-1].size += bh->b_size;
                        lastdataend += bh->b_size;
@@ -991,26 +986,12 @@ DBGPX(
        }
 DBGPX( printk("Submitting %d sectors in %d segments\n", sect, seg); );
        c->req.hdr.sg_cnt = seg;
-       c->req.hdr.blk_cnt = sect;
+       c->req.hdr.blk_cnt = creq->nr_sectors;
 
-       /*
-        * Since we control our own merging, we know that this request
-        * is now fully setup and there's nothing left.
-         */
-       if (creq->nr_sectors != sect) {
-               printk("ida: %ld != %d sectors\n", creq->nr_sectors, sect);
-               BUG();
-       }
+       spin_lock_irq(&io_request_lock);
 
        blkdev_dequeue_request(creq);
 
-       /*
-        * ehh, we can't really end the request here since it's not
-        * even started yet. for now it shouldn't hurt though
-        */
-DBGPX( printk("Done with %p\n", creq); );
-       end_that_request_last(creq);
-
        c->req.hdr.cmd = (creq->cmd == READ) ? IDA_READ : IDA_WRITE;
        c->type = CMD_RWREQ;
 
@@ -1019,7 +1000,11 @@ DBGPX(   printk("Done with %p\n", creq); );
        h->Qdepth++;
        if (h->Qdepth > h->maxQsinceinit) 
                h->maxQsinceinit = h->Qdepth;
-   } // while loop
+
+       goto queue_next;
+
+startio:
+       start_io(h);
 }
 
 /* 
@@ -1096,7 +1081,13 @@ static inline void complete_command(cmdlist_t *cmd, int timeout)
                         cmd->req.sg[i].addr, cmd->req.sg[i].size,
                         (cmd->req.hdr.cmd == IDA_READ) ? PCI_DMA_FROMDEVICE : PCI_DMA_TODEVICE);
         }
-       complete_buffers(cmd->bh, ok);
+
+       complete_buffers(cmd->rq->bh, ok);
+
+       DBGPX(printk("Done with %p\n", cmd->rq););
+       end_that_request_last(cmd->rq);
+
+
 }
 
 /*
index b3d91ba437265ede0200ecbe4e452b9c3a5fe673..e5f096e262c4a4c0255ab1d06d4e9e61ac49d6d1 100644 (file)
@@ -93,7 +93,7 @@ typedef struct cmdlist {
        int     ctlr;
        struct cmdlist *prev;
        struct cmdlist *next;
-       struct buffer_head *bh;
+       struct request *rq;
        int type;
 } cmdlist_t;
        
index 006db2c8403a35ea380ee8c36aeb095648f9be20..c0d7506a93f423b78b586636e80b59efec41a07b 100644 (file)
@@ -192,6 +192,7 @@ ifeq ($(CONFIG_PPC),)
   obj-$(CONFIG_NVRAM) += nvram.o
 endif
 obj-$(CONFIG_TOSHIBA) += toshiba.o
+obj-$(CONFIG_I8K) += i8k.o
 obj-$(CONFIG_DS1620) += ds1620.o
 obj-$(CONFIG_INTEL_RNG) += i810_rng.o
 
diff --git a/drivers/char/i8k.c b/drivers/char/i8k.c
new file mode 100644 (file)
index 0000000..aefbaf5
--- /dev/null
@@ -0,0 +1,556 @@
+/*
+ * i8k.c -- Linux driver for accessing the SMM BIOS on Dell I8000 laptops
+ *
+ * Copyright (C) 2001  Massimo Dal Zotto <dz@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ */
+
+#include <linux/module.h>
+#include <linux/version.h>
+#include <linux/types.h>
+#include <linux/init.h>
+#include <linux/proc_fs.h>
+#include <asm/io.h>
+#include <asm/uaccess.h>
+
+#include <linux/i8k.h>
+
+#define I8K_VERSION            "1.1 02/11/2001"
+#define I8K_BIOS_SIGNATURE     "Dell System Inspiron 8000"
+#define I8K_BIOS_SIGNATURE_ADDR 0x000ec000
+#define I8K_BIOS_VERSION_OFFSET        32
+
+#define I8K_SMM_FN_STATUS      0x0025
+#define I8K_SMM_POWER_STATUS   0x0069
+#define I8K_SMM_SET_FAN                0x01a3
+#define I8K_SMM_GET_FAN                0x00a3
+#define I8K_SMM_GET_SPEED      0x02a3
+#define I8K_SMM_GET_TEMP       0x10a3
+#define I8K_SMM_BIOS_VERSION   0x00a6
+
+#define I8K_FAN_MULT           30
+#define I8K_MAX_TEMP           127
+
+#define I8K_FN_NONE            0x08
+#define I8K_FN_UP              0x09
+#define I8K_FN_DOWN            0x0a
+#define I8K_FN_MUTE            0x0c
+
+#define I8K_POWER_AC           0x05
+#define I8K_POWER_BATTERY      0x01
+
+#define I8K_TEMPERATURE_BUG    1
+
+static char bios_version[4] = "?";
+static char bios_machine_id[16] = "?";
+
+int force = 0;
+
+MODULE_AUTHOR("Massimo Dal Zotto (dz@debian.org)");
+MODULE_DESCRIPTION("Driver for accessing the SMM BIOS on Dell I8000 laptops");
+MODULE_LICENSE("GPL");
+MODULE_PARM(force, "i");
+MODULE_PARM_DESC(force, "Force loading without checking for an Inspiron 8000");
+
+static ssize_t i8k_read(struct file *, char *, size_t, loff_t *);
+static int i8k_ioctl(struct inode *, struct file *, unsigned int,
+                    unsigned long);
+
+static struct file_operations i8k_fops = {
+    read:      i8k_read,
+    ioctl:     i8k_ioctl,
+};
+
+typedef struct {
+    unsigned int eax;
+    unsigned int ebx __attribute__ ((packed));
+    unsigned int ecx __attribute__ ((packed));
+    unsigned int edx __attribute__ ((packed));
+    unsigned int esi __attribute__ ((packed));
+    unsigned int edi __attribute__ ((packed));
+} SMMRegisters;
+
+/*
+ * Call the System Management Mode BIOS.
+ */
+static int i8k_smm(SMMRegisters *regs)
+{
+    int rc;
+
+    asm("pushl %%eax\n\t" \
+       "movl 0(%%eax),%%edx\n\t" \
+       "push %%edx\n\t" \
+       "movl 4(%%eax),%%ebx\n\t" \
+       "movl 8(%%eax),%%ecx\n\t" \
+       "movl 12(%%eax),%%edx\n\t" \
+       "movl 16(%%eax),%%esi\n\t" \
+       "movl 20(%%eax),%%edi\n\t" \
+       "popl %%eax\n\t" \
+       "out %%al,$0xb2\n\t" \
+       "out %%al,$0x84\n\t" \
+       "xchgl %%eax,(%%esp)\n\t"
+       "movl %%ebx,4(%%eax)\n\t" \
+       "movl %%ecx,8(%%eax)\n\t" \
+       "movl %%edx,12(%%eax)\n\t" \
+       "movl %%esi,16(%%eax)\n\t" \
+       "movl %%edi,20(%%eax)\n\t" \
+       "popl %%edx\n\t" \
+       "movl %%edx,0(%%eax)\n\t" \
+       "lahf\n\t" \
+       "shrl $8,%%eax\n\t" \
+       "andl $1,%%eax\n" \
+       : "=a" (rc)
+       : "a" (regs)
+       : "%ebx", "%ecx", "%edx", "%esi", "%edi", "memory");
+
+    if ((rc != 0) || ((regs->eax & 0xffff) == 0xffff)) {
+       return -EINVAL;
+    }
+
+    return 0;
+}
+
+/*
+ * Read the bios version. Return the version as an integer corresponding
+ * to the ascii value, for example "A17" is returned as 0x00413137.
+ */
+static int i8k_get_bios_version(void)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+
+    regs.eax = I8K_SMM_BIOS_VERSION;
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+
+    return regs.eax;
+}
+
+/*
+ * Read the machine id. Not yet implemented.
+ */
+static int i8k_get_machine_id(unsigned char *buff)
+{
+    return -EINVAL;
+}
+
+/*
+ * Read the Fn key status.
+ */
+static int i8k_get_fn_status(void)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+
+    regs.eax = I8K_SMM_FN_STATUS;
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+
+    switch ((regs.eax & 0xff00) >> 8) {
+    case I8K_FN_UP:
+       return I8K_VOL_UP;
+    case I8K_FN_DOWN:
+       return I8K_VOL_DOWN;
+    case I8K_FN_MUTE:
+       return I8K_VOL_MUTE;
+    default:
+       return 0;
+    }
+}
+
+/*
+ * Read the power status.
+ */
+static int i8k_get_power_status(void)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+
+    regs.eax = I8K_SMM_POWER_STATUS;
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+
+    switch (regs.eax & 0xff) {
+    case I8K_POWER_AC:
+       return I8K_AC;
+    default:
+       return I8K_BATTERY;
+    }
+}
+
+/*
+ * Read the fan status.
+ */
+static int i8k_get_fan_status(int fan)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+
+    regs.eax = I8K_SMM_GET_FAN;
+    regs.ebx = fan & 0xff;
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+
+    return (regs.eax & 0xff);
+}
+
+/*
+ * Read the fan speed in RPM.
+ */
+static int i8k_get_fan_speed(int fan)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+
+    regs.eax = I8K_SMM_GET_SPEED;
+    regs.ebx = fan & 0xff;
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+
+    return (regs.eax & 0xffff) * I8K_FAN_MULT;
+}
+
+/*
+ * Set the fan speed (off, low, high). Returns the new fan status.
+ */
+static int i8k_set_fan(int fan, int speed)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+
+    speed = (speed < 0) ? 0 : ((speed > I8K_FAN_MAX) ? I8K_FAN_MAX : speed);
+
+    regs.eax = I8K_SMM_SET_FAN;
+    regs.ebx = (fan & 0xff) | (speed << 8);
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+
+    return (i8k_get_fan_status(fan));
+}
+
+/*
+ * Read the cpu temperature.
+ */
+static int i8k_get_cpu_temp(void)
+{
+    SMMRegisters regs = { 0, 0, 0, 0, 0, 0 };
+    int rc;
+    int temp;
+
+#ifdef I8K_TEMPERATURE_BUG
+    static int prev = 0;
+#endif
+
+    regs.eax = I8K_SMM_GET_TEMP;
+    if ((rc=i8k_smm(&regs)) < 0) {
+       return rc;
+    }
+    temp = regs.eax & 0xff;
+
+#ifdef I8K_TEMPERATURE_BUG
+    /*
+     * Sometimes the temperature sensor returns 0x99, which is out of range.
+     * In this case we return (once) the previous cached value. For example:
+     # 1003655137 00000058 00005a4b
+     # 1003655138 00000099 00003a80 <--- 0x99 = 153 degrees
+     # 1003655139 00000054 00005c52
+     */
+    if (temp > I8K_MAX_TEMP) {
+       temp = prev;
+       prev = I8K_MAX_TEMP;
+    } else {
+       prev = temp;
+    }
+#endif
+
+    return temp;
+}
+
+static int i8k_ioctl(struct inode *ip, struct file *fp, unsigned int cmd,
+                    unsigned long arg)
+{
+    int val;
+    int speed;
+    unsigned char buff[16];
+
+    if (!arg) {
+       return -EINVAL;
+    }
+
+    switch (cmd) {
+    case I8K_BIOS_VERSION:
+       val = i8k_get_bios_version();
+       break;
+
+    case I8K_MACHINE_ID:
+       memset(buff, 0, 16);
+       val = i8k_get_machine_id(buff);
+       break;
+
+    case I8K_FN_STATUS:
+       val = i8k_get_fn_status();
+       break;
+
+    case I8K_POWER_STATUS:
+       val = i8k_get_power_status();
+       break;
+
+    case I8K_GET_TEMP:
+       val = i8k_get_cpu_temp();
+       break;
+
+    case I8K_GET_SPEED:
+       if (copy_from_user(&val, (int *)arg, sizeof(int))) {
+           return -EFAULT;
+       }
+       val = i8k_get_fan_speed(val);
+       break;
+
+    case I8K_GET_FAN:
+       if (copy_from_user(&val, (int *)arg, sizeof(int))) {
+           return -EFAULT;
+       }
+       val = i8k_get_fan_status(val);
+       break;
+
+    case I8K_SET_FAN:
+       if (copy_from_user(&val, (int *)arg, sizeof(int))) {
+           return -EFAULT;
+       }
+       if (copy_from_user(&speed, (int *)arg+1, sizeof(int))) {
+           return -EFAULT;
+       }
+       val = i8k_set_fan(val, speed);
+       break;
+
+    default:
+       return -EINVAL;
+    }
+
+    if (val < 0) {
+       return val;
+    }
+
+    switch (cmd) {
+    case I8K_BIOS_VERSION:
+       if (copy_to_user((int *)arg, &val, 4)) {
+           return -EFAULT;
+       }
+       break;
+    case I8K_MACHINE_ID:
+       if (copy_to_user((int *)arg, buff, 16)) {
+           return -EFAULT;
+       }
+       break;
+    default:
+       if (copy_to_user((int *)arg, &val, sizeof(int))) {
+           return -EFAULT;
+       }
+       break;
+    }
+
+    return 0;
+}
+
+/*
+ * Print the information for /proc/i8k.
+ */
+static int i8k_get_info(char *buffer, char **start, off_t fpos, int length)
+{
+    int n, fn_key, cpu_temp, ac_power;
+    int left_fan, right_fan, left_speed, right_speed;
+
+    cpu_temp    = i8k_get_cpu_temp();
+    left_fan    = i8k_get_fan_status(I8K_FAN_LEFT);
+    right_fan   = i8k_get_fan_status(I8K_FAN_RIGHT);
+    left_speed  = i8k_get_fan_speed(I8K_FAN_LEFT);
+    right_speed = i8k_get_fan_speed(I8K_FAN_RIGHT);
+    ac_power    = i8k_get_power_status();
+    fn_key      = i8k_get_fn_status();
+
+    /*
+     * Info:
+     *
+     * 1)  Format version (this will change if format changes)
+     * 2)  BIOS version
+     * 3)  BIOS machine ID
+     * 4)  Cpu temperature
+     * 5)  Left fan status
+     * 6)  Right fan status
+     * 7)  Left fan speed
+     * 8)  Right fan speed
+     * 9)  AC power
+     * 10) Fn Key status
+     */
+    n = sprintf(buffer, "%s %s %s %d %d %d %d %d %d %d\n",
+               I8K_PROC_FMT,
+               bios_version,
+               bios_machine_id,
+               cpu_temp,
+               left_fan,
+               right_fan,
+               left_speed,
+               right_speed,
+               ac_power,
+               fn_key);
+
+    return n;
+}
+
+static ssize_t i8k_read(struct file *f, char *buffer, size_t len, loff_t *fpos)
+{
+    int n;
+    char info[128];
+
+    n = i8k_get_info(info, NULL, 0, 128);
+    if (n <= 0) {
+       return n;
+    }
+
+    if (*fpos >= n) {
+       return 0;
+    }
+
+    if ((*fpos + len) >= n) {
+       len = n - *fpos;
+    }
+
+    if (copy_to_user(buffer, info, len) != 0) {
+       return -EFAULT;
+    }
+
+    *fpos += len;
+    return len;
+}
+
+/*
+ * Probe for the presence of an Inspiron I8000.
+ */
+static int i8k_probe(void)
+{
+    unsigned char *buff, *p;
+    unsigned char bios_vers[4];
+    int version;
+
+    /*
+     * Until Dell tell us how to reliably check for an Inspiron system
+     * look for a signature at a fixed location in the BIOS memory.
+     * Ugly but safe.
+     */
+    if (!force) {
+       buff = ioremap(I8K_BIOS_SIGNATURE_ADDR, I8K_BIOS_VERSION_OFFSET+4);
+       if (buff == NULL) {
+           printk("i8k: ioremap failed\n");
+           return -ENODEV;
+       }
+       if (strncmp(buff,I8K_BIOS_SIGNATURE,sizeof(I8K_BIOS_SIGNATURE)) != 0) {
+           printk("i8k: Inspiron 8000 BIOS signature not found\n");
+           iounmap(buff);
+           return -ENODEV;
+       }
+       strncpy(bios_vers, buff+I8K_BIOS_VERSION_OFFSET, 3);
+       bios_vers[3] = '\0';
+       iounmap(buff);
+    }
+    if (force >= 2) {
+       buff = ioremap(0x000c0000, 0x00100000-0x000c0000);
+       if (buff == NULL) {
+           printk("i8k: ioremap failed\n");
+           return -ENODEV;
+       }
+       for (p=buff; (p-buff)<(0x00100000-0x000c0000); p+=16) {
+           if (strncmp(p,I8K_BIOS_SIGNATURE,sizeof(I8K_BIOS_SIGNATURE))==0) {
+               printk("i8k: Inspiron 8000 BIOS signature found at %08x\n",
+                      0x000c0000+(p-buff));
+               break;
+           }
+       }
+       iounmap(buff);
+    }
+
+    /*
+     * Next try to get the BIOS version with an SMM call. If this
+     * fails SMM can't be reliably used on this system.
+     */
+    version = i8k_get_bios_version();
+    if (version <= 0) {
+       printk("i8k: unable to get BIOS version\n");
+       return -ENODEV;
+    }
+    bios_version[0] = (version >> 16) & 0xff;
+    bios_version[1] = (version >>  8) & 0xff;
+    bios_version[2] = (version)       & 0xff;
+    bios_version[3] = '\0';
+
+    /*
+     * Finally check if the two versions match.
+     */
+    if (!force) {
+       if (strncmp(bios_version,bios_vers,sizeof(bios_version)) != 0) {
+           printk("i8k: BIOS version mismatch: %s != %s\n",
+                  bios_version, bios_vers);
+           return -ENODEV;
+       }
+    }
+
+    return 0;
+}
+
+#ifdef MODULE
+static
+#endif
+int __init i8k_init(void)
+{
+    struct proc_dir_entry *proc_i8k;
+
+    /* Are we running on an Inspiron 8000 laptop? */
+    if (i8k_probe() != 0) {
+       return -ENODEV;
+    }
+
+    /* Register the proc entry */
+    proc_i8k = create_proc_info_entry("i8k", 0, NULL, i8k_get_info);
+    if (!proc_i8k) {
+       return -ENOENT;
+    }
+    proc_i8k->proc_fops = &i8k_fops;
+    SET_MODULE_OWNER(proc_i8k);
+
+    printk(KERN_INFO
+          "Inspiron 8000 SMM driver v%s Massimo Dal Zotto (dz@debian.org)\n",
+          I8K_VERSION);
+
+    return 0;
+}
+
+#ifdef MODULE
+int init_module(void)
+{
+    return i8k_init();
+}
+
+void cleanup_module(void)
+{
+    /* Remove the proc entry */
+    remove_proc_entry("i8k", NULL);
+
+    printk(KERN_INFO "i8k: module unloaded\n");
+}
+#endif
+
+/* end of file */
index af75ffe66c9e9e74af422a21589540cfa8438e12..9572ee2076a956ef62a07c1534086ea878634f2d 100644 (file)
@@ -338,7 +338,9 @@ i2InitChannels ( i2eBordStrPtr pB, int nChannels, i2ChanStrPtr pCh)
                pCh->tqueue_status.routine = (void(*)(void*)) do_status;
                pCh->tqueue_status.data = pCh;
 
+#ifdef IP2DEBUG_TRACE
                pCh->trace = ip2trace;
+#endif
 
                ++pCh;
        --nChannels;
@@ -554,9 +556,9 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
        if ( !i2Validate ( pCh ) ) {
                return -1;
        }
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_QUEUE, ITRC_ENTER, 0 );
-#endif
+
        pB = pCh->pMyBord;
 
        // Board must also exist, and THE INTERRUPT COMMAND ALREADY SENT
@@ -634,9 +636,9 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
                        if (--bufroom < 0) {
                                bufroom += maxBuff;
                        }
-#ifdef IP2DEBUG_TRACE
+
                        ip2trace (CHANN, ITRC_QUEUE, 2, 1, bufroom );
-#endif
+
                        // Check for overflow
                        if (totalsize <= bufroom) {
                                // Normal Expected path - We still hold LOCK
@@ -644,9 +646,8 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
                        }
                }
 
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_QUEUE, 3, 1, totalsize );
-#endif
+
                // Prepare to wait for buffers to empty
                WRITE_UNLOCK_IRQRESTORE(lock_var_p,flags); 
                serviceOutgoingFifo(pB);        // Dump what we got
@@ -668,9 +669,8 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
                        return 0;   // Wake up! Time to die!!!
                }
 
-#ifdef IP2DEBUG_TRACE
-       ip2trace (CHANN, ITRC_QUEUE, 4, 0 );
-#endif
+               ip2trace (CHANN, ITRC_QUEUE, 4, 0 );
+
        }       // end of for(;;)
 
        // At this point we have room and the lock - stick them in.
@@ -692,9 +692,9 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
                // pCs->cmd[0].
                if (pCs == CMD_BMARK_REQ) {
                        pCh->bookMarks++;
-#ifdef IP2DEBUG_TRACE
+
                        ip2trace (CHANN, ITRC_DRAIN, 30, 1, pCh->bookMarks );
-#endif
+
                }
                cnt = pCs->length;
 
@@ -702,9 +702,9 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
                // if the last command had to be at the end of a block, we end
                // the existing block here and start a new one.
                if ((blocksize + cnt > maxBlock) || lastended) {
-#ifdef IP2DEBUG_TRACE
+
                        ip2trace (CHANN, ITRC_QUEUE, 5, 0 );
-#endif
+
                        PTYPE_OF(pInsert) = type;
                        CHANNEL_OF(pInsert) = channel;
                        // count here does not include the header
@@ -766,9 +766,9 @@ i2QueueCommands(int type, i2ChanStrPtr pCh, int timeout, int nCommands,
                i2QueueNeeds(pB, pCh, NEED_BYPASS);
                break;
        }
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_QUEUE, ITRC_RETURN, 1, nCommands );
-#endif
+
        return nCommands; // Good status: number of commands sent
 }
 
@@ -791,9 +791,7 @@ i2GetStatus(i2ChanStrPtr pCh, int resetBits)
        unsigned short status;
        i2eBordStrPtr pB;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_STATUS, ITRC_ENTER, 2, pCh->dataSetIn, resetBits );
-#endif
 
        // Make sure the channel exists, otherwise do nothing */
        if ( !i2Validate ( pCh ) )
@@ -811,9 +809,7 @@ i2GetStatus(i2ChanStrPtr pCh, int resetBits)
                pCh->dataSetIn &= ~(I2_DDCD | I2_DCTS | I2_DDSR | I2_DRI);
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_STATUS, ITRC_RETURN, 1, pCh->dataSetIn );
-#endif
 
        return status;
 }
@@ -838,9 +834,7 @@ i2Input(i2ChanStrPtr pCh)
        int count;
        unsigned long flags = 0;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_INPUT, ITRC_ENTER, 0);
-#endif
 
        // Ensure channel structure seems real
        if ( !i2Validate( pCh ) ) {
@@ -906,9 +900,8 @@ i2Input(i2ChanStrPtr pCh)
 
 i2Input_exit:
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_INPUT, ITRC_RETURN, 1, count);
-#endif
+
        return count;
 }
 
@@ -932,9 +925,7 @@ i2InputFlush(i2ChanStrPtr pCh)
        if ( !i2Validate ( pCh ) )
                return -1;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_INPUT, 10, 0);
-#endif
 
        WRITE_LOCK_IRQSAVE(&pCh->Ibuf_spinlock,flags);
        count = pCh->Ibuf_stuff - pCh->Ibuf_strip;
@@ -962,9 +953,9 @@ i2InputFlush(i2ChanStrPtr pCh)
        } else {
                WRITE_UNLOCK_IRQRESTORE(&pCh->Ibuf_spinlock,flags);
        }
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_INPUT, 19, 1, count);
-#endif
+
        return count;
 }
 
@@ -1034,9 +1025,7 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
 
        int bailout = 10;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_OUTPUT, ITRC_ENTER, 2, count, user );
-#endif
 
        // Ensure channel structure seems real
        if ( !i2Validate ( pCh ) ) 
@@ -1083,9 +1072,8 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
 // Small WINDOW here with no LOCK but I can't call Flush with LOCK
 // We would be flushing (or ending flush) anyway
 
-#ifdef IP2DEBUG_TRACE
-                       ip2trace (CHANN, ITRC_OUTPUT, 10, 1, amountToMove );
-#endif
+               ip2trace (CHANN, ITRC_OUTPUT, 10, 1, amountToMove );
+
                if ( !(pCh->flush_flags && i2RetryFlushOutput(pCh) ) 
                                && amountToMove > 0 )
                {
@@ -1123,9 +1111,7 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
 
                        WRITE_UNLOCK_IRQRESTORE(&pCh->Obuf_spinlock,flags);
 
-#ifdef IP2DEBUG_TRACE
                        ip2trace (CHANN, ITRC_OUTPUT, 13, 1, stuffIndex );
-#endif
 
                } else {
 
@@ -1133,25 +1119,23 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
                        // becuz we need to stuff a flush 
                        // or amount to move is <= 0
 
-#ifdef IP2DEBUG_TRACE
                        ip2trace(CHANN, ITRC_OUTPUT, 14, 3,
-                               amountToMove,  pB->i2eFifoRemains, pB->i2eWaitingForEmptyFifo );
-#endif
+                               amountToMove,  pB->i2eFifoRemains,
+                               pB->i2eWaitingForEmptyFifo );
+
                        // Put this channel back on queue
                        // this ultimatly gets more data or wakes write output
                        i2QueueNeeds(pB, pCh, NEED_INLINE);
 
                        if ( pB->i2eWaitingForEmptyFifo ) {
 
-#ifdef IP2DEBUG_TRACE
                                ip2trace (CHANN, ITRC_OUTPUT, 16, 0 );
-#endif
+
                                // or schedule
                                if (!in_interrupt()) {
 
-#ifdef IP2DEBUG_TRACE
-       ip2trace (CHANN, ITRC_OUTPUT, 61, 0 );
-#endif
+                                       ip2trace (CHANN, ITRC_OUTPUT, 61, 0 );
+
                                        current->state = TASK_INTERRUPTIBLE;
                                        schedule_timeout(2);
                                        if (signal_pending(current)) {
@@ -1159,9 +1143,9 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
                                        }
                                        continue;
                                } else {
-#ifdef IP2DEBUG_TRACE
-       ip2trace (CHANN, ITRC_OUTPUT, 62, 0 );
-#endif
+
+                                       ip2trace (CHANN, ITRC_OUTPUT, 62, 0 );
+
                                        // let interrupt in = WAS restore_flags()
                                        // We hold no lock nor is irq off anymore???
                                        
@@ -1171,31 +1155,31 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
                        }
                        else if ( pB->i2eFifoRemains < 32 && !pB->i2eTxMailEmpty ( pB ) )
                        {
-#ifdef IP2DEBUG_TRACE
-                               ip2trace (CHANN, ITRC_OUTPUT, 19, 2, pB->i2eFifoRemains,
-                                                                       pB->i2eTxMailEmpty );
-#endif
+                               ip2trace (CHANN, ITRC_OUTPUT, 19, 2,
+                                       pB->i2eFifoRemains,
+                                       pB->i2eTxMailEmpty );
+
                                break;   // from while(count)
                        } else if ( pCh->channelNeeds & NEED_CREDIT ) {
-#ifdef IP2DEBUG_TRACE
+
                                ip2trace (CHANN, ITRC_OUTPUT, 22, 0 );
-#endif
+
                                break;   // from while(count)
                        } else if ( --bailout) {
 
                                // Try to throw more things (maybe not us) in the fifo if we're
                                // not already waiting for it.
        
-#ifdef IP2DEBUG_TRACE
                                ip2trace (CHANN, ITRC_OUTPUT, 20, 0 );
-#endif
+
                                serviceOutgoingFifo(pB);
                                //break;  CONTINUE;
                        } else {
-#ifdef IP2DEBUG_TRACE
-                               ip2trace (CHANN, ITRC_OUTPUT, 21, 3, pB->i2eFifoRemains,
-                                                       pB->i2eOutMailWaiting, pB->i2eWaitingForEmptyFifo );
-#endif
+                               ip2trace (CHANN, ITRC_OUTPUT, 21, 3,
+                                       pB->i2eFifoRemains,
+                                       pB->i2eOutMailWaiting,
+                                       pB->i2eWaitingForEmptyFifo );
+
                                break;   // from while(count)
                        }
                }
@@ -1206,14 +1190,13 @@ i2Output(i2ChanStrPtr pCh, const char *pSource, int count, int user )
        // We drop through either when the count expires, or when there is some
        // count left, but there was a non-blocking write.
        if (countOriginal > count) {
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_OUTPUT, 17, 2, countOriginal, count );
-#endif
+
                serviceOutgoingFifo( pB );
        }
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_OUTPUT, ITRC_RETURN, 2, countOriginal, count );
-#endif
 
        return countOriginal - count;
 }
@@ -1232,23 +1215,20 @@ static inline void
 i2FlushOutput(i2ChanStrPtr pCh)
 {
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_FLUSH, 1, 1, pCh->flush_flags );
-#endif
 
        if (pCh->flush_flags)
                return;
 
        if ( 1 != i2QueueCommands(PTYPE_BYPASS, pCh, 0, 1, CMD_STARTFL) ) {
                pCh->flush_flags = STARTFL_FLAG;                // Failed - flag for later
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_FLUSH, 2, 0 );
-#endif
+
        } else if ( 1 != i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL) ) {
                pCh->flush_flags = STOPFL_FLAG;         // Failed - flag for later
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_FLUSH, 3, 0 );
-#endif
        }
 }
 
@@ -1257,9 +1237,7 @@ i2RetryFlushOutput(i2ChanStrPtr pCh)
 {
        int old_flags = pCh->flush_flags;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_FLUSH, 14, 1, old_flags );
-#endif
 
        pCh->flush_flags = 0;   // Clear flag so we can avoid recursion
                                                                        // and queue the commands
@@ -1270,23 +1248,21 @@ i2RetryFlushOutput(i2ChanStrPtr pCh)
                } else {
                        old_flags = STARTFL_FLAG;       //Failure - Flag for retry later
                }
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_FLUSH, 15, 1, old_flags );
-#endif
+
        }
        if ( old_flags & STOPFL_FLAG ) {
                if ( 1 == i2QueueCommands(PTYPE_INLINE, pCh, 0, 1, CMD_STOPFL) > 0 ) {
                        old_flags = 0;  // Success - clear flags
                }
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_FLUSH, 16, 1, old_flags );
-#endif
        }
-   pCh->flush_flags = old_flags;
+       pCh->flush_flags = old_flags;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_FLUSH, 17, 1, old_flags );
-#endif
+
        return old_flags;
 }
 
@@ -1303,9 +1279,8 @@ i2RetryFlushOutput(i2ChanStrPtr pCh)
 static void
 i2DrainWakeup(i2ChanStrPtr pCh)
 {
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_DRAIN, 10, 1, pCh->BookmarkTimer.expires );
-#endif
+
        pCh->BookmarkTimer.expires = 0;
        wake_up_interruptible( &pCh->pBookmarkWait );
 }
@@ -1316,9 +1291,8 @@ i2DrainOutput(i2ChanStrPtr pCh, int timeout)
        wait_queue_t wait;
        i2eBordStrPtr pB;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_DRAIN, ITRC_ENTER, 1, pCh->BookmarkTimer.expires);
-#endif
+
        pB = pCh->pMyBord;
        // If the board has gone fatal, return bad, 
        // and also hit the trap routine if it exists.
@@ -1335,9 +1309,7 @@ i2DrainOutput(i2ChanStrPtr pCh, int timeout)
                pCh->BookmarkTimer.function = (void*)(unsigned long)i2DrainWakeup;
                pCh->BookmarkTimer.data     = (unsigned long)pCh;
 
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_DRAIN, 1, 1, pCh->BookmarkTimer.expires );
-#endif
 
                add_timer( &(pCh->BookmarkTimer) );
        }
@@ -1361,14 +1333,11 @@ i2DrainOutput(i2ChanStrPtr pCh, int timeout)
                                (pCh->BookmarkTimer.expires > jiffies)) {
                del_timer( &(pCh->BookmarkTimer) );
                pCh->BookmarkTimer.expires = 0;
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_DRAIN, 3, 1, pCh->BookmarkTimer.expires );
-#endif
 
        }
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_DRAIN, ITRC_RETURN, 1, pCh->BookmarkTimer.expires );
-#endif
        return;
 }
 
@@ -1413,17 +1382,17 @@ ip2_owake( PTTY tp)
 
        pCh = tp->driver_data;
 
-#ifdef IP2DEBUG_TRACE
-       ip2trace (CHANN, ITRC_SICMD, 10, 2, tp->flags, (1 << TTY_DO_WRITE_WAKEUP) );
-#endif
+       ip2trace (CHANN, ITRC_SICMD, 10, 2, tp->flags,
+                       (1 << TTY_DO_WRITE_WAKEUP) );
+
        wake_up_interruptible ( &tp->write_wait );
        if ( ( tp->flags & (1 << TTY_DO_WRITE_WAKEUP) ) 
          && tp->ldisc.write_wakeup )
        {
                (tp->ldisc.write_wakeup) ( tp );
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_SICMD, 11, 0 );
-#endif
+
        }
 }
 
@@ -1509,14 +1478,11 @@ i2StripFifo(i2eBordStrPtr pB)
        unsigned char dss_change;
        unsigned long bflags,cflags;
 
-#ifdef IP2DEBUG_TRACE
-       //ip2trace (ITRC_NO_PORT, ITRC_SFIFO, ITRC_ENTER, 0 );
-#endif
+//     ip2trace (ITRC_NO_PORT, ITRC_SFIFO, ITRC_ENTER, 0 );
 
        while (HAS_INPUT(pB)) {
-#ifdef IP2DEBUG_TRACE
-               //ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 2, 0 );
-#endif
+//             ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 2, 0 );
+
                // Process packet from fifo a one atomic unit
                WRITE_LOCK_IRQSAVE(&pB->read_fifo_spinlock,bflags);
    
@@ -1529,9 +1495,8 @@ i2StripFifo(i2eBordStrPtr pB)
                case PTYPE_DATA:
                        pB->got_input = 1;
 
-#ifdef IP2DEBUG_TRACE
-                       //ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 3, 0 );
-#endif
+//                     ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 3, 0 );
+
                        channel = CHANNEL_OF(pB->i2eLeadoffWord); /* Store channel */
                        count = iiReadWord(pB);          /* Count is in the next word */
 
@@ -1631,9 +1596,7 @@ i2StripFifo(i2eBordStrPtr pB)
                        break;   // From switch: ready for next packet
 
                case PTYPE_STATUS:
-#ifdef IP2DEBUG_TRACE
                        ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 4, 0 );
-#endif
       
                        count = CMD_COUNT_OF(pB->i2eLeadoffWord);
 
@@ -1646,9 +1609,9 @@ i2StripFifo(i2eBordStrPtr pB)
 
                        while (pc < pcLimit) {
                                channel = *pc++;
-#ifdef IP2DEBUG_TRACE
+
                                ip2trace (channel, ITRC_SFIFO, 7, 2, channel, *pc );
-#endif
+
                                /* check for valid channel */
                                if (channel < pB->i2eChannelCnt
                                         && 
@@ -1681,41 +1644,32 @@ i2StripFifo(i2eBordStrPtr pB)
                                                break;
 
                                        case STAT_DCD_UP:
-#ifdef IP2DEBUG_TRACE
                                                ip2trace (channel, ITRC_MODEM, 1, 1, pCh->dataSetIn );
-#endif
+
                                                if ( !(pCh->dataSetIn & I2_DCD) )
                                                {
-#ifdef IP2DEBUG_TRACE
                                                        ip2trace (CHANN, ITRC_MODEM, 2, 0 );
-#endif
                                                        pCh->dataSetIn |= I2_DDCD;
                                                        pCh->icount.dcd++;
                                                        dss_change = 1;
                                                }
                                                pCh->dataSetIn |= I2_DCD;
-#ifdef IP2DEBUG_TRACE
+
                                                ip2trace (channel, ITRC_MODEM, 3, 1, pCh->dataSetIn );
-#endif
                                                break;
 
                                        case STAT_DCD_DN:
-#ifdef IP2DEBUG_TRACE
                                                ip2trace (channel, ITRC_MODEM, 4, 1, pCh->dataSetIn );
-#endif
                                                if ( pCh->dataSetIn & I2_DCD )
                                                {
-#ifdef IP2DEBUG_TRACE
                                                        ip2trace (channel, ITRC_MODEM, 5, 0 );
-#endif
                                                        pCh->dataSetIn |= I2_DDCD;
                                                        pCh->icount.dcd++;
                                                        dss_change = 1;
                                                }
                                                pCh->dataSetIn &= ~I2_DCD;
-#ifdef IP2DEBUG_TRACE
+
                                                ip2trace (channel, ITRC_MODEM, 6, 1, pCh->dataSetIn );
-#endif
                                                break;
 
                                        case STAT_DSR_UP:
@@ -1771,9 +1725,8 @@ i2StripFifo(i2eBordStrPtr pB)
                                                if (pCh->bookMarks <= 0 ) {
                                                        pCh->bookMarks = 0;
                                                        wake_up_interruptible( &pCh->pBookmarkWait );
-#ifdef IP2DEBUG_TRACE
+
                                                ip2trace (channel, ITRC_DRAIN, 20, 1, pCh->BookmarkTimer.expires );
-#endif
                                                }
                                                break;
 
@@ -1783,22 +1736,21 @@ i2StripFifo(i2eBordStrPtr pB)
                                                pCh->outfl.room =
                                                        ((flowStatPtr)pc)->room -
                                                        (pCh->outfl.asof - ((flowStatPtr)pc)->asof);
-#ifdef IP2DEBUG_TRACE
+
                                                ip2trace (channel, ITRC_STFLW, 1, 1, pCh->outfl.room );
-#endif
+
                                                if (pCh->channelNeeds & NEED_CREDIT)
                                                {
-#ifdef IP2DEBUG_TRACE
-                                               ip2trace (channel, ITRC_STFLW, 2, 1, pCh->channelNeeds);
-#endif
+                                                       ip2trace (channel, ITRC_STFLW, 2, 1, pCh->channelNeeds);
+
                                                        pCh->channelNeeds &= ~NEED_CREDIT;
                                                        i2QueueNeeds(pB, pCh, NEED_INLINE);
                                                        if ( pCh->pTTY )
                                                                ip2_owake(pCh->pTTY);
                                                }
-#ifdef IP2DEBUG_TRACE
+
                                                ip2trace (channel, ITRC_STFLW, 3, 1, pCh->channelNeeds);
-#endif
+
                                                pc += sizeof(flowStat);
                                                break;
 
@@ -1894,16 +1846,15 @@ i2StripFifo(i2eBordStrPtr pB)
                        break;
 
                default: // Neither packet? should be impossible
-#ifdef IP2DEBUG_TRACE
                        ip2trace (ITRC_NO_PORT, ITRC_SFIFO, 5, 1,
                                PTYPE_OF(pB->i2eLeadoffWord) );
-#endif
+
                        break;
                }  // End of switch on type of packets
        }       //while(board HAS_INPUT)
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (ITRC_NO_PORT, ITRC_SFIFO, ITRC_RETURN, 0 );
-#endif
+
        // Send acknowledgement to the board even if there was no data!
        pB->i2eOutMailWaiting |= MB_IN_STRIPPED;
        return;
@@ -2021,9 +1972,8 @@ i2StuffFifoFlow(i2eBordStrPtr pB)
        i2ChanStrPtr pCh;
        unsigned short paddedSize               = ROUNDUP(sizeof(flowIn));
 
-#ifdef IP2DEBUG_TRACE
-ip2trace (ITRC_NO_PORT, ITRC_SFLOW, ITRC_ENTER, 2, pB->i2eFifoRemains, paddedSize );
-#endif
+       ip2trace (ITRC_NO_PORT, ITRC_SFLOW, ITRC_ENTER, 2,
+               pB->i2eFifoRemains, paddedSize );
 
        // Continue processing so long as there are entries, or there is room in the
        // fifo. Each entry represents a channel with something to do.
@@ -2035,14 +1985,12 @@ ip2trace (ITRC_NO_PORT, ITRC_SFLOW, ITRC_ENTER, 2, pB->i2eFifoRemains, paddedSiz
                        break;
                }
 #ifdef DEBUG_FIFO
-WriteDBGBuf("FLOW",(unsigned char *) &(pCh->infl), paddedSize);
+               WriteDBGBuf("FLOW",(unsigned char *) &(pCh->infl), paddedSize);
 #endif /* DEBUG_FIFO */
 
        }  // Either clogged or finished all the work
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_SFLOW, ITRC_RETURN, 0 );
-#endif
 }
 
 //******************************************************************************
@@ -2070,10 +2018,8 @@ i2StuffFifoInline(i2eBordStrPtr pB)
        int bailout  = 1000;
        int bailout2;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_SICMD, ITRC_ENTER, 3, pB->i2eFifoRemains, 
                        pB->i2Dbuf_strip, pB->i2Dbuf_stuff );
-#endif
 
        // Continue processing so long as there are entries, or there is room in the
        // fifo. Each entry represents a channel with something to do.
@@ -2083,9 +2029,8 @@ i2StuffFifoInline(i2eBordStrPtr pB)
                WRITE_LOCK_IRQSAVE(&pCh->Obuf_spinlock,flags);
                stripIndex = pCh->Obuf_strip;
 
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_SICMD, 3, 2, stripIndex, pCh->Obuf_stuff );
-#endif 
+
                // as long as there are packets for this channel...
                bailout2 = 1000;
                while ( --bailout2 && stripIndex != pCh->Obuf_stuff) {
@@ -2104,16 +2049,15 @@ i2StuffFifoInline(i2eBordStrPtr pB)
                        flowsize = CREDIT_USAGE(flowsize);
                        paddedSize = ROUNDUP(packetSize);
 
-#ifdef IP2DEBUG_TRACE
                        ip2trace (CHANN, ITRC_SICMD, 4, 2, pB->i2eFifoRemains, paddedSize );
-#endif 
+
                        // If we don't have enough credits from the board to send the data,
                        // flag the channel that we are waiting for flow control credit, and
                        // break out. This will clean up this channel and remove us from the
                        // queue of hot things to do.
-#ifdef IP2DEBUG_TRACE
+
                                ip2trace (CHANN, ITRC_SICMD, 5, 2, pCh->outfl.room, flowsize );
-#endif 
+
                        if (pCh->outfl.room <= flowsize)        {
                                // Do Not have the credits to send this packet.
                                i2QueueNeeds(pB, pCh, NEED_CREDIT);
@@ -2141,15 +2085,15 @@ WriteDBGBuf("DATA", pRemove, paddedSize);
                        }
                        pRemove += packetSize;
                        stripIndex += packetSize;
-#ifdef IP2DEBUG_TRACE
+
                        ip2trace (CHANN, ITRC_SICMD, 6, 2, stripIndex, pCh->Obuf_strip);
-#endif 
+
                        if (stripIndex >= OBUF_SIZE) {
                                stripIndex = 0;
                                pRemove = pCh->Obuf;
-#ifdef IP2DEBUG_TRACE
+
                                ip2trace (CHANN, ITRC_SICMD, 7, 1, stripIndex );
-#endif 
+
                        }
                }       /* while */
                if ( !bailout2 ) {
@@ -2161,23 +2105,20 @@ WriteDBGBuf("DATA", pRemove, paddedSize);
                WRITE_UNLOCK_IRQRESTORE(&pCh->Obuf_spinlock,flags);
                if ( notClogged )
                {
-#ifdef IP2DEBUG_TRACE
+
                        ip2trace (CHANN, ITRC_SICMD, 8, 0 );
-#endif
+
                        if ( pCh->pTTY ) {
                                ip2_owake(pCh->pTTY);
                        }
                }
        }  // Either clogged or finished all the work
-#ifdef IP2DEBUG_TRACE
+
        if ( !bailout ) {
                ip2trace (ITRC_NO_PORT, ITRC_ERROR, 4, 0 );
        }
-#endif
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_SICMD, ITRC_RETURN, 1,pB->i2Dbuf_strip);
-#endif
 }
 
 //******************************************************************************
@@ -2247,9 +2188,7 @@ i2ServiceBoard ( i2eBordStrPtr pB )
        }
        pB->i2eStartMail = NO_MAIL_HERE;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INTR, 2, 1, inmail );
-#endif
 
        if (inmail != NO_MAIL_HERE) {
                // If the board has gone fatal, nothing to do but hit a bit that will
@@ -2271,16 +2210,14 @@ i2ServiceBoard ( i2eBordStrPtr pB )
                        pB->i2eFifoRemains = pB->i2eFifoSize;
                        pB->i2eWaitingForEmptyFifo = 0;
                        WRITE_UNLOCK_IRQRESTORE(&pB->write_fifo_spinlock,flags);
-#ifdef IP2DEBUG_TRACE
-               ip2trace (ITRC_NO_PORT, ITRC_INTR, 30, 1, pB->i2eFifoRemains );
-#endif
+
+                       ip2trace (ITRC_NO_PORT, ITRC_INTR, 30, 1, pB->i2eFifoRemains );
+
                }
                serviceOutgoingFifo(pB);
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INTR, 8, 0 );
-#endif
 
 exit_i2ServiceBoard:
 
index 2a92b4391abc62a9188d56b9e4126c1084d9c2e1..44bc53bcec444c67faae735e27adf54633609a4e 100644 (file)
@@ -341,6 +341,12 @@ static int  i2OutputFree(i2ChanStrPtr);
 static int  i2ServiceBoard(i2eBordStrPtr);
 static void i2DrainOutput(i2ChanStrPtr, int);
 
+#ifdef IP2DEBUG_TRACE
+void ip2trace(unsigned short,unsigned char,unsigned char,unsigned long,...);
+#else
+#define ip2trace(a,b,c,d...) do {} while (0)
+#endif
+
 // Argument to i2QueueCommands
 //
 #define C_IN_LINE 1
index e3e19b10f9ad7acd0b1c02cc582b4b6ed2ac9aeb..f46f5c6a7a1be4c5d912ca8ba52afaa3144916f7 100644 (file)
 // ToDo:
 //
 // Fix the immediate DSS_NOW problem.
+// Work over the channel stats return logic in ip2_ipl_ioctl so they
+//     make sense for all 256 possible channels and so the user space
+//     utilities will compile and work properly.
 //
 // Done:
 //
+// 1.2.14      /\/\|=mhw=|\/\/
+// Added bounds checking to ip2_ipl_ioctl to avoid potential terroristic acts.
+// Changed the definition of ip2trace to be more consistant with kernel style
+//     Thanks to Andreas Dilger <adilger@turbolabs.com> for these updates
+//
+// 1.2.13      /\/\|=mhw=|\/\/
+// DEVFS: Renamed ttf/{n} to tts/F{n} and cuf/{n} to cua/F{n} to conform
+//     to agreed devfs serial device naming convention.
+//
 // 1.2.12      /\/\|=mhw=|\/\/
 // Cleaned up some remove queue cut and paste errors
 //
@@ -215,13 +227,13 @@ int ip2_read_proc(char *, char **, off_t, int, int *, void * );
 
 /* String constants to identify ourselves */
 static char *pcName    = "Computone IntelliPort Plus multiport driver";
-static char *pcVersion = "1.2.11";
+static char *pcVersion = "1.2.14";
 
 /* String constants for port names */
 static char *pcDriver_name   = "ip2";
 #ifdef CONFIG_DEVFS_FS
-static char *pcTty              = "ttf/%d";
-static char *pcCallout          = "cuf/%d";
+static char *pcTty              = "tts/F%d";
+static char *pcCallout          = "cua/F%d";
 #else
 static char *pcTty              = "ttyF";
 static char *pcCallout          = "cuf";
@@ -289,7 +301,6 @@ static ssize_t ip2_ipl_write(struct file *, const char *, size_t, loff_t *);
 static int ip2_ipl_ioctl(struct inode *, struct file *, UINT, ULONG);
 static int ip2_ipl_open(struct inode *, struct file *);
 
-void ip2trace(unsigned short,unsigned char,unsigned char,unsigned long,...);
 static int DumpTraceBuffer(char *, int);
 static int DumpFifoBuffer( char *, int);
 
@@ -583,9 +594,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
        i2eBordStrPtr pB = NULL;
        int rc = -1;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INIT, ITRC_ENTER, 0 );
-#endif
 
        /* process command line arguments to modprobe or
                insmod i.e. iop & irqp */
@@ -789,9 +798,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
                }
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INIT, 2, 0 );
-#endif
 
        /* Zero out the normal tty device structure. */
        memset ( &ip2_tty_driver, 0, sizeof ip2_tty_driver );
@@ -850,9 +857,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
        ip2_callout_driver.major   = IP2_CALLOUT_MAJOR;
        ip2_callout_driver.subtype = SERIAL_TYPE_CALLOUT;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INIT, 3, 0 );
-#endif
 
        /* Register the tty devices. */
        if ( ( err = tty_register_driver ( &ip2_tty_driver ) ) ) {
@@ -875,9 +880,7 @@ ip2_loadmain(int *iop, int *irqp, unsigned char *firmware, int firmsize)
                printk(KERN_ERR "IP2: failed to register read_procmem\n");
        } else {
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INIT, 4, 0 );
-#endif
                /* Register the interrupt handler or poll handler, depending upon the
                 * specified interrupt.
                 */
@@ -967,9 +970,7 @@ retry:
                        }
                }
        }
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INIT, ITRC_RETURN, 0 );
-#endif
 
        return 0;
 }
@@ -1368,9 +1369,7 @@ ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs)
        int i;
        i2eBordStrPtr  pB;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INTR, 99, 1, irq );
-#endif
 
        /* Service just the boards on the list using this irq */
        for( i = 0; i < i2nBoards; ++i ) {
@@ -1404,9 +1403,7 @@ ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs)
 
        ++irq_counter;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INTR, ITRC_RETURN, 0 );
-#endif
 }
 
 /******************************************************************************/
@@ -1422,9 +1419,8 @@ ip2_interrupt(int irq, void *dev_id, struct pt_regs * regs)
 static void
 ip2_poll(unsigned long arg)
 {
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INTR, 100, 0 );
-#endif
+
        TimerOn = 0; // it's the truth but not checked in service
 
        // Just polled boards, IRQ = 0 will hit all non-interrupt boards.
@@ -1436,9 +1432,7 @@ ip2_poll(unsigned long arg)
        add_timer( &PollTimer );
        TimerOn = 1;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (ITRC_NO_PORT, ITRC_INTR, ITRC_RETURN, 0 );
-#endif
 }
 
 static inline void 
@@ -1446,9 +1440,8 @@ do_input( i2ChanStrPtr pCh )
 {
        unsigned long flags;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace(CHANN, ITRC_INPUT, 21, 0 );
-#endif
+
        // Data input
        if ( pCh->pTTY != NULL ) {
                READ_LOCK_IRQSAVE(&pCh->Ibuf_spinlock,flags)
@@ -1458,9 +1451,8 @@ do_input( i2ChanStrPtr pCh )
                } else
                        READ_UNLOCK_IRQRESTORE(&pCh->Ibuf_spinlock,flags)
        } else {
-#ifdef IP2DEBUG_TRACE
                ip2trace(CHANN, ITRC_INPUT, 22, 0 );
-#endif
+
                i2InputFlush( pCh );
        }
 }
@@ -1485,9 +1477,7 @@ do_status( i2ChanStrPtr pCh )
 
        status =  i2GetStatus( pCh, (I2_BRK|I2_PAR|I2_FRA|I2_OVR) );
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_STATUS, 21, 1, status );
-#endif
 
        if (pCh->pTTY && (status & (I2_BRK|I2_PAR|I2_FRA|I2_OVR)) ) {
                if ( (status & I2_BRK) ) {
@@ -1547,9 +1537,7 @@ skip_this:
                }
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_STATUS, 26, 0 );
-#endif
 }
 
 /******************************************************************************/
@@ -1604,9 +1592,7 @@ ip2_open( PTTY tty, struct file *pFile )
        int do_clocal = 0;
        i2ChanStrPtr  pCh = DevTable[MINOR(tty->device)];
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (MINOR(tty->device), ITRC_OPEN, ITRC_ENTER, 0 );
-#endif
 
        if ( pCh == NULL ) {
                return -ENODEV;
@@ -1732,10 +1718,8 @@ ip2_open( PTTY tty, struct file *pFile )
                        (pCh->flags & ASYNC_CLOSING)?"True":"False");
                printk(KERN_DEBUG "OpenBlock: waiting for CD or signal\n");
 #endif
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_OPEN, 3, 2, (pCh->flags & ASYNC_CALLOUT_ACTIVE),
-                                                               (pCh->flags & ASYNC_CLOSING) );
-#endif
+                               (pCh->flags & ASYNC_CLOSING) );
                /* check for signal */
                if (signal_pending(current)) {
                        rc = (( pCh->flags & ASYNC_HUP_NOTIFY ) ? -EAGAIN : -ERESTARTSYS);
@@ -1747,9 +1731,9 @@ ip2_open( PTTY tty, struct file *pFile )
        remove_wait_queue(&pCh->open_wait, &wait);
 
        --pCh->wopen; //why count?
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_OPEN, 4, 0 );
-#endif
+
        if (rc != 0 ) {
                return rc;
        }
@@ -1786,9 +1770,8 @@ noblock:
 #endif
        serviceOutgoingFifo( pCh->pMyBord );
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_OPEN, ITRC_RETURN, 0 );
-#endif
+
        return 0;
 }
 
@@ -1811,9 +1794,7 @@ ip2_close( PTTY tty, struct file *pFile )
                return;
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_CLOSE, ITRC_ENTER, 0 );
-#endif
 
 #ifdef IP2DEBUG_OPEN
        printk(KERN_DEBUG "IP2:close ttyF%02X:\n",MINOR(tty->device));
@@ -1822,16 +1803,15 @@ ip2_close( PTTY tty, struct file *pFile )
        if ( tty_hung_up_p ( pFile ) ) {
                MOD_DEC_USE_COUNT;
 
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_CLOSE, 2, 1, 2 );
-#endif
+
                return;
        }
        if ( tty->count > 1 ) { /* not the last close */
                MOD_DEC_USE_COUNT;
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_CLOSE, 2, 1, 3 );
-#endif
+
                return;
        }
        pCh->flags |= ASYNC_CLOSING;    // last close actually
@@ -1898,9 +1878,8 @@ ip2_close( PTTY tty, struct file *pFile )
 
        MOD_DEC_USE_COUNT;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_CLOSE, ITRC_RETURN, 1, 1 );
-#endif
+
        return;
 }
 
@@ -1922,9 +1901,7 @@ ip2_hangup ( PTTY tty )
                return;
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_HANGUP, ITRC_ENTER, 0 );
-#endif
 
        ip2_flush_buffer(tty);
 
@@ -1947,9 +1924,7 @@ ip2_hangup ( PTTY tty )
        pCh->pTTY = NULL;
        wake_up_interruptible ( &pCh->open_wait );
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_HANGUP, ITRC_RETURN, 0 );
-#endif
 }
 
 /******************************************************************************/
@@ -1977,9 +1952,7 @@ ip2_write( PTTY tty, int user, const unsigned char *pData, int count)
        int bytesSent = 0;
        unsigned long flags;
 
-#ifdef IP2DEBUG_TRACE
-   ip2trace (CHANN, ITRC_WRITE, ITRC_ENTER, 2, count, -1 );
-#endif
+       ip2trace (CHANN, ITRC_WRITE, ITRC_ENTER, 2, count, -1 );
 
        /* Flush out any buffered data left over from ip2_putchar() calls. */
        ip2_flush_chars( tty );
@@ -1989,9 +1962,8 @@ ip2_write( PTTY tty, int user, const unsigned char *pData, int count)
        bytesSent = i2Output( pCh, pData, count, user );
        WRITE_UNLOCK_IRQRESTORE(&pCh->Pbuf_spinlock,flags);
 
-#ifdef IP2DEBUG_TRACE
-   ip2trace (CHANN, ITRC_WRITE, ITRC_RETURN, 1, bytesSent );
-#endif
+       ip2trace (CHANN, ITRC_WRITE, ITRC_RETURN, 1, bytesSent );
+
        return bytesSent > 0 ? bytesSent : 0;
 }
 
@@ -2011,9 +1983,7 @@ ip2_putchar( PTTY tty, unsigned char ch )
        i2ChanStrPtr  pCh = tty->driver_data;
        unsigned long flags;
 
-#ifdef IP2DEBUG_TRACE
 //     ip2trace (CHANN, ITRC_PUTC, ITRC_ENTER, 1, ch );
-#endif
 
        WRITE_LOCK_IRQSAVE(&pCh->Pbuf_spinlock,flags);
        pCh->Pbuf[pCh->Pbuf_stuff++] = ch;
@@ -2023,9 +1993,7 @@ ip2_putchar( PTTY tty, unsigned char ch )
        } else
                WRITE_UNLOCK_IRQRESTORE(&pCh->Pbuf_spinlock,flags);
 
-#ifdef IP2DEBUG_TRACE
 //     ip2trace (CHANN, ITRC_PUTC, ITRC_RETURN, 1, ch );
-#endif
 }
 
 /******************************************************************************/
@@ -2045,9 +2013,9 @@ ip2_flush_chars( PTTY tty )
 
        WRITE_LOCK_IRQSAVE(&pCh->Pbuf_spinlock,flags);
        if ( pCh->Pbuf_stuff ) {
-#ifdef IP2DEBUG_TRACE
-//     ip2trace (CHANN, ITRC_PUTC, 10, 1, strip );
-#endif
+
+//             ip2trace (CHANN, ITRC_PUTC, 10, 1, strip );
+
                //
                // We may need to restart i2Output if it does not fullfill this request
                //
@@ -2079,9 +2047,7 @@ ip2_write_room ( PTTY tty )
        bytesFree = i2OutputFree( pCh ) - pCh->Pbuf_stuff;
        READ_UNLOCK_IRQRESTORE(&pCh->Pbuf_spinlock,flags);
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_WRITE, 11, 1, bytesFree );
-#endif
 
        return ((bytesFree > 0) ? bytesFree : 0);
 }
@@ -2101,9 +2067,9 @@ ip2_chars_in_buf ( PTTY tty )
        i2ChanStrPtr  pCh = tty->driver_data;
        int rc;
        unsigned long flags;
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_WRITE, 12, 1, pCh->Obuf_char_count + pCh->Pbuf_stuff );
-#endif
+
 #ifdef IP2DEBUG_WRITE
        printk (KERN_DEBUG "IP2: chars in buffer = %d (%d,%d)\n",
                                 pCh->Obuf_char_count + pCh->Pbuf_stuff,
@@ -2133,9 +2099,8 @@ ip2_flush_buffer( PTTY tty )
        i2ChanStrPtr  pCh = tty->driver_data;
        unsigned long flags;
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_FLUSH, ITRC_ENTER, 0 );
-#endif
+
 #ifdef IP2DEBUG_WRITE
        printk (KERN_DEBUG "IP2: flush buffer\n" );
 #endif
@@ -2144,9 +2109,9 @@ ip2_flush_buffer( PTTY tty )
        WRITE_UNLOCK_IRQRESTORE(&pCh->Pbuf_spinlock,flags);
        i2FlushOutput( pCh );
        ip2_owake(tty);
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_FLUSH, ITRC_RETURN, 0 );
-#endif
+
 }
 
 /******************************************************************************/
@@ -2292,9 +2257,7 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
                return -ENODEV;
        }
 
-#ifdef IP2DEBUG_TRACE
        ip2trace (CHANN, ITRC_IOCTL, ITRC_ENTER, 2, cmd, arg );
-#endif
 
 #ifdef IP2DEBUG_IOCTL
        printk(KERN_DEBUG "IP2: ioctl cmd (%x), arg (%lx)\n", cmd, arg );
@@ -2302,18 +2265,18 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
 
        switch(cmd) {
        case TIOCGSERIAL:
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 2, 1, rc );
-#endif
+
                rc = get_serial_info(pCh, (struct serial_struct *) arg);
                if (rc)
                        return rc;
                break;
 
        case TIOCSSERIAL:
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 3, 1, rc );
-#endif
+
                rc = set_serial_info(pCh, (struct serial_struct *) arg);
                if (rc)
                        return rc;
@@ -2349,9 +2312,9 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
 
        case TCSBRK:   /* SVID version: non-zero arg --> no break */
                rc = tty_check_change(tty);
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 4, 1, rc );
-#endif
+
                if (!rc) {
                        ip2_wait_until_sent(tty,0);
                        if (!arg) {
@@ -2363,9 +2326,9 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
 
        case TCSBRKP:  /* support for POSIX tcsendbreak() */
                rc = tty_check_change(tty);
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 5, 1, rc );
-#endif
+
                if (!rc) {
                        ip2_wait_until_sent(tty,0);
                        i2QueueCommands(PTYPE_INLINE, pCh, 100, 1,
@@ -2375,18 +2338,18 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
                break;
 
        case TIOCGSOFTCAR:
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 6, 1, rc );
-#endif
+
                        PUT_USER(rc,C_CLOCAL(tty) ? 1 : 0, (unsigned long *) arg);
                if (rc) 
                        return rc;
        break;
 
        case TIOCSSOFTCAR:
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 7, 1, rc );
-#endif
+
                GET_USER(rc,arg,(unsigned long *) arg);
                if (rc) 
                        return rc;
@@ -2396,9 +2359,9 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
                break;
 
        case TIOCMGET:
-#ifdef IP2DEBUG_TRACE
+
                ip2trace (CHANN, ITRC_IOCTL, 8, 1, rc );
-#endif
+
 /*
        FIXME - the following code is causing a NULL pointer dereference in
        2.3.51 in an interrupt handler.  It's suppose to prompt the board
@@ -2441,9 +2404,8 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
        case TIOCMBIS:
        case TIOCMBIC:
        case TIOCMSET:
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_IOCTL, 9, 0 );
-#endif
+
                rc = set_modem_info(pCh, cmd, (unsigned int *) arg);
                break;
 
@@ -2464,13 +2426,12 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
 
                serviceOutgoingFifo( pCh->pMyBord );
                for(;;) {
-#ifdef IP2DEBUG_TRACE
                        ip2trace (CHANN, ITRC_IOCTL, 10, 0 );
-#endif
+
                        schedule();
-#ifdef IP2DEBUG_TRACE
+
                        ip2trace (CHANN, ITRC_IOCTL, 11, 0 );
-#endif
+
                        /* see if a signal did it */
                        if (signal_pending(current)) {
                                rc = -ERESTARTSYS;
@@ -2514,9 +2475,8 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
         * serial driver.
         */
        case TIOCGICOUNT:
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_IOCTL, 11, 1, rc );
-#endif
+
                save_flags(flags);cli();
                cnow = pCh->icount;
                restore_flags(flags);
@@ -2547,15 +2507,14 @@ ip2_ioctl ( PTTY tty, struct file *pFile, UINT cmd, ULONG arg )
        case TIOCSERSETMULTI:
 
        default:
-#ifdef IP2DEBUG_TRACE
                ip2trace (CHANN, ITRC_IOCTL, 12, 0 );
-#endif
+
                rc =  -ENOIOCTLCMD;
                break;
        }
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (CHANN, ITRC_IOCTL, ITRC_RETURN, 0 );
-#endif
+
        return rc;
 }
 
@@ -2766,9 +2725,9 @@ ip2_set_line_discipline ( PTTY tty )
 #ifdef IP2DEBUG_IOCTL
        printk (KERN_DEBUG "IP2: set line discipline\n" );
 #endif
-#ifdef IP2DEBUG_TRACE
+
        ip2trace (((i2ChanStrPtr)tty->driver_data)->port_index, ITRC_IOCTL, 16, 0 );
-#endif
+
 }
 
 /******************************************************************************/
@@ -3224,12 +3183,16 @@ ip2_ipl_ioctl ( struct inode *pInode, struct file *pFile, UINT cmd, ULONG arg )
                        break;
 
                default:
-                       pCh = DevTable[cmd];
-                       if ( pCh )
-                       {
-                               COPY_TO_USER(rc, (char*)arg, (char*)pCh, sizeof(i2ChanStr) );
+                       if (cmd < IP2_MAX_PORTS) {
+                               pCh = DevTable[cmd];
+                               if ( pCh )
+                               {
+                                       COPY_TO_USER(rc, (char*)arg, (char*)pCh, sizeof(i2ChanStr) );
+                               } else {
+                                       rc = -ENODEV;
+                               }
                        } else {
-                               rc = cmd < 64 ? -ENODEV : -EINVAL;
+                               rc = -EINVAL;
                        }
                }
                break;
@@ -3542,10 +3505,10 @@ int ip2_read_proc(char *page, char **start, off_t off,
 /*                                                                            */
 /*                                                                            */
 /******************************************************************************/
+#ifdef IP2DEBUG_TRACE
 void
 ip2trace (unsigned short pn, unsigned char cat, unsigned char label, unsigned long codes, ...)
 {
-#ifdef IP2DEBUG_TRACE
        long flags;
        unsigned long *pCode = &codes;
        union ip2breadcrumb bc;
@@ -3585,8 +3548,8 @@ ip2trace (unsigned short pn, unsigned char cat, unsigned char label, unsigned lo
 
                tracebuf[tracestuff++] = *++pCode;
        }
-#endif
 }
+#endif
 
 
 MODULE_LICENSE("GPL");
index 44a222b2f7eacac6428b49b0555bed7af0cfe6e1..ed17f3f294d524d1b19bfdcab6af3bef397fd333 100644 (file)
@@ -75,6 +75,7 @@ extern int rtc_MK48T08_init(void);
 extern int ds1286_init(void);
 extern int pmu_device_init(void);
 extern int tosh_init(void);
+extern int i8k_init(void);
 
 static int misc_read_proc(char *buf, char **start, off_t offset,
                          int len, int *eof, void *private)
@@ -275,6 +276,9 @@ int __init misc_init(void)
 #endif
 #ifdef CONFIG_TOSHIBA
        tosh_init();
+#endif
+#ifdef CONFIG_I8K
+       i8k_init();
 #endif
        if (devfs_register_chrdev(MISC_MAJOR,"misc",&misc_fops)) {
                printk("unable to get major %d for misc devices\n",
index 4a688d830362a723927f39f0e54447c5fb21d21b..4c0a0b73af3387c25d3d86da7e84576e826a396d 100644 (file)
@@ -2329,9 +2329,6 @@ void __init tty_init(void)
 #ifdef CONFIG_SERIAL_TX3912
        tx3912_rs_init();
 #endif
-#ifdef CONFIG_COMPUTONE
-       ip2_init();
-#endif
 #ifdef CONFIG_ROCKETPORT
        rp_init();
 #endif
index 8fc919e876fd40df49056c9c6e1f28089403ab8c..f5badc8f9980fcf6091ee62485962322e2bf9897 100644 (file)
@@ -1,3 +1,11 @@
+2001-10-26  Tim Waugh  <twaugh@redhat.com>
+
+       * parport_pc.c (parport_irq_probe): When ECR programmable IRQ
+       support fails, generate interrupts using the FIFO even if we don't
+       want to use the FIFO for real data transfers.
+       (parport_pc_probe_port): Display the ECR address if we have an
+       ECR, not just if we will use the FIFO.
+
 2001-10-24  Dave Strauss  <D.Strauss@motorola.com>
 
        * parport_pc.c (parport_pc_compat_write_block_pio,
index befd4a61281233da2d6a0bd5871f32b09ef6d342..96120ba2218a186fcb92f54fa11d4fd88662ff8d 100644 (file)
@@ -2119,10 +2119,9 @@ static int __devinit parport_irq_probe(struct parport *pb)
 
        if (priv->ecr) {
                pb->irq = programmable_irq_support(pb);
-       }
 
-       if (pb->modes & PARPORT_MODE_ECP) {
-               pb->irq = irq_probe_ECP(pb);
+               if (pb->irq == PARPORT_IRQ_NONE)
+                       pb->irq = irq_probe_ECP(pb);
        }
 
        if ((pb->irq == PARPORT_IRQ_NONE) && priv->ecr &&
@@ -2255,7 +2254,7 @@ struct parport *parport_pc_probe_port (unsigned long int base,
        p->private_data = priv;
 
        printk(KERN_INFO "%s: PC-style at 0x%lx", p->name, p->base);
-       if (p->base_hi && (p->modes & PARPORT_MODE_ECP))
+       if (p->base_hi && priv->ecr)
                printk(" (0x%lx)", p->base_hi);
        p->irq = irq;
        p->dma = dma;
index 400d11555629101961ba43de56b231c1d5445aa8..c15da6f3ca0ac4f79a0ee4bfb0d2baa42e22d955 100644 (file)
@@ -16,7 +16,6 @@ comment 'Miscellaneous USB options'
       define_bool CONFIG_USB_BANDWIDTH n
    fi
    bool '  Long timeout for slow-responding devices (some MGE Ellipse UPSes)' CONFIG_USB_LONG_TIMEOUT
-   bool '  Large report fetching for "broken" devices (some APC UPSes)' CONFIG_USB_LARGE_CONFIG
 fi
 
 comment 'USB Controllers'
index 4e89bacb2e4c0218e0777d9fce7e3db7f7532616..7978a9bd72d5fa32e3e1e8e13674b877f61339f5 100644 (file)
@@ -844,6 +844,14 @@ static int proc_submiturb(struct dev_state *ps, void *arg)
                uurb.buffer_length = totlen;
                break;
 
+       case USBDEVFS_URB_TYPE_INTERRUPT:
+               uurb.number_of_packets = 0;
+               if (uurb.buffer_length > 16384)
+                       return -EINVAL;
+               if (!access_ok((uurb.endpoint & USB_DIR_IN) ? VERIFY_WRITE : VERIFY_READ, uurb.buffer, uurb.buffer_length))
+                       return -EFAULT;   
+               break;
+
        default:
                return -EINVAL;
        }
index 0b30bf1a6d15cdbf7037ff9f6c5d74bc7578f4b0..611a3022e2731191ef1d6ff3b8d05b0571e8efb2 100644 (file)
  * <dag@brattli.net>, and Jean Tourrilhes <jt@hpl.hp.com>
 
  * See Documentation/usb/usb-serial.txt for more information on using this driver
- * 
+ *
+ * 2001_Nov_01 greg kh
+ *     Added support for more IrDA USB devices.
+ *     Added support for zero packet.  Added buffer override paramater, so
+ *     users can transfer larger packets at once if they wish.  Both patches
+ *     came from Dag Brattli <dag@obexcode.com>.
+ *
  * 2001_Oct_07 greg kh
  *     initial version released.
  */
 /*
  * Version Information
  */
-#define DRIVER_VERSION "v0.1"
+#define DRIVER_VERSION "v0.2"
 #define DRIVER_AUTHOR "Greg Kroah-Hartman <greg@kroah.com>"
 #define DRIVER_DESC "USB IR Dongle driver"
 
+/* if overridden by the user, then use their value for the size of the read and
+ * write urbs */
+static int buffer_size = 0;
+
 static int  ir_startup (struct usb_serial *serial);
 static int  ir_open (struct usb_serial_port *port, struct file *filep);
 static void ir_close (struct usb_serial_port *port, struct file *filep);
@@ -66,7 +76,10 @@ static void ir_set_termios (struct usb_serial_port *port, struct termios *old_te
 
 
 static __devinitdata struct usb_device_id id_table [] = {
-       { USB_DEVICE(0x09c4, 0x0011) },
+       { USB_DEVICE(0x050f, 0x0180) },         /* KC Technology, KC-180 */
+       { USB_DEVICE(0x08e9, 0x0100) },         /* XTNDAccess */
+       { USB_DEVICE(0x09c4, 0x0011) },         /* ACTiSys ACT-IR2000U */
+       { USB_INTERFACE_INFO (USB_CLASS_APP_SPEC, USB_CLASS_IRDA, 0) },
        { }                                     /* Terminating entry */
 };
 
@@ -180,6 +193,7 @@ static int ir_startup (struct usb_serial *serial)
 static int ir_open (struct usb_serial_port *port, struct file *filp)
 {
        struct usb_serial *serial = port->serial;
+       char *buffer;
        int result = 0;
 
        if (port_paranoia_check (port, __FUNCTION__))
@@ -195,11 +209,28 @@ static int ir_open (struct usb_serial_port *port, struct file *filp)
        if (!port->active) {
                port->active = 1;
 
-               /* force low_latency on so that our tty_push actually forces the data through, 
-                  otherwise it is scheduled, and with high data rates (like with OHCI) data
-                  can get lost. */
-               port->tty->low_latency = 1;
-               
+               if (buffer_size) {
+                       /* override the default buffer sizes */
+                       buffer = kmalloc (buffer_size, GFP_KERNEL);
+                       if (!buffer) {
+                               err (__FUNCTION__ " - out of memory.");
+                               return -ENOMEM;
+                       }
+                       kfree (port->read_urb->transfer_buffer);
+                       port->read_urb->transfer_buffer = buffer;
+                       port->read_urb->transfer_buffer_length = buffer_size;
+
+                       buffer = kmalloc (buffer_size, GFP_KERNEL);
+                       if (!buffer) {
+                               err (__FUNCTION__ " - out of memory.");
+                               return -ENOMEM;
+                       }
+                       kfree (port->write_urb->transfer_buffer);
+                       port->write_urb->transfer_buffer = buffer;
+                       port->write_urb->transfer_buffer_length = buffer_size;
+                       port->bulk_out_size = buffer_size;
+               }
+
                /* Start reading from the device */
                FILL_BULK_URB(port->read_urb, serial->dev, 
                              usb_rcvbulkpipe(serial->dev, port->bulk_in_endpointAddress),
@@ -279,12 +310,14 @@ static int ir_write (struct usb_serial_port *port, int from_user, const unsigned
                memcpy (&transfer_buffer[1], buf, count);
        }
 
-       transfer_buffer[0] = 0x00;
+       /* use 12 XBOF's as default */
+       transfer_buffer[0] = 0x30;
 
        usb_serial_debug_data (__FILE__, __FUNCTION__, count+1, transfer_buffer);
 
        port->write_urb->transfer_buffer_length = count + 1;
        port->write_urb->dev = port->serial->dev;
+       port->write_urb->transfer_flags |= USB_ZERO_PACKET;
        result = usb_submit_urb (port->write_urb);
        if (result)
                err(__FUNCTION__ " - failed submitting write urb, error %d", result);
@@ -320,7 +353,6 @@ static void ir_read_bulk_callback (struct urb *urb)
        struct usb_serial *serial = get_usb_serial (port, __FUNCTION__);
        struct tty_struct *tty;
        unsigned char *data = urb->transfer_buffer;
-       int i;
        int result;
 
        if (port_paranoia_check (port, __FUNCTION__))
@@ -340,18 +372,11 @@ static void ir_read_bulk_callback (struct urb *urb)
 
        usb_serial_debug_data (__FILE__, __FUNCTION__, urb->actual_length, data);
 
+       /* Bypass flip-buffers, and feed the ldisc directly due to our 
+        * potentally large buffer size.  Since we used to set low_latency,
+        * this is exactly what the tty layer did anyway :) */
        tty = port->tty;
-       if (urb->actual_length > 1) {
-               for (i = 1; i < urb->actual_length ; ++i) {
-                       /* if we insert more than TTY_FLIPBUF_SIZE characters, we drop them. */
-                       if(tty->flip.count >= TTY_FLIPBUF_SIZE) {
-                               tty_flip_buffer_push(tty);
-                       }
-                       /* this doesn't actually push the data through unless tty->low_latency is set */
-                       tty_insert_flip_char(tty, data[i], 0);
-               }
-               tty_flip_buffer_push(tty);
-       }
+       tty->ldisc.receive_buf(tty, data+1, NULL, urb->actual_length-1);
 
        /* Continue trying to always read  */
        FILL_BULK_URB(port->read_urb, serial->dev, 
@@ -449,4 +474,6 @@ MODULE_LICENSE("GPL");
 
 MODULE_PARM(debug, "i");
 MODULE_PARM_DESC(debug, "Debug enabled or not");
+MODULE_PARM(buffer_size, "i");
+MODULE_PARM_DESC(buffer_size, "Size of the transfer buffers");
 
index 2e101acb2fc50123e39db88772cf0c454db2502c..ef92aa979f843824358013f6d965c4e96f7db78d 100644 (file)
@@ -1537,6 +1537,10 @@ static const struct usb_device_id        products [] = {
        USB_DEVICE (0x0525, 0x1080),    // NetChip ref design
        driver_info:    (unsigned long) &net1080_info,
 },
+{
+       USB_DEVICE (0x06D0, 0x0622),    // Laplink Gold
+       driver_info:    (unsigned long) &net1080_info,
+},
 #endif
 
 #ifdef CONFIG_USB_PL2301
index befc354f702659a00b19795059500fbad1f52ef8..9f8a58578b8c96d28ce84e2c32d2e2385ab05ce1 100644 (file)
@@ -285,13 +285,15 @@ static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs)
                return retval;
 
        /* OK, This is the point of no return */
-#if !defined(__sparc__)
-       set_personality(PER_LINUX);
-#else
+#if defined(__alpha__)
+       SET_AOUT_PERSONALITY(bprm, ex);
+#elif defined(__sparc__)
        set_personality(PER_SUNOS);
 #if !defined(__sparc_v9__)
        memcpy(&current->thread.core_exec, &ex, sizeof(struct exec));
 #endif
+#else
+       set_personality(PER_LINUX);
 #endif
 
        current->mm->end_code = ex.a_text +
index 2f87b14d9869a0648c0962ddef04f549069bce9e..de15221d0d5ea5b28fe3bd3339914a668cbe084e 100644 (file)
@@ -104,8 +104,7 @@ struct char_device *cdget(dev_t dev)
 
 void cdput(struct char_device *cdev)
 {
-       if (atomic_dec_and_test(&cdev->count)) {
-               spin_lock(&cdev_lock);
+       if (atomic_dec_and_lock(&cdev->count, &cdev_lock)) {
                list_del(&cdev->hash);
                spin_unlock(&cdev_lock);
                destroy_cdev(cdev);
index b25dbb434bd13f76e10bb3518e6ab6943ba36026..ee94c388344de3287b9d9b068ae02c95b506d8ba 100644 (file)
               Fixed buffer underrun in <try_modload>.
               Moved down_read() from <search_for_entry_in_dir> to <find_entry>
   v0.119
+    20011029   Richard Gooch <rgooch@atnf.csiro.au>
+              Fixed race in <devfsd_ioctl> when setting event mask.
+    20011103   Richard Gooch <rgooch@atnf.csiro.au>
+              Avoid deadlock in <devfs_follow_link> by using temporary buffer.
+  v0.120
 */
 #include <linux/types.h>
 #include <linux/errno.h>
 #include <asm/bitops.h>
 #include <asm/atomic.h>
 
-#define DEVFS_VERSION            "0.119 (20011009)"
+#define DEVFS_VERSION            "0.120 (20011103)"
 
 #define DEVFS_NAME "devfs"
 
@@ -3029,13 +3034,25 @@ static int devfs_follow_link (struct dentry *dentry, struct nameidata *nd)
 {
     int err;
     struct devfs_entry *de;
+    char *copy;
 
     de = get_devfs_entry_from_vfs_inode (dentry->d_inode, TRUE);
     if (!de) return -ENODEV;
     down_read (&symlink_rwsem);
-    err = de->registered ? vfs_follow_link (nd,
-                                           de->u.symlink.linkname) : -ENODEV;
+    if (!de->registered)
+    {
+       up_read (&symlink_rwsem);
+       return -ENODEV;
+    }
+    copy = kmalloc (de->u.symlink.length + 1, GFP_KERNEL);
+    if (copy) memcpy (copy, de->u.symlink.linkname, de->u.symlink.length + 1);
     up_read (&symlink_rwsem);
+    if (copy)
+    {
+       err = vfs_follow_link (nd, copy);
+       kfree (copy);
+    }
+    else err = -ENOMEM;
     return err;
 }   /*  End Function devfs_follow_link  */
 
@@ -3212,7 +3229,6 @@ static int devfsd_ioctl (struct inode *inode, struct file *file,
 {
     int ival;
     struct fs_info *fs_info = inode->i_sb->u.generic_sbp;
-    static spinlock_t lock = SPIN_LOCK_UNLOCKED;
 
     switch (cmd)
     {
@@ -3226,7 +3242,14 @@ static int devfsd_ioctl (struct inode *inode, struct file *file,
            doesn't matter who gets in first, as long as only one gets it  */
        if (fs_info->devfsd_task == NULL)
        {
+           static spinlock_t lock = SPIN_LOCK_UNLOCKED;
+
            if ( !spin_trylock (&lock) ) return -EBUSY;
+           if (fs_info->devfsd_task != NULL)
+           {   /*  We lost the race...  */
+               spin_unlock (&lock);
+               return -EBUSY;
+           }
            fs_info->devfsd_task = current;
            spin_unlock (&lock);
            fs_info->devfsd_file = file;
index 6d1e642487a0d17c38137cd422a56271f8cdc994..6c36e768a1dd986bd649a581023936818467904f 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -771,7 +771,6 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
            if (!bprm->loader && eh->fh.f_magic == 0x183 &&
                (eh->fh.f_flags & 0x3000) == 0x3000)
            {
-               char * dynloader[] = { "/sbin/loader" };
                struct file * file;
                unsigned long loader;
 
@@ -781,10 +780,14 @@ int search_binary_handler(struct linux_binprm *bprm,struct pt_regs *regs)
 
                loader = PAGE_SIZE*MAX_ARG_PAGES-sizeof(void *);
 
-               file = open_exec(dynloader[0]);
+               file = open_exec("/sbin/loader");
                retval = PTR_ERR(file);
                if (IS_ERR(file))
                        return retval;
+
+               /* Remember if the application is TASO.  */
+               bprm->sh_bang = eh->ah.entry < 0x100000000;
+
                bprm->file = file;
                bprm->loader = loader;
                retval = prepare_binprm(bprm);
index c24021a6d81a1a58c6f2e67c2307be1d2528703a..90e254a9c2f12dcea570260dc58de42e411721c5 100644 (file)
@@ -471,6 +471,8 @@ nfs_xdr_readdirres(struct rpc_rqst *req, u32 *p, struct nfs_readdirres *res)
 
        for (nr = 0; *p++; nr++) {
                entry = p - 1;
+               if (p + 2 > end)
+                       goto short_pkt;
                p++; /* fileid */
                len = ntohl(*p++);
                p += XDR_QUADLEN(len) + 1;      /* name plus cookie */
@@ -479,14 +481,14 @@ nfs_xdr_readdirres(struct rpc_rqst *req, u32 *p, struct nfs_readdirres *res)
                                                len);
                        return -errno_NFSERR_IO;
                }
-               if (p + 2 > end) {
-                       printk(KERN_NOTICE
-                               "NFS: short packet in readdir reply!\n");
-                       entry[0] = entry[1] = 0;
-                       break;
-               }
+               if (p + 2 > end)
+                       goto short_pkt;
        }
        return nr;
+ short_pkt:
+       printk(KERN_NOTICE "NFS: short packet in readdir reply!\n");
+       entry[0] = entry[1] = 0;
+       return nr;
 }
 
 u32 *
index ab1110227c55587ef1a3fb4599ad6fd3d5897b49..1936438a2790b4f51122891a616ef29ab242f738 100644 (file)
@@ -594,6 +594,8 @@ nfs3_xdr_readdirres(struct rpc_rqst *req, u32 *p, struct nfs3_readdirres *res)
        end = (u32 *) ((u8 *) p + iov[1].iov_len);
        for (nr = 0; *p++; nr++) {
                entry = p - 1;
+               if (p + 3 > end)
+                       goto short_pkt;
                p += 2;                         /* inode # */
                len = ntohl(*p++);              /* string length */
                p += XDR_QUADLEN(len) + 2;      /* name + cookie */
@@ -605,10 +607,17 @@ nfs3_xdr_readdirres(struct rpc_rqst *req, u32 *p, struct nfs3_readdirres *res)
 
                if (res->plus) {
                        /* post_op_attr */
-                       if (*p++)
+                       if (p > end)
+                               goto short_pkt;
+                       if (*p++) {
                                p += 21;
+                               if (p > end)
+                                       goto short_pkt;
+                       }
                        /* post_op_fh3 */
                        if (*p++) {
+                               if (p > end)
+                                       goto short_pkt;
                                len = ntohl(*p++);
                                if (len > NFS3_FHSIZE) {
                                        printk(KERN_WARNING "NFS: giant filehandle in "
@@ -619,15 +628,15 @@ nfs3_xdr_readdirres(struct rpc_rqst *req, u32 *p, struct nfs3_readdirres *res)
                        }
                }
 
-               if (p + 2 > end) {
-                       printk(KERN_NOTICE
-                               "NFS: short packet in readdir reply!\n");
-                       /* truncate listing */
-                       entry[0] = entry[1] = 0;
-                       break;
-               }
+               if (p + 2 > end)
+                       goto short_pkt;
        }
 
+       return nr;
+ short_pkt:
+       printk(KERN_NOTICE "NFS: short packet in readdir reply!\n");
+       /* truncate listing */
+       entry[0] = entry[1] = 0;
        return nr;
 }
 
index 5ff3bfc6c75d139c6344251ffd0980fedabfcf0e..eb201792526d737f48ed599c1a1af5507ce061aa 100644 (file)
@@ -19,6 +19,7 @@
 #include "support.h"
 #include "util.h"
 #include <linux/smp_lock.h>
+#include <linux/bitops.h>
 
 static char I30[] = "$I30";
 
index 073b90a998dfbffa5f449a126fd2d60298c4b76a..b0361104b2907fdec25d1e0632d48e3aae528261 100644 (file)
@@ -90,8 +90,16 @@ struct exec
 
 #ifdef __KERNEL__
 
+/* Assume that start addresses below 4G belong to a TASO application.
+   Unfortunately, there is no proper bit in the exec header to check.
+   Worse, we have to notice the start address before swapping to use
+   /sbin/loader, which of course is _not_ a TASO application.  */
+#define SET_AOUT_PERSONALITY(BFPM, EX) \
+       set_personality (BFPM->sh_bang || EX.ah.entry < 0x100000000 \
+                        ? PER_LINUX_32BIT : PER_LINUX)
+
 #define STACK_TOP \
-  ((current->personality==PER_LINUX_32BIT) ? (0x80000000) : (0x00120000000UL))
+  (current->personality & ADDR_LIMIT_32BIT ? 0x80000000 : 0x00120000000UL)
 
 #endif
 
index 1e8f35fe7a461b400e1ebd102192d9428642aa5f..2907967c8c1631cc877254001b7fc8928368648c 100644 (file)
 #define PCA56_CPU              9       /* PCA56 (21164PC)      */
 #define PCA57_CPU              10      /* PCA57 (notyet)       */
 #define EV67_CPU               11      /* EV67 (21264A)        */
+#define EV68CB_CPU             12      /* EV68CB (21264C)      */
+#define EV68AL_CPU             13      /* EV68AL (21264B)      */
+#define EV68CX_CPU             14      /* EV68CX (21264D)      */
+#define EV7_CPU                        15      /* EV7 (21364)          */
+#define EV79_CPU               16      /* EV79 (21364??)       */
+#define EV69_CPU               17      /* EV69 (21264/EV69A)   */
 
 /*
  * DEC system types for Alpha systems.  Found in HWRPB.
index 3f9233305320d3ccdf2889f6312b9a3a020a97b5..2b4f9f06babe396d5e0ef26316aee8f88991ee89 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.atomic.h 1.13 08/21/01 16:07:48 trini
+ * BK Id: SCCS/s.atomic.h 1.15 10/28/01 10:37:22 trini
  */
 /*
  * PowerPC atomic operations
@@ -7,10 +7,11 @@
 
 #ifndef _ASM_PPC_ATOMIC_H_ 
 #define _ASM_PPC_ATOMIC_H_
-#ifdef __KERNEL__
 
 typedef struct { volatile int counter; } atomic_t;
 
+#ifdef __KERNEL__
+
 #define ATOMIC_INIT(i) { (i) }
 
 #define atomic_read(v)         ((v)->counter)
index ae3b25034bed8cd0503891afdc99a48208ba794d..1a5f6094882f857ed41e062aec055731a707b101 100644 (file)
@@ -1,13 +1,13 @@
 /*
- * BK Id: SCCS/s.byteorder.h 1.5 05/17/01 18:14:24 cort
+ * BK Id: SCCS/s.byteorder.h 1.8 10/11/01 13:02:49 trini
  */
 #ifndef _PPC_BYTEORDER_H
 #define _PPC_BYTEORDER_H
 
 #include <asm/types.h>
 
-#ifdef __KERNEL__
 #ifdef __GNUC__
+#ifdef __KERNEL__
 
 extern __inline__ unsigned ld_le16(const volatile unsigned short *addr)
 {
@@ -72,12 +72,14 @@ static __inline__ __const__ __u32 ___arch__swab32(__u32 value)
 #define __arch__swab16s(addr) st_le16(addr,*addr)
 #define __arch__swab32s(addr) st_le32(addr,*addr)
 
-#ifndef __STRICT_ANSI__
-#define __BYTEORDER_HAS_U64__
+#endif /* __KERNEL__ */
+
+#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
+#  define __BYTEORDER_HAS_U64__
+#  define __SWAB_64_THRU_32__
 #endif
 
 #endif /* __GNUC__ */
-#endif /* __KERNEL__ */
 
 #include <linux/byteorder/big_endian.h>
 
index de10a4fdf5ca9d849c0d6ec1c597658a1a0f7169..3a0e34caf6835c172ec3aea0729e49b9bd4c8d65 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.cache.h 1.5 05/17/01 18:14:24 cort
+ * BK Id: SCCS/s.cache.h 1.10 10/18/01 15:02:09 trini
  */
 /*
  * include/asm-ppc/cache.h
 #include <asm/processor.h>
 
 /* bytes per L1 cache line */
-#if !defined(CONFIG_8xx) || defined(CONFIG_8260)
-#if defined(CONFIG_PPC64BRIDGE)
-#define L1_CACHE_BYTES 128
+#if defined(CONFIG_8xx) || defined(CONFIG_403GCX)
+#define        L1_CACHE_LINE_SIZE      16
+#define LG_L1_CACHE_LINE_SIZE  4
+#define MAX_L1_COPY_PREFETCH   1
+#elif defined(CONFIG_PPC64BRIDGE)
+#define L1_CACHE_LINE_SIZE     128
+#define LG_L1_CACHE_LINE_SIZE  7
+#define MAX_L1_COPY_PREFETCH   1
 #else
-#define        L1_CACHE_BYTES  32
-#endif /* PPC64 */
-#else
-#define        L1_CACHE_BYTES  16
-#endif /* !8xx || 8260 */
+#define        L1_CACHE_LINE_SIZE  32
+#define LG_L1_CACHE_LINE_SIZE  5
+#define MAX_L1_COPY_PREFETCH   4
+#endif
+
+#define        L1_CACHE_BYTES L1_CACHE_LINE_SIZE
+#define        SMP_CACHE_BYTES L1_CACHE_BYTES
 
 #define        L1_CACHE_ALIGN(x)       (((x)+(L1_CACHE_BYTES-1))&~(L1_CACHE_BYTES-1))
 #define        L1_CACHE_PAGES          8
 
-#define        SMP_CACHE_BYTES L1_CACHE_BYTES
-
 #ifdef MODULE
 #define __cacheline_aligned __attribute__((__aligned__(L1_CACHE_BYTES)))
 #else
index 0151a2f33f58928e1114e13eddd265492697f5b4..386024c9f28655dc89f4b2b1aa2b5dc70dc8c25b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.fads.h 1.11 08/17/01 15:23:17 paulus
+ * BK Id: SCCS/s.fads.h 1.14 10/26/01 10:14:09 trini
  */
 
 /*
@@ -8,41 +8,33 @@
  *
  * Copyright (c) 1998 Dan Malek (dmalek@jlc.net)
  */
-#ifndef __MACH_FADS_DEFS
-#define __MACH_FADS_DEFS
+#ifdef __KERNEL__
+#ifndef __ASM_FADS_H__
+#define __ASM_FADS_H__
 
-#ifndef __ASSEMBLY__
-/* A Board Information structure that is given to a program when
- * prom starts it up.
- */
-typedef struct bd_info {
-       unsigned int    bi_memstart;    /* Memory start address */
-       unsigned int    bi_memsize;     /* Memory (end) size in bytes */
-       unsigned int    bi_intfreq;     /* Internal Freq, in Hz */
-       unsigned int    bi_busfreq;     /* Bus Freq, in Hz */
-       unsigned char   bi_enetaddr[6];
-       unsigned int    bi_baudrate;
-} bd_t;
+#include <linux/config.h>
 
-extern bd_t m8xx_board_info;
+#include <asm/ppcboot.h>
 
 /* Memory map is configured by the PROM startup.
  * I tried to follow the FADS manual, although the startup PROM
  * dictates this and we simply have to move some of the physical
  * addresses for Linux.
  */
-#define BCSR_ADDR              ((uint)0xfe000000)
+#define BCSR_ADDR              ((uint)0xff010000)
 #define BCSR_SIZE              ((uint)(64 * 1024))
-#define        BCSR0                   ((uint)0xfe000000)
-#define        BCSR1                   ((uint)0xfe000004)
-#define        BCSR2                   ((uint)0xfe000008)
-#define        BCSR3                   ((uint)0xfe00000c)
-#define        BCSR4                   ((uint)0xfe000010)
-#define IMAP_ADDR              ((uint)0xf0000000)
+#define        BCSR0                   ((uint)0xff010000)
+#define        BCSR1                   ((uint)0xff010004)
+#define        BCSR2                   ((uint)0xff010008)
+#define        BCSR3                   ((uint)0xff01000c)
+#define        BCSR4                   ((uint)0xff010010)
+
+#define IMAP_ADDR              ((uint)0xff000000)
 #define IMAP_SIZE              ((uint)(64 * 1024))
-#define PCMCIA_MEM_ADDR                ((uint)0x04000000)
+
+#define PCMCIA_MEM_ADDR                ((uint)0xff020000)
 #define PCMCIA_MEM_SIZE                ((uint)(64 * 1024))
+
 /* Bits of interest in the BCSRs.
  */
 #define BCSR1_ETHEN            ((uint)0x20000000)
@@ -55,8 +47,7 @@ extern bd_t m8xx_board_info;
 #define BCSR4_FETHCFG1         ((uint)0x00400000)      /* PHY autoneg mode */
 #define BCSR4_FETHFDE          ((uint)0x02000000)      /* PHY FDX advertise */
 #define BCSR4_FETHRST          ((uint)0x00200000)      /* PHY Reset */
-#endif /* !__ASSEMBLY__ */
+
 /* Interrupt level assignments.
  */
 #define FEC_INTERRUPT  SIU_LEVEL1      /* FEC interrupt */
@@ -65,5 +56,6 @@ extern bd_t m8xx_board_info;
 /* We don't use the 8259.
  */
 #define NR_8259_INTS   0
-#endif
+
+#endif /* __ASM_FADS_H__ */
+#endif /* __KERNEL__ */
index 1d6f235a92662624c959c19ca352d732d3a9d1f6..bb9fbc1a51eee332a397cdcbf45ff102f3521629 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.fcntl.h 1.5 05/17/01 18:14:24 cort
+ * BK Id: SCCS/s.fcntl.h 1.8 09/19/01 23:06:01 paulus
  */
 #ifndef _PPC_FCNTL_H
 #define _PPC_FCNTL_H
@@ -22,7 +22,7 @@
 #define O_DIRECTORY      040000        /* must be a directory */
 #define O_NOFOLLOW      0100000        /* don't follow links */
 #define O_LARGEFILE     0200000
-#define O_DIRECT       0400000 /* direct disk access hint - currently ignored */
+#define O_DIRECT       0400000 /* direct disk access hint */
 
 #define F_DUPFD                0       /* dup */
 #define F_GETFD                1       /* get close_on_exec */
index af5bfadc57f8c915fa9aed92e3190be6fe444f67..a5cba1f1bb991aede9d24cb2d4726f29d12ceef5 100644 (file)
@@ -1,11 +1,12 @@
 /*
- * BK Id: SCCS/s.io.h 1.11 08/28/01 15:48:26 paulus
+ * BK Id: SCCS/s.io.h 1.14 10/16/01 15:58:42 trini
  */
 #ifdef __KERNEL__
 #ifndef _PPC_IO_H
 #define _PPC_IO_H
 
 #include <linux/config.h>
+#include <linux/types.h>
 #include <asm/page.h>
 #include <asm/byteorder.h>
 
 #include <asm/mpc8xx.h>
 #elif defined(CONFIG_8260)
 #include <asm/mpc8260.h>
-#else /* 4xx/8xx/8260 */
-#ifdef CONFIG_APUS
+#elif defined(CONFIG_APUS)
 #define _IO_BASE 0
 #define _ISA_MEM_BASE 0
 #define PCI_DRAM_OFFSET 0
-#else /* CONFIG_APUS */
+#else /* Everyone else */
 extern unsigned long isa_io_base;
 extern unsigned long isa_mem_base;
 extern unsigned long pci_dram_offset;
 #define _IO_BASE       isa_io_base
 #define _ISA_MEM_BASE  isa_mem_base
 #define PCI_DRAM_OFFSET        pci_dram_offset
-#endif /* CONFIG_APUS */
-#endif
+#endif /* Platform-dependant I/O */
 
 #define readb(addr) in_8((volatile u8 *)(addr))
 #define writeb(b,addr) out_8((volatile u8 *)(addr), (b))
@@ -89,16 +88,20 @@ extern __inline__ unsigned int name(unsigned int port)      \
 {                                                      \
        unsigned int x;                                 \
        __asm__ __volatile__(                           \
-               op " %0,0,%1\n"                         \
-               "1:     sync\n"                         \
-               "2:\n"                                  \
+                       op "    %0,0,%1\n"              \
+               "1:     twi     0,%0,0\n"               \
+               "2:     isync\n"                        \
+               "3:     nop\n"                          \
+               "4:\n"                                  \
                ".section .fixup,\"ax\"\n"              \
-               "3:     li      %0,-1\n"                \
-               "       b       2b\n"                   \
+               "5:     li      %0,-1\n"                \
+               "       b       4b\n"                   \
                ".previous\n"                           \
                ".section __ex_table,\"a\"\n"           \
                "       .align  2\n"                    \
-               "       .long   1b,3b\n"                \
+               "       .long   1b,5b\n"                \
+               "       .long   2b,5b\n"                \
+               "       .long   3b,5b\n"                \
                ".previous"                             \
                : "=&r" (x)                             \
                : "r" (port + _IO_BASE));               \
index b5142e4cbd23711e86c02d3ee23d1d7776f0550d..37c48cbc1c384deae1275c5691341f04d43d398f 100644 (file)
@@ -1,77 +1,46 @@
 /*
- * BK Id: SCCS/s.ivms8.h 1.6 08/17/01 15:23:17 paulus
+ * BK Id: SCCS/s.ivms8.h 1.8 10/26/01 10:14:09 trini
  */
 /*
- * A collection of structures, addresses, and values associated with
- * Speech Design Integrated Voicemail Systems (IVMS8) boards.
+ * Speech Design Integrated Voicemail board specific definitions
+ * - IVMS8  (small,  8 channels)
+ * - IVML24 (large, 24 channels)
  *
- * Copyright (c) 2000 Wolfgang Denk (wd@denx.de)
+ * In 2.5 when we force a new bootloader, we can merge these two, and add
+ * in _MACH_'s for them. -- Tom
+ *
+ * Copyright (c) 2000, 2001 Wolfgang Denk (wd@denx.de)
  */
-#ifndef __MACH_IVMS8_DEFS
-#define __MACH_IVMS8_DEFS
-
-#ifndef __ASSEMBLY__
-
-typedef        void (interrupt_handler_t)(void *);
 
-typedef struct serial_io {
-       int     (*getc)(void);
-       int     (*tstc)(void);
-       void    (*putc)(const char c);
-       void    (*printf)(const char *fmt, ...);
-} serial_io_t;
+#ifdef __KERNEL__
+#ifndef __ASM_IVMS8_H__
+#define __ASM_IVMS8_H__
 
-typedef struct intr_util {
-       void    (*install_hdlr)(int, interrupt_handler_t *, void *);
-       void    (*free_hdlr)(int);
-} intr_util_t;
-
-
-/* A Board Information structure that is given to a program when
- * ppcboot starts it up.
- */
-typedef struct bd_info {
-        unsigned long  bi_memstart;    /* start of  DRAM memory                */
-        unsigned long  bi_memsize;     /* size  of  DRAM memory in bytes       */
-        unsigned long  bi_flashstart;  /* start of FLASH memory                */
-        unsigned long  bi_flashsize;   /* size  of FLASH memory                */
-        unsigned long  bi_flashoffset; /* reserved area for startup monitor    */
-        unsigned long  bi_sramstart;   /* start of  SRAM memory                */
-        unsigned long  bi_sramsize;    /* size  of  SRAM memory                */
-        unsigned long  bi_immr_base;   /* base of IMMR register                */
-        unsigned long  bi_bootflags;   /* boot / reboot flag (for LynxOS)      */
-        unsigned long  bi_ip_addr;     /* IP Address                           */
-        unsigned char  bi_enetaddr[6]; /* Ethernet adress                      */
-        unsigned char  bi_reserved[2]; /* -- just for alignment --             */
-        unsigned long  bi_intfreq;     /* Internal Freq, in MHz                */
-        unsigned long  bi_busfreq;     /* Bus Freq, in MHz                     */
-        unsigned long  bi_baudrate;    /* Console Baudrate                     */
-        serial_io_t    bi_serial_io;   /* Addr of monitor fnc for Console I/O  */
-        intr_util_t    bi_interrupt;   /* Addr of monitor fnc for Interrupts   */
-} bd_t;
+#include <linux/config.h>
 
-#endif /* __ASSEMBLY__ */
+#include <asm/ppcboot.h>
 
-#define        IVMS_IMMR_BASE  0xFFF00000      /* phys. addr of IMMR                   */
-#define        IVMS_IMAP_SIZE  (64 * 1024)     /* size of mapped area                  */
+#define IVMS_IMMR_BASE 0xFFF00000      /* phys. addr of IMMR */
+#define IVMS_IMAP_SIZE (64 * 1024)     /* size of mapped area */
 
-#define        IMAP_ADDR       IVMS_IMMR_BASE  /* physical base address of IMMR area   */
-#define IMAP_SIZE      IVMS_IMAP_SIZE  /* mapped size of IMMR area             */
+#define IMAP_ADDR      IVMS_IMMR_BASE  /* phys. base address of IMMR area */
+#define IMAP_SIZE      IVMS_IMAP_SIZE  /* mapped size of IMMR area */
 
 #define PCMCIA_MEM_ADDR        ((uint)0xFE100000)
 #define PCMCIA_MEM_SIZE        ((uint)(64 * 1024))
 
-#define        FEC_INTERRUPT    9              /* = SIU_LEVEL4                         */
-#define IDE0_INTERRUPT 10              /* = IRQ5                               */
-#define        CPM_INTERRUPT   11              /* = SIU_LEVEL5 (was: SIU_LEVEL2)       */
-#define PHY_INTERRUPT  12              /* = IRQ6                               */
+#define FEC_INTERRUPT   9              /* = SIU_LEVEL4 */
+#define IDE0_INTERRUPT 10              /* = IRQ5 */
+#define CPM_INTERRUPT  11              /* = SIU_LEVEL5 (was: SIU_LEVEL2) */
+#define PHY_INTERRUPT  12              /* = IRQ6 */
 
-#define        MAX_HWIFS       1       /* overwrite default in include/asm-ppc/ide.h   */
+/* override the default number of IDE hardware interfaces */
+#define MAX_HWIFS      1
 
 /*
  * Definitions for IDE0 Interface
  */
-#define IDE0_BASE_OFFSET               0x0000  /* Offset in PCMCIA memory      */
+#define IDE0_BASE_OFFSET               0x0000  /* Offset in PCMCIA memory */
 #define IDE0_DATA_REG_OFFSET           0x0000
 #define IDE0_ERROR_REG_OFFSET          0x0081
 #define IDE0_NSECTOR_REG_OFFSET                0x0082
@@ -81,10 +50,10 @@ typedef struct bd_info {
 #define IDE0_SELECT_REG_OFFSET         0x0086
 #define IDE0_STATUS_REG_OFFSET         0x0087
 #define IDE0_CONTROL_REG_OFFSET                0x0106
-#define IDE0_IRQ_REG_OFFSET            0x000A  /* not used                     */
+#define IDE0_IRQ_REG_OFFSET            0x000A  /* not used */
 
-/* We don't use the 8259.
-*/
+/* We don't use the 8259. */
 #define NR_8259_INTS   0
 
-#endif /* __MACH_IVMS8_DEFS */
+#endif /* __ASM_IVMS8_H__ */
+#endif /* __KERNEL__ */
index 1bf6d160663c8be3bccbaf179a6d22e305e973b7..762f35abb5eff4c8e439a53711358cd0f6b64191 100644 (file)
@@ -1,27 +1,83 @@
 /*
- * BK Id: SCCS/s.m48t35.h 1.5 05/17/01 18:14:25 cort
+ * BK Id: SCCS/s.m48t35.h 1.8 10/16/01 15:58:42 trini
  */
 /*
  *  Registers for the SGS-Thomson M48T35 Timekeeper RAM chip
+ *  and
+ *  Registers for the SGS-Thomson M48T37 Timekeeper RAM chip
+ *  The 37 is the 35 plus alarm and century thus the offsets
+ *  are shifted by the extra registers.
  */
 
 #ifndef __PPC_M48T35_H
 #define __PPC_M48T35_H
 
 /* RTC offsets */
-#define M48T35_RTC_CONTROL  0
-#define M48T35_RTC_SECONDS  1
-#define M48T35_RTC_MINUTES  2
-#define M48T35_RTC_HOURS    3
-#define M48T35_RTC_DAY      4
-#define M48T35_RTC_DOM      5
-#define M48T35_RTC_MONTH    6
-#define M48T35_RTC_YEAR     7
+#define M48T35_RTC_FLAGS       (-8)    /* the negative regs are really T37 only */ 
+#define M48T35_RTC_CENTURY     (-7)
+#define M48T35_RTC_AL_SEC      (-6)    
+#define M48T35_RTC_AL_MIN      (-5)    
+#define M48T35_RTC_AL_HRS      (-4)    
+#define M48T35_RTC_AL_DOM      (-3)    
+#define M48T35_RTC_INTERRUPT   (-2)
+#define M48T35_RTC_WATCHDOG    (-1)
+#define M48T35_RTC_CONTROL     0       /* T35 starts here */ 
+#define M48T35_RTC_SECONDS     1
+#define M48T35_RTC_MINUTES     2
+#define M48T35_RTC_HOURS       3
+#define M48T35_RTC_DAY         4
+#define M48T35_RTC_DOM         5
+#define M48T35_RTC_MONTH       6
+#define M48T35_RTC_YEAR                7
 
+/* this way help us know which bits go with which regs */ 
+#define M48T35_RTC_FLAGS_BL           0x10
+#define M48T35_RTC_FLAGS_AF           0x40
+#define M48T35_RTC_FLAGS_WDF          0x80
+
+#define M48T35_RTC_INTERRUPT_AFE       0x80
+#define M48T35_RTC_INTERRUPT_ABE       0x20
+#define M48T35_RTC_INTERRUPT_ALL       (M48T35_RTC_INTERRUPT_AFE|M48T35_RTC_INTERRUPT_ABE)
+
+#define M48T35_RTC_WATCHDOG_RB         0x03
+#define M48T35_RTC_WATCHDOG_BMB        0x7c
+#define M48T35_RTC_WATCHDOG_WDS        0x80
+#define M48T35_RTC_WATCHDOG_ALL        (M48T35_RTC_WATCHDOG_RB|M48T35_RTC_WATCHDOG_BMB|M48T35_RTC_W
+
+#define M48T35_RTC_CONTROL_WRITE       0x80
+#define M48T35_RTC_CONTROL_READ        0x40
+#define M48T35_RTC_CONTROL_CAL_SIGN    0x20    
+#define M48T35_RTC_CONTROL_CAL_VALUE   0x1f
+#define M48T35_RTC_CONTROL_LOCKED      (M48T35_RTC_WRITE|M48T35_RTC_READ)
+#define M48T35_RTC_CONTROL_CALIBRATION (M48T35_RTC_CONTROL_CAL_SIGN|M48T35_RTC_CONTROL_CAL_VALUE)
+
+#define M48T35_RTC_SECONDS_SEC_1       0x0f
+#define M48T35_RTC_SECONDS_SEC_10      0x70    
+#define M48T35_RTC_SECONDS_ST          0x80
+#define M48T35_RTC_SECONDS_SEC_ALL     (M48T35_RTC_SECONDS_SEC_1|M48T35_RTC_SECONDS_SEC_10)
+
+#define M48T35_RTC_MINUTES_MIN_1       0x0f
+#define M48T35_RTC_MINUTES_MIN_10      0x70    
+#define M48T35_RTC_MINUTES_MIN_ALL     (M48T35_RTC_MINUTES_MIN_1|M48T35_RTC_MINUTES_MIN_10)
+
+#define M48T35_RTC_HOURS_HRS_1         0x0f
+#define M48T35_RTC_HOURS_HRS_10        0x30
+#define M48T35_RTC_HOURS_HRS_ALL       (M48T35_RTC_HOURS_HRS_1|M48T35_RTC_HOURS_HRS_10)
+
+#define M48T35_RTC_DAY_DAY_1           0x03
+#define M48T35_RTC_DAY_FT              0x40
+
+#define M48T35_RTC_ALARM_OFF           0x00
+#define M48T35_RTC_WATCHDOG_OFF        0x00
+
+
+/* legacy */
 #define M48T35_RTC_SET      0x80
 #define M48T35_RTC_STOPPED  0x80
 #define M48T35_RTC_READ     0x40
 
+
+/* read/write conversions */
 #ifndef BCD_TO_BIN
 #define BCD_TO_BIN(x)   ((x)=((x)&15) + ((x)>>4)*10)
 #endif
index 5f3cb66dd81cd8ef9665eab38cada196137df112..1515807a276f5f6b67b8ef697e47a19f7ce11f91 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.machdep.h 1.21 08/29/01 10:07:29 paulus
+ * BK Id: SCCS/s.machdep.h 1.23 10/18/01 11:16:28 trini
  */
 #ifdef __KERNEL__
 #ifndef _PPC_MACHDEP_H
@@ -61,9 +61,7 @@ struct machdep_calls {
        char            (*kbd_unexpected_up)(unsigned char keycode);
        void            (*kbd_leds)(unsigned char leds);
        void            (*kbd_init_hw)(void);
-#ifdef CONFIG_MAGIC_SYSRQ
        unsigned char   *ppc_kbd_sysrq_xlate;
-#endif
 
        /*
         * optional PCI "hooks"
index b0b4a98bc50bc77bef515a3025c4cb44dc1e6b19..4006d56fb3a00b580d163e0fff7d8015f856b7d7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.mpc8xx.h 1.10 05/17/01 18:14:25 cort
+ * BK Id: SCCS/s.mpc8xx.h 1.15 11/01/01 12:48:53 trini
  */
 
 /* This is the single file included by all MPC8xx build options.
@@ -36,7 +36,7 @@
 #include <asm/rpxclassic.h>
 #endif
 
-#if (defined(CONFIG_TQM860) || defined(CONFIG_TQM8xxL))
+#if defined(CONFIG_TQM8xxL)
 #include <asm/tqm8xx.h>
 #endif
 
@@ -44,7 +44,7 @@
 #include <asm/spd8xx.h>
 #endif
 
-#if defined(CONFIG_IVMS8)
+#if defined(CONFIG_IVMS8) || defined(CONFIG_IVML24)
 #include <asm/ivms8.h>
 #endif
 
index 1bea6f4f20073881bac55357cc95b2d2b8cd30d4..713978ef2688fe96d0291ab26a5965fa8ba5da30 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.oak.h 1.10 09/14/01 17:37:56 trini
+ * BK Id: SCCS/s.oak.h 1.12 10/11/01 13:05:07 trini
  */
 /*
  *
@@ -18,8 +18,6 @@
 #ifndef        __OAK_H__
 #define        __OAK_H__
 
-#include <asm/irq.h>
-
 #define _IO_BASE       0
 #define _ISA_MEM_BASE  0
 #define PCI_DRAM_OFFSET        0
 
 /* Interrupt assignments fixed by the hardware implementation */
 
-#define        PPC403SPU_RX_INT        AIC_INT4
-#define        PPC403SPU_TX_INT        AIC_INT5
-#define        OAKNET_INT              AIC_INT27
-#define        OAKSERIAL_INT           AIC_INT28
+/* This is annoying kbuild-2.4 problem. -- Tom */
+
+#define        PPC403SPU_RX_INT        4       /* AIC_INT4 */
+#define        PPC403SPU_TX_INT        5       /* AIC_INT5 */
+#define        OAKNET_INT              27      /* AIC_INT27 */
+#define        OAKSERIAL_INT           28      /* AIC_INT28 */
 
 #ifndef __ASSEMBLY__
 /*
index 94f898f6da181b05eb5ccff47200bad3a0d49637..81dbec806dcf7a1c24207c62f1fbb883f1bd4c06 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.pgtable.h 1.12 06/28/01 15:50:17 paulus
+ * BK Id: SCCS/s.pgtable.h 1.15 09/22/01 11:26:52 trini
  */
 #ifdef __KERNEL__
 #ifndef _PPC_PGTABLE_H
@@ -223,7 +223,8 @@ extern unsigned long ioremap_bot, ioremap_base;
 #define _PAGE_RW       0x0040  /* software: user write access allowed */
 #define _PAGE_ACCESSED 0x0080  /* software: page referenced */
 
-#define _PAGE_DIRTY    0x0100  /* C: page changed (write protect) */
+#define _PAGE_HWWRITE  0x0100  /* h/w write enable: never set in Linux PTE */
+#define _PAGE_DIRTY    0x0200  /* software: page changed */
 #define _PAGE_USER     0x0800  /* One of the PP bits, the other is USER&~RW */
 
 #else /* CONFIG_6xx */
@@ -241,12 +242,35 @@ extern unsigned long ioremap_bot, ioremap_base;
 #define _PAGE_RW       0x400   /* software: user write access allowed */
 #endif
 
+/* The non-standard PowerPC MMUs, which includes the 4xx and 8xx (and
+ * mabe 603e) have TLB miss handlers that unconditionally set the
+ * _PAGE_ACCESSED flag as a performance optimization.  This causes
+ * problems for the page_none() macro, just like the HASHPTE flag does
+ * for the standard PowerPC MMUs.  Depending upon the MMU configuration,
+ * either HASHPTE or ACCESSED will have to be masked to give us a
+ * proper pte_none() condition.
+ */
 #ifndef _PAGE_HASHPTE
 #define _PAGE_HASHPTE  0
+#define _PTE_NONE_MASK _PAGE_ACCESSED
+#else
+#define _PTE_NONE_MASK _PAGE_HASHPTE
 #endif
 #ifndef _PAGE_SHARED
 #define _PAGE_SHARED   0
 #endif
+#ifndef _PAGE_HWWRITE
+#define _PAGE_HWWRITE  0
+#endif
+
+/* We can't use _PAGE_HWWRITE on any SMP due to the lack of ability
+ * to atomically manage _PAGE_HWWRITE and it's coordination flags,
+ * _PAGE_DIRTY or _PAGE_RW.  The SMP systems must manage HWWRITE
+ * or its logical equivalent in the MMU management software.
+ */
+#if CONFIG_SMP && _PAGE_HWWRITE
+#error "You can't configure SMP and HWWRITE"
+#endif
 
 #define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY)
 
@@ -308,7 +332,7 @@ extern unsigned long empty_zero_page[1024];
 
 #endif /* __ASSEMBLY__ */
 
-#define pte_none(pte)          ((pte_val(pte) & ~_PAGE_HASHPTE) == 0)
+#define pte_none(pte)          ((pte_val(pte) & ~_PTE_NONE_MASK) == 0)
 #define pte_present(pte)       (pte_val(pte) & _PAGE_PRESENT)
 #define pte_clear(ptep)                do { set_pte((ptep), __pte(0)); } while (0)
 
@@ -353,11 +377,11 @@ static inline void pte_cache(pte_t pte)         { pte_val(pte) &= ~_PAGE_NO_CACH
 static inline pte_t pte_rdprotect(pte_t pte) {
        pte_val(pte) &= ~_PAGE_USER; return pte; }
 static inline pte_t pte_wrprotect(pte_t pte) {
-       pte_val(pte) &= ~_PAGE_RW; return pte; }
+       pte_val(pte) &= ~(_PAGE_RW | _PAGE_HWWRITE); return pte; }
 static inline pte_t pte_exprotect(pte_t pte) {
        pte_val(pte) &= ~_PAGE_EXEC; return pte; }
 static inline pte_t pte_mkclean(pte_t pte) {
-       pte_val(pte) &= ~_PAGE_DIRTY; return pte; }
+       pte_val(pte) &= ~(_PAGE_DIRTY | _PAGE_HWWRITE); return pte; }
 static inline pte_t pte_mkold(pte_t pte) {
        pte_val(pte) &= ~_PAGE_ACCESSED; return pte; }
 
@@ -433,7 +457,7 @@ static inline int ptep_test_and_clear_young(pte_t *ptep)
 
 static inline int ptep_test_and_clear_dirty(pte_t *ptep)
 {
-       return (pte_update(ptep, _PAGE_DIRTY, 0) & _PAGE_DIRTY) != 0;
+       return (pte_update(ptep, (_PAGE_DIRTY | _PAGE_HWWRITE), 0) & _PAGE_DIRTY) != 0;
 }
 
 static inline pte_t ptep_get_and_clear(pte_t *ptep)
@@ -443,7 +467,7 @@ static inline pte_t ptep_get_and_clear(pte_t *ptep)
 
 static inline void ptep_set_wrprotect(pte_t *ptep)
 {
-       pte_update(ptep, _PAGE_RW, 0);
+       pte_update(ptep, (_PAGE_RW | _PAGE_HWWRITE), 0);
 }
 
 static inline void ptep_mkdirty(pte_t *ptep)
index 26e9d6cfa4656df9b005ffaff877b2d9f4db77eb..35ba83d898ac842722c8ebade8387c560a5f7308 100644 (file)
@@ -18,8 +18,8 @@
  * MA 02111-1307 USA
  */
 
-#ifndef _PPCBOOT_H_
-#define _PPCBOOT_H_    1
+#ifndef __ASM_PPCBOOT_H__
+#define __ASM_PPCBOOT_H__
 
 /*
  * Board information passed to kernel from PPCBoot
@@ -28,7 +28,6 @@
  */
 
 #ifndef __ASSEMBLY__
-
 #include <linux/types.h>
 
 typedef void (interrupt_handler_t)(void *);
@@ -46,48 +45,47 @@ typedef struct monitor_functions {
 } mon_fnc_t;
 
 typedef struct bd_info {
-       unsigned long   bi_memstart;    /* start of  DRAM memory                */
-       unsigned long   bi_memsize;     /* size  of  DRAM memory in bytes       */
-       unsigned long   bi_flashstart;  /* start of FLASH memory                */
-       unsigned long   bi_flashsize;   /* size  of FLASH memory                */
-       unsigned long   bi_flashoffset; /* reserved area for startup monitor    */
-       unsigned long   bi_sramstart;   /* start of  SRAM memory                */
-       unsigned long   bi_sramsize;    /* size  of  SRAM memory                */
+       unsigned long   bi_memstart;    /* start of DRAM memory */
+       unsigned long   bi_memsize;     /* size  of DRAM memory in bytes */
+       unsigned long   bi_flashstart;  /* start of FLASH memory */
+       unsigned long   bi_flashsize;   /* size  of FLASH memory */
+       unsigned long   bi_flashoffset; /* reserved area for startup monitor */
+       unsigned long   bi_sramstart;   /* start of SRAM memory */
+       unsigned long   bi_sramsize;    /* size  of SRAM memory */
 #if defined(CONFIG_8xx) || defined(CONFIG_8260)
-       unsigned long   bi_immr_base;   /* base of IMMR register                */
+       unsigned long   bi_immr_base;   /* base of IMMR register */
 #endif
-       unsigned long   bi_bootflags;   /* boot / reboot flag (for LynxOS)      */
-       unsigned long   bi_ip_addr;     /* IP Address                           */
-       unsigned char   bi_enetaddr[6]; /* Ethernet adress                      */
-       unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps               */
-       unsigned long   bi_intfreq;     /* Internal Freq, in MHz                */
-       unsigned long   bi_busfreq;     /* Bus Freq, in MHz                     */
+       unsigned long   bi_bootflags;   /* boot / reboot flag (for LynxOS) */
+       unsigned long   bi_ip_addr;     /* IP Address */
+       unsigned char   bi_enetaddr[6]; /* Ethernet adress */
+       unsigned short  bi_ethspeed;    /* Ethernet speed in Mbps */
+       unsigned long   bi_intfreq;     /* Internal Freq, in MHz */
+       unsigned long   bi_busfreq;     /* Bus Freq, in MHz */
 #if defined(CONFIG_8260)
-       unsigned long   bi_cpmfreq;     /* CPM_CLK Freq, in MHz                 */
-       unsigned long   bi_brgfreq;     /* BRG_CLK Freq, in MHz                 */
-       unsigned long   bi_sccfreq;     /* SCC_CLK Freq, in MHz                 */
-       unsigned long   bi_vco;         /* VCO Out from PLL, in MHz             */
+       unsigned long   bi_cpmfreq;     /* CPM_CLK Freq, in MHz */
+       unsigned long   bi_brgfreq;     /* BRG_CLK Freq, in MHz */
+       unsigned long   bi_sccfreq;     /* SCC_CLK Freq, in MHz */
+       unsigned long   bi_vco;         /* VCO Out from PLL, in MHz */
 #endif
-       unsigned long   bi_baudrate;    /* Console Baudrate                     */
+       unsigned long   bi_baudrate;    /* Console Baudrate */
 #if defined(CONFIG_405GP)
-       unsigned char   bi_s_version[4];  /* Version of this structure          */
-       unsigned char   bi_r_version[32]; /* Version of the ROM (IBM)           */
-       unsigned int    bi_procfreq;    /* CPU (Internal) Freq, in Hz           */
+       unsigned char   bi_s_version[4];        /* Version of this structure */
+       unsigned char   bi_r_version[32];       /* Version of the ROM (IBM) */
+       unsigned int    bi_procfreq;    /* CPU (Internal) Freq, in Hz */
        unsigned int    bi_plb_busfreq; /* PLB Bus speed, in Hz */
        unsigned int    bi_pci_busfreq; /* PCI Bus speed, in Hz */
-       unsigned char   bi_pci_enetaddr[6];     /* PCI Ethernet MAC address     */
+       unsigned char   bi_pci_enetaddr[6];     /* PCI Ethernet MAC address */
 #endif
 #if defined(CONFIG_HYMOD)
-       hymod_conf_t    bi_hymod_conf;  /* hymod configuration information      */
+       hymod_conf_t    bi_hymod_conf;  /* hymod configuration information */
 #endif
 #if defined(CONFIG_EVB64260)
        /* the board has three onboard ethernet ports */
-       unsigned char   bi_enet1addr[6];
-       unsigned char   bi_enet2addr[6];
+       unsigned char   bi_enet1addr[6];
+       unsigned char   bi_enet2addr[6];
 #endif
-       mon_fnc_t       *bi_mon_fnc;    /* Pointer to monitor functions         */
+       mon_fnc_t       *bi_mon_fnc;    /* Pointer to monitor functions */
 } bd_t;
 
 #endif /* __ASSEMBLY__ */
-
-#endif /* _PPCBOOT_H_ */
+#endif /* __ASM_PPCBOOT_H__ */
index 836349addf275dbb096ff87b77c4d0f56ff2950f..f130fba59516e7de8cf730228c418f82e0c67337 100644 (file)
@@ -1,11 +1,14 @@
 /*
- * BK Id: SCCS/s.serial.h 1.12 05/17/01 18:14:25 cort
+ * BK Id: SCCS/s.serial.h 1.15 10/23/01 08:09:35 trini
  */
 /*
  * include/asm-ppc/serial.h
  */
 
 #ifdef __KERNEL__
+#ifndef __ASM_SERIAL_H__
+#define __ASM_SERIAL_H__
+
 #include <linux/config.h>
 
 #ifdef CONFIG_GEMINI
        MCA_SERIAL_PORT_DFNS
 
 #endif /* !CONFIG_GEMINI and others */
+#endif /* __ASM_SERIAL_H__ */
 #endif /* __KERNEL__ */
index e9ee354cadc2a9efb567983ed70dbb5f7711397e..0a7c85f91b2e18a68e8d87661e9927041dd7dc46 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.smplock.h 1.7 05/17/01 18:14:25 cort
+ * BK Id: SCCS/s.smplock.h 1.10 10/23/01 08:09:35 trini
  */
 /*
  * <asm/smplock.h>
@@ -7,6 +7,9 @@
  * Default SMP lock implementation
  */
 #ifdef __KERNEL__
+#ifndef __ASM_SMPLOCK_H__
+#define __ASM_SMPLOCK_H__
+
 #include <linux/interrupt.h>
 #include <linux/spinlock.h>
 
@@ -53,4 +56,5 @@ static __inline__ void unlock_kernel(void)
        if (--current->lock_depth < 0)
                spin_unlock(&kernel_flag);
 }
+#endif /* __ASM_SMPLOCK_H__ */
 #endif /* __KERNEL__ */
index c8c3c0dd79ed175b351746a807cc5ee5ce38e0ad..b6c93bdfd10fb8186ce970ee8faaac604c4351e7 100644 (file)
@@ -1,76 +1,40 @@
 /*
- * BK Id: SCCS/s.spd8xx.h 1.6 09/14/01 17:37:56 trini
+ * BK Id: SCCS/s.spd8xx.h 1.8 10/27/01 13:39:41 trini
  */
 /*
- * A collection of structures, addresses, and values associated with
- * Speech Design SPD8xxTS boards.
- *
- * Copyright (c) 2000 Wolfgang Denk (wd@denx.de)
+ * Speech Design SPD8xxTS board specific definitions
+ * 
+ * Copyright (c) 2000,2001 Wolfgang Denk (wd@denx.de)
  */
-#ifndef __MACH_SPD8xx_DEFS
-#define __MACH_SPD8xx_DEFS
 
-#ifndef __ASSEMBLY__
+#ifdef __KERNEL__
+#ifndef __ASM_SPD8XX_H__
+#define __ASM_SPD8XX_H__
 
-typedef        void (interrupt_handler_t)(void *);
+#include <linux/config.h>
+#include <asm/ppcboot.h>
 
-typedef struct serial_io {
-       int     (*getc)(void);
-       int     (*tstc)(void);
-       void    (*putc)(const char c);
-       void    (*printf)(const char *fmt, ...);
-} serial_io_t;
+#define SPD_IMMR_BASE  0xFFF00000      /* phys. addr of IMMR */
+#define SPD_IMAP_SIZE  (64 * 1024)     /* size of mapped area */
 
-typedef struct intr_util {
-       void    (*install_hdlr)(int, interrupt_handler_t *, void *);
-       void    (*free_hdlr)(int);
-} intr_util_t;
-
-
-/* A Board Information structure that is given to a program when
- * ppcboot starts it up.
- */
-typedef struct bd_info {
-        unsigned long  bi_memstart;    /* start of  DRAM memory                */
-        unsigned long  bi_memsize;     /* size  of  DRAM memory in bytes       */
-        unsigned long  bi_flashstart;  /* start of FLASH memory                */
-        unsigned long  bi_flashsize;   /* size  of FLASH memory                */
-        unsigned long  bi_flashoffset; /* reserved area for startup monitor    */
-        unsigned long  bi_sramstart;   /* start of  SRAM memory                */
-        unsigned long  bi_sramsize;    /* size  of  SRAM memory                */
-        unsigned long  bi_immr_base;   /* base of IMMR register                */
-        unsigned long  bi_bootflags;   /* boot / reboot flag (for LynxOS)      */
-        unsigned long  bi_ip_addr;     /* IP Address                           */
-        unsigned char  bi_enetaddr[6]; /* Ethernet adress                      */
-        unsigned char  bi_reserved[2]; /* -- just for alignment --             */
-        unsigned long  bi_intfreq;     /* Internal Freq, in MHz                */
-        unsigned long  bi_busfreq;     /* Bus Freq, in MHz                     */
-        unsigned long  bi_baudrate;    /* Console Baudrate                     */
-        serial_io_t    bi_serial_io;   /* Addr of monitor fnc for Console I/O  */
-        intr_util_t    bi_interrupt;   /* Addr of monitor fnc for Interrupts   */
-} bd_t;
-
-#endif /* __ASSEMBLY__ */
-
-#define        SPD_IMMR_BASE   0xFFF00000      /* phys. addr of IMMR                   */
-#define        SPD_IMAP_SIZE   (64 * 1024)     /* size of mapped area                  */
-
-#define        IMAP_ADDR       SPD_IMMR_BASE   /* physical base address of IMMR area   */
-#define IMAP_SIZE      SPD_IMAP_SIZE   /* mapped size of IMMR area             */
+#define IMAP_ADDR      SPD_IMMR_BASE   /* physical base address of IMMR area */
+#define IMAP_SIZE      SPD_IMAP_SIZE   /* mapped size of IMMR area */
 
 #define PCMCIA_MEM_ADDR        ((uint)0xFE100000)
 #define PCMCIA_MEM_SIZE        ((uint)(64 * 1024))
 
-#define IDE0_INTERRUPT 10              /* = IRQ5                               */
-#define        IDE1_INTERRUPT  12              /* = IRQ6                               */
-#define        CPM_INTERRUPT   13              /* = SIU_LEVEL6 (was: SIU_LEVEL2)       */
+#define IDE0_INTERRUPT 10              /* = IRQ5 */
+#define IDE1_INTERRUPT 12              /* = IRQ6 */
+#define CPM_INTERRUPT  13              /* = SIU_LEVEL6 (was: SIU_LEVEL2) */
 
-#define        MAX_HWIFS       2       /* overwrite default in include/asm-ppc/ide.h   */
+/* override the default number of IDE hardware interfaces */
+#define MAX_HWIFS      2
 
 /*
  * Definitions for IDE0 Interface
  */
-#define IDE0_BASE_OFFSET               0x0000  /* Offset in PCMCIA memory      */
+#define IDE0_BASE_OFFSET               0x0000  /* Offset in PCMCIA memory */
 #define IDE0_DATA_REG_OFFSET           0x0000
 #define IDE0_ERROR_REG_OFFSET          0x0081
 #define IDE0_NSECTOR_REG_OFFSET                0x0082
@@ -80,12 +44,12 @@ typedef struct bd_info {
 #define IDE0_SELECT_REG_OFFSET         0x0086
 #define IDE0_STATUS_REG_OFFSET         0x0087
 #define IDE0_CONTROL_REG_OFFSET                0x0106
-#define IDE0_IRQ_REG_OFFSET            0x000A  /* not used                     */
+#define IDE0_IRQ_REG_OFFSET            0x000A  /* not used */
 
 /*
  * Definitions for IDE1 Interface
  */
-#define IDE1_BASE_OFFSET               0x0C00  /* Offset in PCMCIA memory      */
+#define IDE1_BASE_OFFSET               0x0C00  /* Offset in PCMCIA memory */
 #define IDE1_DATA_REG_OFFSET           0x0000
 #define IDE1_ERROR_REG_OFFSET          0x0081
 #define IDE1_NSECTOR_REG_OFFSET                0x0082
@@ -95,10 +59,11 @@ typedef struct bd_info {
 #define IDE1_SELECT_REG_OFFSET         0x0086
 #define IDE1_STATUS_REG_OFFSET         0x0087
 #define IDE1_CONTROL_REG_OFFSET                0x0106
-#define IDE1_IRQ_REG_OFFSET            0x000A  /* not used                     */
+#define IDE1_IRQ_REG_OFFSET            0x000A  /* not used */
 
 /* We don't use the 8259.
 */
 #define NR_8259_INTS   0
 
-#endif /* __MACH_SPD8xx_DEFS */
+#endif /* __ASM_SPD8XX_H__ */
+#endif /* __KERNEL__ */
index 3bbbdbf41c685844517e138d86ed5ade2276e245..a1d7a4100fb49c3230f164505bf986682062eaff 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.time.h 1.15 08/16/01 07:49:31 paulus
+ * BK Id: SCCS/s.time.h 1.17 10/23/01 08:09:35 trini
  */
 /*
  * Common time prototypes and such for all ppc machines.
@@ -9,6 +9,9 @@
  */
 
 #ifdef __KERNEL__
+#ifndef __ASM_TIME_H__
+#define __ASM_TIME_H__
+
 #include <linux/config.h>
 #include <linux/mc146818rtc.h>
 #include <linux/threads.h>
@@ -136,4 +139,5 @@ extern __inline__ unsigned binary_tbl(void) {
 ({unsigned z; asm ("mulhwu %0,%1,%2" : "=r" (z) : "r" (x), "r" (y)); z;})
 
 unsigned mulhwu_scale_factor(unsigned, unsigned);
+#endif /* __ASM_TIME_H__ */
 #endif /* __KERNEL__ */
index 80fb66a6496104be75c95d178b667d263fa8f567..15f5659fdd1a200235eb8a61fca28a42f7ef4559 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.uninorth.h 1.11 08/19/01 22:23:04 paulus
+ * BK Id: SCCS/s.uninorth.h 1.13 10/23/01 08:09:35 trini
  */
 /*
  * uninorth.h: definitions for using the "UniNorth" host bridge chip
@@ -7,7 +7,8 @@
  *
  */
 #ifdef __KERNEL__
-
+#ifndef __ASM_UNINORTH_H__
+#define __ASM_UNINORTH_H__
 
 /*
  * Uni-N config space reg. definitions
 
 /* Uninorth 1.5 rev. has additional perf. monitor registers at 0xf00-0xf50 */
 
+#endif /* __ASM_UNINORTH_H__ */
 #endif /* __KERNEL__ */
index bd7d874e98fbc627b10ba245a14c957e6443d64d..e707c1a5589a7a9790ee18e81148de15e6e5d8ca 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * BK Id: SCCS/s.unistd.h 1.7 05/17/01 18:14:26 cort
+ * BK Id: SCCS/s.unistd.h 1.11 10/18/01 17:29:53 trini
  */
 #ifndef _ASM_PPC_UNISTD_H_
 #define _ASM_PPC_UNISTD_H_
 #define __NR_putpmsg           188     /* some people actually want streams */
 #define __NR_vfork             189
 #define __NR_ugetrlimit                190     /* SuS compliant getrlimit */
+#define __NR_readahead         191
 #define __NR_mmap2             192
 #define __NR_truncate64                193
 #define __NR_ftruncate64       194
 #define __NR_fcntl64           204
 #define __NR_madvise           205
 #define __NR_mincore           206
+#define __NR_gettid            207
 
 #define __NR(n)        #n
 
diff --git a/include/linux/i8k.h b/include/linux/i8k.h
new file mode 100644 (file)
index 0000000..1e75f15
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * i8k.h -- Linux driver for accessing the SMM BIOS on Dell I8000 laptops
+ *
+ * Copyright (C) 2001  Massimo Dal Zotto <dz@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your option) any
+ * later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ */
+
+#ifndef _LINUX_I8K_H
+#define _LINUX_I8K_H
+
+#define I8K_PROC               "/proc/i8k"
+#define I8K_PROC_FMT           "1.0"
+
+#define I8K_BIOS_VERSION       _IOR ('i', 0x80, 4)
+#define I8K_MACHINE_ID         _IOR ('i', 0x81, 16)
+#define I8K_POWER_STATUS       _IOR ('i', 0x82, sizeof(int))
+#define I8K_FN_STATUS          _IOR ('i', 0x83, sizeof(int))
+#define I8K_GET_TEMP           _IOR ('i', 0x84, sizeof(int))
+#define I8K_GET_SPEED          _IOWR('i', 0x85, sizeof(int))
+#define I8K_GET_FAN            _IOWR('i', 0x86, sizeof(int))
+#define I8K_SET_FAN            _IOWR('i', 0x87, sizeof(int)*2)
+
+#define I8K_FAN_LEFT           1
+#define I8K_FAN_RIGHT          0
+#define I8K_FAN_OFF            0
+#define I8K_FAN_LOW            1
+#define I8K_FAN_HIGH           2
+#define I8K_FAN_MAX            I8K_FAN_HIGH
+
+#define I8K_VOL_UP             0x01
+#define I8K_VOL_DOWN           0x02
+#define I8K_VOL_MUTE           0x03
+
+#define I8K_AC                 1
+#define I8K_BATTERY            0
+
+#endif
index c5170a7a298317dd7a9140218c47658d2cca7887..2bac6f57866f4e03017d08196c7add1c36bf7131 100644 (file)
  * Attribute flags (16-bit).
  */
 typedef enum {
-       ATTR_IS_COMPRESSED      = cpu_to_le16(0x0001),
-       ATTR_COMPRESSION_MASK   = cpu_to_le16(0x00ff),  /* Compression method
-                                                        * mask. Also, first
-                                                        * illegal value. */
-       ATTR_IS_ENCRYPTED       = cpu_to_le16(0x4000),
-       ATTR_IS_SPARSE          = cpu_to_le16(0x8000),
+       ATTR_IS_COMPRESSED      = __constant_cpu_to_le16(0x0001),
+       ATTR_COMPRESSION_MASK   = __constant_cpu_to_le16(0x00ff),
+                                       /* Compression method mask. Also,
+                                        * first illegal value. */
+       ATTR_IS_ENCRYPTED       = __constant_cpu_to_le16(0x4000),
+       ATTR_IS_SPARSE          = __constant_cpu_to_le16(0x8000),
 } __attribute__ ((__packed__)) ATTR_FLAGS;
 
 /*
index ffa8134438ccfef2344c949fc600b8fbbc2a6a17..ef563f855c00ac2f6812ba1e93bd7427eaeb18d3 100644 (file)
@@ -79,6 +79,10 @@ struct swap_info_struct {
 };
 
 extern int nr_swap_pages;
+
+/* Swap 50% full? Release swapcache more aggressively.. */
+#define vm_swap_full() (nr_swap_pages*2 < total_swap_pages)
+
 extern unsigned int nr_free_pages(void);
 extern unsigned int nr_free_buffer_pages(void);
 extern int nr_active_pages;
@@ -129,8 +133,7 @@ extern struct page * lookup_swap_cache(swp_entry_t);
 extern struct page * read_swap_cache_async(swp_entry_t);
 
 /* linux/mm/oom_kill.c */
-extern int out_of_memory(void);
-extern void oom_kill(void);
+extern void out_of_memory(void);
 
 /* linux/mm/swapfile.c */
 extern int total_swap_pages;
index 3a5dda402f6f1fb6336f12fbd05772a429e4726f..b30e5d354b5ab3939a8ae227c31e21eb3a52a1d4 100644 (file)
@@ -110,7 +110,7 @@ enum {
        TCP_FLAG_RST = __constant_htonl(0x00040000), 
        TCP_FLAG_SYN = __constant_htonl(0x00020000), 
        TCP_FLAG_FIN = __constant_htonl(0x00010000),
-       TCP_RESERVED_BITS = __constant_htonl(0x0FC00000),
+       TCP_RESERVED_BITS = __constant_htonl(0x0F000000),
        TCP_DATA_OFFSET = __constant_htonl(0xF0000000)
 }; 
 
index e3249bf933a03ad17ea6f64cc08141d3b29feec2..c4f01ada5975c3dd3becd41de4891cf9f9ebffee 100644 (file)
@@ -59,6 +59,8 @@ static inline int timer_pending (const struct timer_list * timer)
  *     2. Because if the timer wrap changes in future you wont have to
  *        alter your driver code.
  *
+ * time_after(a,b) returns true if the time a is after time b.
+ *
  * Do this with "<0" and ">=0" to only test the sign of the result. A
  * good compiler would generate better code (and a really good compiler
  * wouldn't care). Gcc is currently neither.
index 0b9c6be48de1d907466c795a8d626fd0f7e1893d..d21c115a240d3eb921eb52dd9b1939a8cf7dfcb6 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <net/inet_ecn.h>
 
-#define TCP_HP_BITS (~(TCP_RESERVED_BITS|TCP_FLAG_PSH)|TCP_FLAG_ECE|TCP_FLAG_CWR)
+#define TCP_HP_BITS (~(TCP_RESERVED_BITS|TCP_FLAG_PSH))
 
 #define        TCP_ECN_OK              1
 #define TCP_ECN_QUEUE_CWR      2
index 78397b91b1fa836c0c084d82fb0a7eda9c427432..6e4438a968bd3c607c1fbc27e594edee4ff90fbe 100644 (file)
@@ -276,6 +276,7 @@ EXPORT_SYMBOL(filemap_sync);
 EXPORT_SYMBOL(filemap_fdatasync);
 EXPORT_SYMBOL(filemap_fdatawait);
 EXPORT_SYMBOL(lock_page);
+EXPORT_SYMBOL(unlock_page);
 
 /* device registration */
 EXPORT_SYMBOL(register_chrdev);
index f68bdb1146bed5cce72391bcdf47e01d38fba5eb..d2d1a1a257da471cc731222381e3d5ecc8e1d3dd 100644 (file)
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/interrupt.h>                   /* For in_interrupt() */
+#include <linux/config.h>
 
 #include <asm/uaccess.h>
 
+#ifdef CONFIG_MULTIQUAD
+#define LOG_BUF_LEN    (65536)
+#elif defined(CONFIG_SMP)
+#define LOG_BUF_LEN    (32768)
+#else  
 #define LOG_BUF_LEN    (16384)                 /* This must be a power of two */
+#endif
+
 #define LOG_BUF_MASK   (LOG_BUF_LEN-1)
 
 /* printk's without a loglevel use this.. */
index 4d2518c4608de45f8956a27ed79d03a2a72a77b2..eab1def526e68d50f6377ddc60883d056f83f53c 100644 (file)
@@ -177,7 +177,7 @@ int copy_page_range(struct mm_struct *dst, struct mm_struct *src,
        pgd_t * src_pgd, * dst_pgd;
        unsigned long address = vma->vm_start;
        unsigned long end = vma->vm_end;
-       unsigned long cow = (vma->vm_flags & (VM_SHARED | VM_MAYWRITE)) == VM_MAYWRITE;
+       unsigned long cow = (vma->vm_flags & (VM_SHARED | VM_WRITE)) == VM_WRITE;
 
        src_pgd = pgd_offset(src, address)-1;
        dst_pgd = pgd_offset(dst, address)-1;
@@ -911,11 +911,15 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct * vma,
        if (!VALID_PAGE(old_page))
                goto bad_wp_page;
 
-       if (can_share_swap_page(old_page)) {    
-               flush_cache_page(vma, address);
-               establish_pte(vma, address, page_table, pte_mkyoung(pte_mkdirty(pte_mkwrite(pte))));
-               spin_unlock(&mm->page_table_lock);
-               return 1;       /* Minor fault */
+       if (PageSwapCache(old_page) && !TryLockPage(old_page)) {
+               int reuse = can_share_swap_page(old_page);
+               unlock_page(old_page);
+               if (reuse) {
+                       flush_cache_page(vma, address);
+                       establish_pte(vma, address, page_table, pte_mkyoung(pte_mkdirty(pte_mkwrite(pte))));
+                       spin_unlock(&mm->page_table_lock);
+                       return 1;       /* Minor fault */
+               }
        }
 
        /*
@@ -928,7 +932,6 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct * vma,
        if (!new_page)
                goto no_mem;
        copy_cow_page(old_page,new_page,address);
-       page_cache_release(old_page);
 
        /*
         * Re-check the pte - we dropped the lock
@@ -945,6 +948,7 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct * vma,
        }
        spin_unlock(&mm->page_table_lock);
        page_cache_release(new_page);
+       page_cache_release(old_page);
        return 1;       /* Minor fault */
 
 bad_wp_page:
@@ -1066,10 +1070,6 @@ void swapin_readahead(swp_entry_t entry)
        return;
 }
 
-/* Swap 80% full? Release the pages as they are paged in.. */
-#define vm_swap_full() \
-       (swapper_space.nrpages*5 > total_swap_pages*4)
-
 /*
  * We hold the mm semaphore and the page_table_lock on entry and
  * should release the pagetable lock on exit..
@@ -1104,8 +1104,7 @@ static int do_swap_page(struct mm_struct * mm,
                ret = 2;
        }
 
-       if (!Page_Uptodate(page))
-               wait_on_page(page);
+       lock_page(page);
 
        /*
         * Back out if somebody else faulted in this pte while we
@@ -1113,24 +1112,23 @@ static int do_swap_page(struct mm_struct * mm,
         */
        spin_lock(&mm->page_table_lock);
        if (!pte_same(*page_table, orig_pte)) {
-               page_cache_release(page);
                spin_unlock(&mm->page_table_lock);
+               unlock_page(page);
+               page_cache_release(page);
                return 1;
        }
 
        /* The page isn't present yet, go ahead with the fault. */
                
        swap_free(entry);
-       if (vm_swap_full()) {
-               lock_page(page);
+       if (vm_swap_full())
                remove_exclusive_swap_page(page);
-               UnlockPage(page);
-       }
 
        mm->rss++;
        pte = mk_pte(page, vma->vm_page_prot);
        if (write_access && can_share_swap_page(page))
                pte = pte_mkdirty(pte_mkwrite(pte));
+       unlock_page(page);
 
        flush_page_to_ram(page);
        flush_icache_page(vma, page);
index 56dd8b1d51075e4905ae4cd6b65bed85c04cf0cd..880de784fe629ce72658ccac2a3813187a7f00aa 100644 (file)
@@ -168,7 +168,7 @@ void oom_kill_task(struct task_struct *p)
  * OR try to be smart about which process to kill. Note that we
  * don't have to be perfect here, we just have to be good.
  */
-void oom_kill(void)
+static void oom_kill(void)
 {
        struct task_struct *p = select_bad_process(), *q;
 
@@ -195,33 +195,29 @@ void oom_kill(void)
 
 /**
  * out_of_memory - is the system out of memory?
- *
- * Returns 0 if there is still enough memory left,
- * 1 when we are out of memory (otherwise).
  */
-int out_of_memory(void)
+void out_of_memory(void)
 {
        static unsigned long first, last, count;
-       unsigned long now = jiffies;
-       unsigned long since = now - last;
+       unsigned long now, since;
 
        /*
-        * If there's been more than a second since last query,
-        * we're not oom.
+        * Enough swap space left?  Not OOM.
         */
+       if (nr_swap_pages > 0)
+               return;
+
+       now = jiffies;
+       since = now - last;
        last = now;
-       if (since > HZ) {
-               first = now;
-               count = 0;
-               return 0;
-       }
 
        /*
-        * If we have gotten less than 100 failures,
-        * we're not really oom. 
+        * If it's been a long time since last failure,
+        * we're not oom.
         */
-       if (++count < 100)
-               return 0;
+       last = now;
+       if (since > 5*HZ)
+               goto reset;
 
        /*
         * If we haven't tried for at least one second,
@@ -229,23 +225,21 @@ int out_of_memory(void)
         */
        since = now - first;
        if (since < HZ)
-               return 0;
+               return;
 
        /*
-        * Enough swap space left?  Not OOM.
+        * If we have gotten only a few failures,
+        * we're not really oom. 
         */
-       if (nr_swap_pages > 0)
-               return 0;
+       if (++count < 10)
+               return;
 
        /*
-        * Ok, really out of memory.
-        *
-        * Reset test logic, let the poor sucker
-        * we selected die in peace (this will
-        * delay the next oom kill for at least
-        * another second and another X failures).
+        * Ok, really out of memory. Kill something.
         */
+       oom_kill();
+
+reset:
        first = now;
        count = 0;
-       return 1;
 }
index 5418504b0eab17434dff55bb9c74015ab9068485..ef2b8fc9b23a49129ffb81656559e895bbf1d19f 100644 (file)
@@ -515,14 +515,14 @@ void show_free_areas_core(pg_data_t *pgdat)
        pg_data_t *tmpdat = pgdat;
 
        printk("Free pages:      %6dkB (%6dkB HighMem)\n",
-               nr_free_pages() << (PAGE_SHIFT-10),
-               nr_free_highpages() << (PAGE_SHIFT-10));
+               K(nr_free_pages()),
+               K(nr_free_highpages()));
 
        while (tmpdat) {
                zone_t *zone;
                for (zone = tmpdat->node_zones;
                                zone < tmpdat->node_zones + MAX_NR_ZONES; zone++)
-                       printk("Zone:%s freepages:%6lukB min:%6luKB low:%6lukB " 
+                       printk("Zone:%s freepages:%6lukB min:%6lukB low:%6lukB " 
                                       "high:%6lukB\n", 
                                        zone->name,
                                        K(zone->free_pages),
@@ -533,10 +533,6 @@ void show_free_areas_core(pg_data_t *pgdat)
                tmpdat = tmpdat->node_next;
        }
 
-       printk("Free pages:      %6dkB (%6dkB HighMem)\n",
-               K(nr_free_pages()),
-               K(nr_free_highpages()));
-
        printk("( Active: %d, inactive: %d, free: %d )\n",
               nr_active_pages,
               nr_inactive_pages,
@@ -561,8 +557,7 @@ void show_free_areas_core(pg_data_t *pgdat)
                                        nr++;
                                }
                                total += nr * (1 << order);
-                               printk("%lu*%lukB ", nr,
-                                               (PAGE_SIZE>>10) << order);
+                               printk("%lu*%lukB ", nr, K(1UL) << order);
                        }
                        spin_unlock_irqrestore(&zone->lock, flags);
                }
index cf8da6a093f6274cae5f3bb52e952a3338ce4c65..facad15968045717d1490a72f93c3bde08ffb754 100644 (file)
@@ -260,6 +260,9 @@ static int exclusive_swap_page(struct page *page)
 int can_share_swap_page(struct page *page)
 {
        int retval = 0;
+
+       if (!PageLocked(page))
+               BUG();
        switch (page_count(page)) {
        case 3:
                if (!page->buffers)
@@ -268,10 +271,7 @@ int can_share_swap_page(struct page *page)
        case 2:
                if (!PageSwapCache(page))
                        break;
-               if (TryLockPage(page))
-                       break;
                retval = exclusive_swap_page(page);
-               UnlockPage(page);
                break;
        case 1:
                if (PageReserved(page))
@@ -343,7 +343,11 @@ void free_swap_and_cache(swp_entry_t entry)
        }
        if (page) {
                page_cache_get(page);
-               delete_from_swap_cache(page);
+               /* Only cache user (+us), or swap space full? Free it! */
+               if (page_count(page) == 2 || vm_swap_full()) {
+                       delete_from_swap_cache(page);
+                       SetPageDirty(page);
+               }
                UnlockPage(page);
                page_cache_release(page);
        }
index 9c4dc48b7e47e4541b61de5ff8c7fac85adc5e54..3b6484f397ec03d8c301ae85e7718ab90dcc8d94 100644 (file)
@@ -49,7 +49,7 @@ static inline int try_to_swap_out(struct mm_struct * mm, struct vm_area_struct*
        swp_entry_t entry;
 
        /* Don't look at this pte if it's been accessed recently. */
-       if (ptep_test_and_clear_young(page_table)) {
+       if ((vma->vm_flags & VM_LOCKED) || ptep_test_and_clear_young(page_table)) {
                mark_page_accessed(page);
                return 0;
        }
@@ -220,8 +220,8 @@ static inline int swap_out_vma(struct mm_struct * mm, struct vm_area_struct * vm
        pgd_t *pgdir;
        unsigned long end;
 
-       /* Don't swap out areas which are locked down */
-       if (vma->vm_flags & (VM_LOCKED|VM_RESERVED))
+       /* Don't swap out areas which are reserved */
+       if (vma->vm_flags & VM_RESERVED)
                return count;
 
        pgdir = pgd_offset(mm, address);
@@ -331,7 +331,7 @@ static int shrink_cache(int nr_pages, zone_t * classzone, unsigned int gfp_mask,
 {
        struct list_head * entry;
        int max_scan = nr_inactive_pages / priority;
-       int max_mapped = nr_pages*10;
+       int max_mapped = nr_pages << (9 - priority);
 
        spin_lock(&pagemap_lru_lock);
        while (--max_scan >= 0 && (entry = inactive_list.prev) != &inactive_list) {
@@ -588,9 +588,7 @@ int try_to_free_pages(zone_t *classzone, unsigned int gfp_mask, unsigned int ord
         * Hmm.. Cache shrink failed - time to kill something?
         * Mhwahahhaha! This is the part I really like. Giggle.
         */
-       if (out_of_memory())
-               oom_kill();
-
+       out_of_memory();
        return 0;
 }