http://downloads.netgear.com/files/GPL/GPL_Source_V361j_DM111PSP_series_consumer_rele...
[bcm963xx.git] / hostTools / scripts / gendefconfig
index b11d7ba..2119411 100755 (executable)
@@ -2,15 +2,19 @@
 
 #****************************************************************************
 #
-#  Copyright (c) 2001, 2002, 2003, 2004  Broadcom Corporation
-#  All Rights Reserved
-#  No portions of this material may be reproduced in any form without the
-#  written permission of:
-#          Broadcom Corporation
-#          16251 Laguna Canyon Road
-#          Irvine, California 92618
-#  All information contained in this document is Broadcom Corporation
-#  company private, proprietary, and trade secret.
+# <:copyright-gpl
+# Copyright 2004 Broadcom Corp. All Rights Reserved.
+# This program is free software; you can distribute it and/or modify it
+# under the terms of the GNU General Public License (Version 2) as
+# published by the Free Software Foundation.
+# This program is distributed in the hope 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.
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+# :>
 #
 #****************************************************************************
 
@@ -25,7 +29,7 @@ driver_setup ()
   if [ "$BRCM_DRIVER_VAL" != "" ]; then
      SEDCMD="$SEDCMD -e 's/# $LINUX_CONFIG_NAME is not set/$LINUX_CONFIG_NAME="$BRCM_DRIVER_VAL"/'"
   fi
-  SEDCMD="$SEDCMD -e 's/"$LINUX_IMPL_NAME"/"$LINUX_CONFIG_NAME"_IMPL/'"
+  SEDCMD="$SEDCMD -e 's/"$LINUX_IMPL_NAME"/"$LINUX_CONFIG_NAME"_IMPL/'"
 }
 
 
@@ -54,7 +58,7 @@ TEMPLATE=$HOSTTOOLS_DIR/scripts/defconfig-bcm.template
 
 SEDCMD="$SEDCMD -e 's/# CONFIG_BCM9"$BRCM_CHIP" is not set/CONFIG_BCM9"$BRCM_CHIP"=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_BOARD is not set/CONFIG_BCM_BOARD=y/'"
-SEDCMD="$SEDCMD -e 's/CONFIG_BCM9"$BRCM_CHIP"_BOARD_IMPL/CONFIG_BCM_BOARD_IMPL/'"
+SEDCMD="$SEDCMD -e 's/CONFIG_BCM9"$BRCM_CHIP"_BOARD_IMPL/CONFIG_BCM_BOARD_IMPL/'"
 
 driver_setup "ATM" "ATMAPI"
 
@@ -64,7 +68,7 @@ driver_setup "ATM" "BLAA"
 if [ "$BUILD_DIAGAPP" != "" ]; then
    general_setup CONFIG_BCM_ATMTEST $BRCM_DRIVER_ATM
 fi
-SEDCMD="$SEDCMD -e 's/CONFIG_BCM9"$BRCM_CHIP"_ATMTEST_IMPL/CONFIG_BCM_ATMTEST_IMPL/'"
+SEDCMD="$SEDCMD -e 's/CONFIG_BCM9"$BRCM_CHIP"_ATMTEST_IMPL/CONFIG_BCM_ATMTEST_IMPL/'"
 
 driver_setup "ADSL" "ADSL"
 
@@ -77,12 +81,15 @@ if [ "$BRCM_DRIVER_WIRELESS" != "" ]; then
    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_RADIO is not set/CONFIG_NET_RADIO=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_HOTPLUG is not set/CONFIG_HOTPLUG=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_SYSFS is not set/CONFIG_SYSFS=y/'"   
-if [ "$BRCM_CHIP" = "6348" ]; then
+if [ "$BRCM_CHIP" = "6348" -o "$BRCM_CHIP" = "6358" ]; then
    SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'"
 fi
