mainmenu_name "Kernel configuration of Linux for IA-64 machines"

mainmenu_option next_comment
 comment 'Code maturity level options'
 bool 'Prompt for development and/or incomplete code/drivers' CONFIG_EXPERIMENTAL
endmenu

mainmenu_option next_comment
comment 'Loadable module support'
bool 'Enable loadable module support' CONFIG_MODULES
if [ "$CONFIG_MODULES" = "y" ]; then
   bool '  Set version information on all module symbols' CONFIG_MODVERSIONS
   bool '  Kernel module loader' CONFIG_KMOD
fi
endmenu

mainmenu_option next_comment
comment 'General setup'

define_bool CONFIG_IA64 y

define_bool CONFIG_ISA n
define_bool CONFIG_EISA n
define_bool CONFIG_MCA n
define_bool CONFIG_SBUS n
define_bool CONFIG_RWSEM_GENERIC_SPINLOCK y
define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM n

if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
  define_bool CONFIG_ACPI y
  define_bool CONFIG_ACPI_EFI y
  define_bool CONFIG_ACPI_INTERPRETER y
  define_bool CONFIG_ACPI_KERNEL_CONFIG y
fi

choice 'IA-64 processor type' \
	"Itanium			CONFIG_ITANIUM \
	 McKinley			CONFIG_MCKINLEY" Itanium

choice 'IA-64 system type'					\
	"generic		CONFIG_IA64_GENERIC		\
	 DIG-compliant		CONFIG_IA64_DIG			\
	 HP-simulator		CONFIG_IA64_HP_SIM		\
	 SGI-SN1		CONFIG_IA64_SGI_SN1		\
	 SGI-SN2		CONFIG_IA64_SGI_SN2" generic

choice 'Kernel page size'						\
	"4KB			CONFIG_IA64_PAGE_SIZE_4KB		\
	 8KB			CONFIG_IA64_PAGE_SIZE_8KB		\
	 16KB			CONFIG_IA64_PAGE_SIZE_16KB		\
	 64KB			CONFIG_IA64_PAGE_SIZE_64KB" 16KB

if [ "$CONFIG_ITANIUM" = "y" ]; then
	define_bool CONFIG_IA64_BRL_EMU y
	bool '  Enable Itanium B-step specific code' CONFIG_ITANIUM_BSTEP_SPECIFIC
	if [ "$CONFIG_IA64_SGI_SN1" = "y" ]; then
	  define_int CONFIG_IA64_L1_CACHE_SHIFT 7 # align cache-sensitive data to 128 bytes
	else
	  define_int CONFIG_IA64_L1_CACHE_SHIFT 6 # align cache-sensitive data to 64 bytes
	fi
fi

if [ "$CONFIG_MCKINLEY" = "y" ]; then
	define_int CONFIG_IA64_L1_CACHE_SHIFT 7
	bool '  Enable McKinley A-step specific code' CONFIG_MCKINLEY_ASTEP_SPECIFIC
	if [ "$CONFIG_MCKINLEY_ASTEP_SPECIFIC" = "y" ]; then
	  bool '   Enable McKinley A0/A1-step specific code' CONFIG_MCKINLEY_A0_SPECIFIC
	fi
fi

if [ "$CONFIG_IA64_DIG" = "y" ]; then
	bool '  Enable IA-64 Machine Check Abort' CONFIG_IA64_MCA
	define_bool CONFIG_PM y
fi

if [ "$CONFIG_IA64_SGI_SN1" = "y" ] || [ "$CONFIG_IA64_SGI_SN2" = "y" ]; then
	define_bool CONFIG_IA64_SGI_SN y
	bool '  Enable extra debugging code' CONFIG_IA64_SGI_SN_DEBUG n
	bool '  Enable SGI Medusa Simulator Support' CONFIG_IA64_SGI_SN_SIM
	bool '  Enable autotest (llsc). Option to run cache test instead of booting' \
			CONFIG_IA64_SGI_AUTOTEST n
	define_bool CONFIG_DEVFS_FS y
	if [ "$CONFIG_DEVFS_FS" = "y" ]; then
	  bool '    Enable DEVFS Debug Code' CONFIG_DEVFS_DEBUG n
	fi
	bool '  Enable protocol mode for the L1 console' CONFIG_SERIAL_SGI_L1_PROTOCOL y
	define_bool CONFIG_DISCONTIGMEM y
	define_bool CONFIG_IA64_MCA y
	define_bool CONFIG_NUMA y
	define_bool CONFIG_PERCPU_IRQ y
	tristate '  PCIBA support' CONFIG_PCIBA
fi

define_bool CONFIG_KCORE_ELF y	# On IA-64, we always want an ELF /proc/kcore.

bool 'SMP support' CONFIG_SMP
tristate 'Support running of Linux/x86 binaries' CONFIG_IA32_SUPPORT
bool 'Performance monitor support' CONFIG_PERFMON
tristate '/proc/pal support' CONFIG_IA64_PALINFO
tristate '/proc/efi/vars support' CONFIG_EFI_VARS

bool 'Networking support' CONFIG_NET
bool 'System V IPC' CONFIG_SYSVIPC
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC

