# Base Configuration for MontaVista Linux
#
# If an option is marked as "m", the .config will only
# be modified if the option is turned off.
#
# If an option is marked as "y", the .config will be modified
# if the options in the "m" or the off states.
#
# If an option is marked as "n", the .config will be modified
# if the option is in the "m" or "y" states.

# MontaVista enhancements and dependancies


CONFIG_EXPERIMENTAL=y
CONFIG_PROC_FS=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_PROC_KCORE=y

CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_BOOTP=y

# Needed for mvltd
CONFIG_FUTEX=y
CONFIG_EPOLL=y


# Standard Userland requirements
CONFIG_BINFMT_ELF=y
CONFIG_SYSVIPC=y
CONFIG_UNIX=y

# Required for udev
CONFIG_HOTPLUG=y
CONFIG_SYSFS=y

# Required for glibc shm interfaces/udev
CONFIG_TMPFS=y

# Required for various kernel tuning features
CONFIG_SYSCTL=y

# Required for remote login
CONFIG_UNIX98_PTYS=y

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_NETDEBUG=n
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=m
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_ENHANCEMENT=y
CONFIG_XFRM_DEBUG=n
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_USE_POLICY_FWD=n
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
CONFIG_IP_FIB_TRIE=n
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=n
CONFIG_IP_ROUTE_VERBOSE=n
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=n
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_ARPD=n
CONFIG_SYN_COOKIES=n
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_TCP_CONG_ADVANCED=y

#
# TCP congestion control
#
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=m
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_IPV6=m
CONFIG_IPV6_PRIVACY=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_IPCOMP=m
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_INET6_XFRM_MODE_TRANSPORT=m
CONFIG_INET6_XFRM_MODE_TUNNEL=m
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_STATISTICS=n
CONFIG_IPV6_ADVANCED_ROUTER=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_MIP6_DEBUG=n
CONFIG_NETWORK_SECMARK=n
CONFIG_NETFILTER=n

#
# DCCP Configuration (EXPERIMENTAL)
#
CONFIG_IP_DCCP=n

#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IP_SCTP=n

#
# TIPC Configuration (EXPERIMENTAL)
#
CONFIG_TIPC=n
CONFIG_ATM=n
CONFIG_BRIDGE=m
CONFIG_VLAN_8021Q=m
CONFIG_DECNET=n
CONFIG_LLC=m
CONFIG_LLC2=n
CONFIG_IPX=n
CONFIG_ATALK=n
CONFIG_X25=n
CONFIG_LAPB=n
CONFIG_ECONET=n
CONFIG_WAN_ROUTER=n

#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=n

#
# Network testing
#
CONFIG_NET_PKTGEN=n
CONFIG_HAMRADIO=n
CONFIG_IRDA=n
CONFIG_BT=n
CONFIG_FIB_RULES=y
# Required for ip stack snooping(tcpdump, ethereal)
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y

# Required for just about any modern system
CONFIG_UNIX=y

# Required for kernel nfs server utilities
CONFIG_NFSD=m
CONFIG_NFSD_V3=y

# Required for out-of-box NFS root
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y

# Required for pppd
CONFIG_PPP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
# BSD compression is possibly patent encumbered and should not be enabled
CONFIG_PPP_BSDCOMP=n

# Required default root filesystems
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
CONFIG_CRAMFS=y
CONFIG_SQUASHFS=y
# Note if MTD is not configured this option will disapear from the config
CONFIG_JFFS2_FS=y

# Required non-root filesystems
CONFIG_FAT_FS=y
CONFIG_VFAT_FS=y
CONFIG_SMB_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_XFS_FS=y

# SMB requires NLS.  Provide basic character sets.
CONFIG_NLS=m
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_UTF8=m

#
# If want to read FAT formatted media, you really need to be able
# to read the partition table.
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y

#
# Quota
#
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y

# Kernel module support
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y