+if [ "$BUILD_MIMO" != "" ]; then
+   SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_MIMO is not set/CONFIG_BCM_MIMO=y/'"
+fi
 fi
 
-if [ "$BRCM_CHIP" = "6348" ]; then
+if [ "$BRCM_CHIP" = "6348" -o "$BRCM_CHIP" = "6358" ]; then
 driver_setup "PCI" "PCI"
 if [ "$BRCM_DRIVER_PCI" != "" ]; then
    SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'"
@@ -92,6 +99,9 @@ fi
 if [ "$LINUX_DRIVER_USB_HOST" != "" ]; then
    SEDCMD="$SEDCMD -e 's/# CONFIG_USB is not set/CONFIG_USB=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_OHCI_HCD is not set/CONFIG_USB_OHCI_HCD=y/'"
+if [ "$BRCM_CHIP" != "6348" ]; then
+   SEDCMD="$SEDCMD -e 's/# CONFIG_USB_EHCI_HCD is not set/CONFIG_USB_EHCI_HCD=y/'"
+fi
    SEDCMD="$SEDCMD -e 's/# CONFIG_PCI is not set/CONFIG_PCI=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_USB_PRINTER is not set/CONFIG_USB_PRINTER=y/'"
 if [ "$LINUX_DRIVER_CDCETHER" != "" ]; then
@@ -100,10 +110,14 @@ if [ "$LINUX_DRIVER_CDCETHER" != "" ]; then
 fi
 fi
 
-driver_setup "VDSL" "VDSL"
+if [ "$BUILD_VDSL" != "" ]; then
+   SEDCMD="$SEDCMD -e 's/# CONFIG_BCM_VDSL is not set/CONFIG_BCM_VDSL=y/'"
+fi
 
 driver_setup "PHONE" "ENDPOINT"
 
+driver_setup "BCMPROF" "BCMPROF"
+
 driver_setup "HPNA" "HPNA"
 
 driver_setup "SECURITY" "SECURITY"
@@ -194,12 +208,22 @@ SEDCMD="$SEDCMD -e 's/# CONFIG_KALLSYMS is not set/CONFIG_KALLSYMS=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_KALLSYMS_EXTRA_PASS is not set/CONFIG_KALLSYMS_EXTRA_PASS=y/'"
 fi
 
+
+############################################################
+#      Kernel preemption
+############################################################
+
+if [ "$BRCM_KERNEL_PREEMPT" = "y" ]; then
+SEDCMD="$SEDCMD -e 's/# CONFIG_PREEMPT is not set/CONFIG_PREEMPT=y/'"
+fi
+
+
 ############################################################
 #      Netfilter config generation
 ############################################################
-NETFILTER_MODULES="CONNTRACK FTP TFTP TALK H323 IRC PPTP IPSEC DTX8 WM PT IPTABLES \
+NETFILTER_MODULES="CONNTRACK FTP TFTP TALK H323 SIP IRC PPTP IPSEC DTX8 WM PT IPTABLES \
                   MATCH_STATE MATCH_LIMIT MATCH_MARK RTSP \
-                  FILTER MANGLE NAT NAT_NEEDED NAT_TALK NAT_H323 NAT_SNMP_BASIC NAT_IRC NAT_FTP NAT_TFTP \
+                  FILTER MANGLE NAT NAT_NEEDED NAT_TALK NAT_H323 NAT_SIP NAT_SNMP_BASIC NAT_IRC NAT_FTP NAT_TFTP \
                   TARGET_MASQUERADE TARGET_REDIRECT TARGET_LOG TARGET_TCPMSS TARGET_FTOS TARGET_MARK"
 
 NF_FIREWALL_MODULES="IPTABLES MATCH_STATE MATCH_LIMIT FILTER TARGET_TCPMSS" 
