Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0
#
# For a description of the syntax of this configuration file,
# see Documentation/kbuild/kconfig-language.rst.
#

menuconfig CONFIG_ARC_PLAT_EZNPS
	bool "\"EZchip\" ARC dev platform"
	select CONFIG_CPU_BIG_ENDIAN
	select CONFIG_CLKSRC_NPS
	select CONFIG_EZNPS_GIC
	select CONFIG_EZCHIP_NPS_MANAGEMENT_ENET if CONFIG_ETHERNET
	help
	  Support for EZchip development platforms,
	  based on ARC700 cores.
	  We handle few flavors:
	    - Hardware Emulator AKA HE which is CONFIG_FPGA based chassis
	    - Simulator based on MetaWare nSIM
	    - NPS400 chip based on ASIC

config CONFIG_EZNPS_MTM_EXT
	bool "ARC-EZchip MTM Extensions"
	select CONFIG_CPUMASK_OFFSTACK
	depends on CONFIG_ARC_PLAT_EZNPS && CONFIG_SMP
	default y
	help
	  Here we add new hierarchy for CPUs topology.
	  We got:
	    Core
	    Thread
	  At the new thread level each CPU represent one HW thread.
	  At highest hierarchy each core contain 16 threads,
	  any of them seem like CPU from Linux point of view.
	  All threads within same core share the execution unit of the
	  core and HW scheduler round robin between them.

config CONFIG_EZNPS_MEM_ERROR_ALIGN
	bool "ARC-EZchip Memory error as an exception"
	depends on CONFIG_EZNPS_MTM_EXT
	default n
	help
	  On the real chip of the NPS, user memory errors are handled
	  as a machine check exception, which is fatal, whereas on
	  simulator platform for NPS, is handled as a Level 2 interrupt
	  (just a stock ARC700) which is recoverable. This option makes
	  simulator behave like hardware.

config CONFIG_EZNPS_SHARED_AUX_REGS
	bool "ARC-EZchip Shared Auxiliary Registers Per Core"
	depends on CONFIG_ARC_PLAT_EZNPS
	default y
	help
	  On the real chip of the NPS, auxiliary registers are shared between
	  all the cpus of the core, whereas on simulator platform for NPS,
	  each cpu has a different set of auxiliary registers. Configuration
	  should be unset if auxiliary registers are not shared between the cpus
	  of the core, so there will be a need to initialize them per cpu.