# Misc supported features
CONFIG_BLK_DEV_LOOP=m
CONFIG_INPUT=m
CONFIG_INPUT_EVDEV=m
CONFIG_TUN=m

# Do not build debugging into the kernel by default
CONFIG_DEBUG_KERNEL=n

# HRT enabled by default
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_HIGH_RES_TIMERS=y

# We default to PREEMPT_DESKTOP with preemptible soft and hardirqs
# disabled.
CONFIG_PREEMPT_NONE=n
CONFIG_PREEMPT_VOLUNTARY=n
CONFIG_PREEMPT_DESKTOP=y
CONFIG_PREEMPT_RT=n
CONFIG_PREEMPT_SOFTIRQS=n
CONFIG_PREEMPT_HARDIRQS=n
CONFIG_PREEMPT_BKL=n
CONFIG_CLASSIC_RCU=y
CONFIG_CRITICAL_PREEMPT_TIMING=n
CONFIG_CRITICAL_IRQSOFF_TIMING=n
CONFIG_WAKEUP_TIMING=n

# Do not build legacy pty support
CONFIG_LEGACY_PTYS=n

# Force MQUEUEs to always be on.
CONFIG_POSIX_MQUEUE=y

#
# Profiling support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=m

#
# LTTng
#
CONFIG_RELAY=y
CONFIG_DEBUG_FS=y
CONFIG_MARKERS=y
CONFIG_LTT=y
CONFIG_LTT_TRACER=m
CONFIG_LTT_RELAY=m
CONFIG_LTT_ALIGNMENT=y
CONFIG_LTT_USERSPACE_GENERIC=y
CONFIG_LTT_NETLINK_CONTROL=m
CONFIG_LTT_STATEDUMP=m

CONFIG_LTT_PROBES=y
CONFIG_LTT_PROBE_FS=m
CONFIG_LTT_PROBE_IPC=m
CONFIG_LTT_PROBE_KERNEL=m
CONFIG_LTT_PROBE_ARCH=m
CONFIG_LTT_PROBE_MM=m
CONFIG_LTT_PROBE_NET=m
CONFIG_LTT_PROBE_LIST=m

CONFIG_LTT_FACILITY_FS=m
CONFIG_LTT_FACILITY_FS_DATA=m
CONFIG_LTT_FACILITY_IPC=m
CONFIG_LTT_FACILITY_KERNEL=m
CONFIG_LTT_FACILITY_KERNEL_ARCH=m
CONFIG_LTT_FACILITY_MEMORY=m
CONFIG_LTT_FACILITY_NETWORK=m
CONFIG_LTT_FACILITY_NETWORK_IP_INTERFACE=m
CONFIG_LTT_FACILITY_PROCESS=m
CONFIG_LTT_FACILITY_SOCKET=m
CONFIG_LTT_FACILITY_STATEDUMP=m
CONFIG_LTT_FACILITY_TIMER=m

#
# SCSI
#
CONFIG_SCSI=m
CONFIG_SCSI_PROC_FS=y
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_ISCSI_TCP=m

#
# IO Schedulers
# Kernel.org and MVL defaults to AS so just modularize the rest
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=m
CONFIG_IOSCHED_CFQ=m
CONFIG_DEFAULT_AS=y


#
# SYSRQ is nice to have
#
CONFIG_MAGIC_SYSRQ=y

#
# PCI network devices
#
CONFIG_NET_ETHERNET=y
CONFIG_NET_PCI=y

# Intel Pro+/100
CONFIG_E100=y
# Intel Pro/1000 MT
CONFIG_E1000=y
# Realtek RTL8139a/b/d
CONFIG_8139TOO=y
# PCnet AMD79C972 (used by VMWare)
CONFIG_PCNET32=y
# Broadcom BCM5700
CONFIG_TIGON3=y
# Netgear FA311
CONFIG_NATSEMI=y

#
# Enable security and capabilities by default
#
CONFIG_SECURITY=y
CONFIG_SECURITY_CAPABILITIES=y