@@ -210,10 +234,11 @@ NF_NAT_MODULES="IPTABLES CONNTRACK NAT NAT_NEEDED TARGET_MASQUERADE TARGET_REDIR
 
 NF_PPPREMOTE_MODULES="IPTABLES CONNTRACK NAT NAT_NEEDED FILTER TARGET_TCPMSS MATCH_LIMIT" 
 
-ALGS="FTP TFTP TALK H323 IRC PPTP IPSEC SNMP DTX8 WM PT RTSP"
+ALGS="FTP TFTP TALK H323 SIP IRC PPTP IPSEC SNMP DTX8 WM PT RTSP"
 FTP_ALG_MODULES="FTP NAT_FTP"
 TFTP_ALG_MODULES="TFTP NAT_TFTP"
 H323_ALG_MODULES="H323 NAT_H323"
+SIP_ALG_MODULES="SIP NAT_SIP"
 IRC_ALG_MODULES="IRC NAT_IRC"
 DTX8_ALG_MODULES="DTX8"
 WM_ALG_MODULES="WM"
@@ -239,16 +264,6 @@ if [ "$BRCM_KERNEL_NETFILTER" != "" ]; then
       done
    fi
 
-   #Tecom set up netfilter queue
-   if [ "$BRCM_KERNEL_NF_QUEUE" != "" ]; then
-      netfilter_setup "QUEUE" $BRCM_KERNEL_NF_QUEUE
-   fi
-
-   #Tecom set up netfilter traffic
-   if [ "$BRCM_KERNEL_NF_TECOM_TRAFFIC" != "" ]; then
-      netfilter_setup "TECOM_TRAFFIC" $BRCM_KERNEL_NF_TECOM_TRAFFIC
-   fi
-
    # set up packet mangling related modules
    if [ "$BRCM_KERNEL_NF_MANGLE" != "" ]; then
       for mod in $NF_MANGLE_MODULES; do
@@ -292,17 +307,57 @@ if [ "$BRCM_KERNEL_NETFILTER" != "" ]; then
 
 fi
 
+############################################################
+#      Cryptographic config generation
+############################################################
+if [ "$BRCM_KERNEL_CRYPTO" != "" ]; then
+
+   # set up networking options
+   SEDCMD="$SEDCMD -e 's/# CONFIG_NET_KEY is not set/CONFIG_NET_KEY=y/'"
+   SEDCMD="$SEDCMD -e 's/# CONFIG_INET_AH is not set/CONFIG_INET_AH=y/'"
+   SEDCMD="$SEDCMD -e 's/# CONFIG_INET_ESP is not set/CONFIG_INET_ESP=y/'"
+   SEDCMD="$SEDCMD -e 's/# CONFIG_XFRM_USER is not set/CONFIG_XFRM_USER=y/'"
+   
+   # set up cryptographic options
+   SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO is not set/CONFIG_CRYPTO=y/'"
+   if [ "$BRCM_KERNEL_CRYPTO_HMAC" != "" ]; then
+         SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_HMAC is not set/CONFIG_CRYPTO_HMAC=y/'"
+   fi
+   if [ "$BRCM_KERNEL_CRYPTO_NULL" != "" ]; then
+         SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_NULL is not set/CONFIG_CRYPTO_NULL=y/'"
+   fi
+   if [ "$BRCM_KERNEL_CRYPTO_MD5" != "" ]; then
+         SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_MD5 is not set/CONFIG_CRYPTO_MD5=y/'"
+   fi
+   if [ "$BRCM_KERNEL_CRYPTO_SHA1" != "" ]; then
+         SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_SHA1 is not set/CONFIG_CRYPTO_SHA1=y/'"
+   fi
+   if [ "$BRCM_KERNEL_CRYPTO_DES" != "" ]; then
+         SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_DES is not set/CONFIG_CRYPTO_DES=y/'"
+   fi
+   if [ "$BRCM_KERNEL_CRYPTO_AES" != "" ]; then
+         SEDCMD="$SEDCMD -e 's/# CONFIG_CRYPTO_AES is not set/CONFIG_CRYPTO_AES=y/'"
+   fi
+fi
+
 ############################################################
 #      Bridge Layer filter config generation
 ############################################################
 if [ "$BUILD_EBTABLES" != "" ]; then
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_NF_EBTABLES is not set/CONFIG_BRIDGE_NF_EBTABLES=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_T_FILTER is not set/CONFIG_BRIDGE_EBT_T_FILTER=y/'"
+SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_BROUTE is not set/CONFIG_BRIDGE_EBT_BROUTE=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_IP is not set/CONFIG_BRIDGE_EBT_IP=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_VLAN is not set/CONFIG_BRIDGE_EBT_VLAN=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_TIME is not set/CONFIG_BRIDGE_EBT_TIME=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_MARK_T is not set/CONFIG_BRIDGE_EBT_MARK_T=y/'"
 SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_FTOS_T is not set/CONFIG_BRIDGE_EBT_FTOS_T=y/'"
