#config SGI_SN0_XXL
#	bool "IP27 XXL"
#	depends on SGI_IP27
#	  This options adds support for userspace processes upto 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.
