#config SGI_SN0_XXL
#	bool "IP27 XXL"
#	depends on SGI_IP27
#	  This options adds support for userspace processes up to 16TB size.
#	  Normally the limit is just .5TB.

choice
	prompt "Node addressing mode"
	depends on SGI_IP27
	default SGI_SN_M_MODE

config SGI_SN_M_MODE
	bool "IP27 M-Mode"
	help
	  The nodes of Origin, Onyx, Fuel and Tezro systems can be configured
	  in either N-Modes which allows for more nodes or M-Mode which allows
	  for more memory.  Your hardware is almost certainly running in
	  M-Mode, so choose M-mode here.

config SGI_SN_N_MODE
	bool "IP27 N-Mode"
	depends on EXPERIMENTAL
	help
	  The nodes of Origin, Onyx, Fuel and Tezro systems can be configured
	  in either N-Modes which allows for more nodes or M-Mode which allows
	  for more memory.  Your hardware is almost certainly running in
	  M-Mode, so choose M-mode here.

endchoice

config MAPPED_KERNEL
	bool "Mapped kernel support"
	depends on SGI_IP27
	help
	  Change the way a Linux kernel is loaded into memory on a MIPS64
	  machine.  This is required in order to support text replication on
	  NUMA.  If you need to understand it, read the source code.

config REPLICATE_KTEXT
	bool "Kernel text replication support"
	depends on SGI_IP27
	select MAPPED_KERNEL
	help
	  Say Y here to enable replicating the kernel text across multiple
	  nodes in a NUMA cluster.  This trades memory for speed.

config REPLICATE_EXHANDLERS
	bool "Exception handler replication support"
	depends on SGI_IP27
	help
	  Say Y here to enable replicating the kernel exception handlers
	  across multiple nodes in a NUMA cluster. This trades memory for
	  speed.