+
+if [ "$BRCM_DRIVER_WIRELESS" != "" ]; then
+SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_T_NAT is not set/CONFIG_BRIDGE_EBT_T_NAT=y/'"
+SEDCMD="$SEDCMD -e 's/# CONFIG_BRIDGE_EBT_WMM_MARK is not set/CONFIG_BRIDGE_EBT_WMM_MARK=y/'"
+fi
+
 fi
 
 ############################################################
@@ -316,21 +371,27 @@ fi
 ############################################################
 #      Network QoS config generation
 ############################################################
-if [ "$BRCM_KERNEL_NETQOS" != "" ]; then
+if [ "$BRCM_KERNEL_NETQOS" != "" -o "$BRCM_KERNEL_DN_IPQOS" != "" ]; then
+   AS_CONFIG_NET_SCHD="y"
    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_SCHED is not set/CONFIG_NET_SCHED=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_QOS is not set/CONFIG_NET_QOS=y/'"
-   SEDCMD="$SEDCMD -e 's/# CONFIG_NET_ESTIMATOR is not set/CONFIG_NET_ESTIMATOR=y/'"
+   SEDCMD="$SEDCMD -e 's/# CONFIG_NET_SCH_CLK_JIFFIES is not set/CONFIG_NET_SCH_CLK_JIFFIES=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_CLS is not set/CONFIG_NET_CLS=y/'"
    SEDCMD="$SEDCMD -e 's/# CONFIG_NET_CLS_POLICE is not set/CONFIG_NET_CLS_POLICE=y/'"
-   general_setup CONFIG_NET_SCH_CBQ  $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_SCH_HTB  $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_SCH_HFSC $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_SCH_PRIO $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_SCH_SFQ $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_SCH_DSMARK $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_CLS_TCINDEX $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_CLS_FW $BRCM_KERNEL_NETQOS
-   general_setup CONFIG_NET_CLS_U32 $BRCM_KERNEL_NETQOS
+   #general_setup CONFIG_NET_SCH_CBQ  $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_SCH_HTB  $AS_CONFIG_NET_SCHD
+   #general_setup CONFIG_NET_SCH_HFSC $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_SCH_PRIO $AS_CONFIG_NET_SCHD
+   #general_setup CONFIG_NET_SCH_SFQ $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_SCH_INGRESS $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_ESTIMATOR $AS_CONFIG_NET_SCHD
+   #general_setup CONFIG_NET_SCH_DSMARK $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_CLS_TCINDEX $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_CLS_FW $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_CLS_U32 $AS_CONFIG_NET_SCHD
+   general_setup CONFIG_NET_CLS_POLICE $AS_CONFIG_NET_SCHD
+   #general_setup CONFIG_NET_CLS_ACT $AS_CONFIG_NET_SCHD
+   #general_setup CONFIG_NET_ACT_POLICE $AS_CONFIG_NET_SCHD
 fi
 
 ############################################################