if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then

source drivers/acpi/Config.in

bool 'PCI support' CONFIG_PCI
source drivers/pci/Config.in

bool 'Support for hot-pluggable devices' CONFIG_HOTPLUG
if [ "$CONFIG_HOTPLUG" = "y" ]; then
   source drivers/pcmcia/Config.in
else
   define_bool CONFIG_PCMCIA n
fi

source drivers/parport/Config.in

fi # !HP_SIM

endmenu

if [ "$CONFIG_NET" = "y" ]; then
  source net/Config.in
fi

if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then

source drivers/mtd/Config.in
source drivers/pnp/Config.in
source drivers/block/Config.in
source drivers/ieee1394/Config.in
source drivers/message/i2o/Config.in
source drivers/md/Config.in

mainmenu_option next_comment
comment 'ATA/IDE/MFM/RLL support'

tristate 'ATA/IDE/MFM/RLL support' CONFIG_IDE

if [ "$CONFIG_IDE" != "n" ]; then
  source drivers/ide/Config.in
else
  define_bool CONFIG_BLK_DEV_IDE_MODES n
  define_bool CONFIG_BLK_DEV_HD n
fi
endmenu

fi # !HP_SIM

mainmenu_option next_comment
comment 'SCSI support'

tristate 'SCSI support' CONFIG_SCSI

if [ "$CONFIG_SCSI" != "n" ]; then
  source drivers/scsi/Config.in
fi
endmenu

if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then

if [ "$CONFIG_NET" = "y" ]; then
  mainmenu_option next_comment
  comment 'Network device support'

  bool 'Network device support' CONFIG_NETDEVICES
  if [ "$CONFIG_NETDEVICES" = "y" ]; then
    source drivers/net/Config.in
  fi
  endmenu
fi

source net/ax25/Config.in

mainmenu_option next_comment
comment 'ISDN subsystem'

tristate 'ISDN support' CONFIG_ISDN
if [ "$CONFIG_ISDN" != "n" ]; then
  source drivers/isdn/Config.in
fi
endmenu

mainmenu_option next_comment
comment 'CD-ROM drivers (not for SCSI or IDE/ATAPI drives)'

bool 'Support non-SCSI/IDE/ATAPI drives' CONFIG_CD_NO_IDESCSI
if [ "$CONFIG_CD_NO_IDESCSI" != "n" ]; then
  source drivers/cdrom/Config.in
fi
endmenu

fi # !HP_SIM

#
# input before char - char/joystick depends on it. As does USB.
#
source drivers/input/Config.in
source drivers/char/Config.in

#source drivers/misc/Config.in

source drivers/media/Config.in

source fs/Config.in

if [ "$CONFIG_VT" = "y" ]; then
  mainmenu_option next_comment
  comment 'Console drivers'
  bool 'VGA text console' CONFIG_VGA_CONSOLE
  source drivers/video/Config.in
  if [ "$CONFIG_FB" = "y" ]; then
    define_bool CONFIG_PCI_CONSOLE y
  fi
  endmenu
fi

if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then

mainmenu_option next_comment
comment 'Sound'

tristate 'Sound card support' CONFIG_SOUND
if [ "$CONFIG_SOUND" != "n" ]; then
  source drivers/sound/Config.in
fi
endmenu

source drivers/usb/Config.in

if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
   source net/bluetooth/Config.in
fi

fi # !HP_SIM

if [ "$CONFIG_IA64_HP_SIM" != "n" -o "$CONFIG_IA64_GENERIC" != "n" ]; then
  mainmenu_option next_comment
  comment 'Simulated drivers'

  bool 'Simulated Ethernet ' CONFIG_SIMETH
  bool 'Simulated serial driver support' CONFIG_SIM_SERIAL
  if [ "$CONFIG_SCSI" != "n" ]; then
    bool 'Simulated SCSI disk' CONFIG_SCSI_SIM
  fi
  endmenu
fi


mainmenu_option next_comment
comment 'Kernel hacking'

choice 'Physical memory granularity'				\
	"16MB			CONFIG_IA64_GRANULE_16MB	\
	 64MB			CONFIG_IA64_GRANULE_64MB" 64MB

bool 'Kernel debugging' CONFIG_DEBUG_KERNEL
if [ "$CONFIG_DEBUG_KERNEL" != "n" ]; then
   bool '  Print possible IA64 hazards to console' CONFIG_IA64_PRINT_HAZARDS
   bool '  Disable VHPT' CONFIG_DISABLE_VHPT
   bool '  Magic SysRq key' CONFIG_MAGIC_SYSRQ

   bool '  Early printk support (requires VGA!)' CONFIG_IA64_EARLY_PRINTK
   bool '  Debug memory allocations' CONFIG_DEBUG_SLAB
   bool '  Spinlock debugging' CONFIG_DEBUG_SPINLOCK
   bool '  Turn on compare-and-exchange bug checking (slow!)' CONFIG_IA64_DEBUG_CMPXCHG
   bool '  Turn on irq debug checks (slow!)' CONFIG_IA64_DEBUG_IRQ
fi

endmenu
