config ADK_KERNEL_STAGING
	bool

config ADK_KERNEL_EXPERIMENTAL
	bool

config ADK_KERNEL_RESET_CONTROLLER
        bool

config ADK_KERNEL_BLK_DEV_INITRD
	bool

config ADK_KERNEL_BLK_DEV_RAM
	bool

config ADK_KERNEL_INITRAMFS_COMPRESSION_NONE
	bool

config ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
	bool
	select ADK_HOST_NEED_XZ

config ADK_KERNEL_INITRAMFS_COMPRESSION_LZ4
	bool
	select ADK_HOST_NEED_LZ4

config ADK_KERNEL_INITRAMFS_COMPRESSION_LZMA
	bool
	select ADK_HOST_NEED_LZMA

config ADK_KERNEL_INITRAMFS_COMPRESSION_LZO
	bool
	select ADK_HOST_NEED_LZOP

config ADK_KERNEL_INITRAMFS_COMPRESSION_BZIP2
	bool
	select ADK_HOST_NEED_BZIP2

config ADK_KERNEL_INITRAMFS_COMPRESSION_GZIP
	bool

config ADK_KERNEL_RD_GZIP
	bool

config ADK_KERNEL_KERNEL_GZIP
	bool

config ADK_KERNEL_RD_BZIP2
	bool

config ADK_KERNEL_KERNEL_BZIP2
	bool

config ADK_KERNEL_RD_LZ4
	bool

config ADK_KERNEL_KERNEL_LZ4
	bool

config ADK_KERNEL_RD_LZMA
	bool

config ADK_KERNEL_KERNEL_LZMA
	bool

config ADK_KERNEL_RD_LZO
	bool

config ADK_KERNEL_KERNEL_LZO
	bool

config ADK_KERNEL_RD_XZ
	bool

config ADK_KERNEL_KERNEL_XZ
	bool

config ADK_KERNEL_INITRAMFS_SOURCE
	string
	default ""

config ADK_KERNEL_NETWORK_FILESYSTEMS
	bool

config ADK_KERNEL_IP_PNP
	bool

config ADK_KERNEL_IP_PNP_DHCP
	bool

config ADK_KERNEL_ROOT_NFS
	bool

config ADK_KERNEL_NFS_COMMON
	bool

config ADK_KERNEL_64BIT
	bool
	default y if ADK_LINUX_64

config ADK_KERNEL_CPU_MIPS64
	bool

config ADK_KERNEL_CPU_MIPS64_R1
	bool

config ADK_KERNEL_CPU_MIPS64_R2
	bool

# ARM specific
config ADK_KERNEL_AEABI
	bool
	default y if ADK_TARGET_ARCH_ARM

config ADK_KERNEL_THUMB2_KERNEL
	bool

# endianess
config ADK_KERNEL_CPU_BIG_ENDIAN
	bool
	default y if ADK_TARGET_BIG_ENDIAN

config ADK_KERNEL_CPU_LITTLE_ENDIAN
	bool
	default y if ADK_TARGET_LITTLE_ENDIAN

choice
prompt "Kernel Compression"
depends on !ADK_TARGET_SYSTEM_MIKROTIK_RB532
default ADK_KERNEL_COMP_GZIP if ADK_TARGET_BOARD_BCM28XX

config ADK_KERNEL_COMP_XZ
	bool "use XZ compression"
	select ADK_KERNEL_RD_XZ
	select ADK_KERNEL_KERNEL_XZ
	select ADK_KERNEL_INITRAMFS_COMPRESSION_XZ
	depends on !ADK_TARGET_UCLINUX

config ADK_KERNEL_COMP_LZ4
	bool "use LZ4 compression"
	select ADK_KERNEL_RD_LZ4
	select ADK_KERNEL_KERNEL_LZ4
	select ADK_KERNEL_INITRAMFS_COMPRESSION_LZ4
	depends on ADK_TARGET_ARCH_X86 || ADK_TARGET_ARCH_ARM
	depends on !ADK_TARGET_UCLINUX

config ADK_KERNEL_COMP_LZMA
	bool "use LZMA compression"
	select ADK_KERNEL_RD_LZMA
	select ADK_KERNEL_KERNEL_LZMA
	select ADK_KERNEL_INITRAMFS_COMPRESSION_LZMA
	depends on !ADK_TARGET_UCLINUX

config ADK_KERNEL_COMP_LZO
	bool "use LZO compression"
	select ADK_KERNEL_RD_LZO
	select ADK_KERNEL_KERNEL_LZO
	select ADK_KERNEL_INITRAMFS_COMPRESSION_LZO
	depends on !ADK_TARGET_UCLINUX

config ADK_KERNEL_COMP_BZIP2
	bool "use BZIP2 compression"
	select ADK_KERNEL_RD_BZIP2
	select ADK_KERNEL_KERNEL_BZIP2
	select ADK_KERNEL_INITRAMFS_COMPRESSION_BZIP2
	depends on !ADK_TARGET_UCLINUX

config ADK_KERNEL_COMP_GZIP
	bool "use GZIP compression"
	select ADK_KERNEL_RD_GZIP
	select ADK_KERNEL_KERNEL_GZIP
	select ADK_KERNEL_INITRAMFS_COMPRESSION_GZIP

endchoice

menu "Kernel options"

config ADK_KERNEL_BINFMT_FLAT
	bool
	default y if ADK_TARGET_BINFMT_FLAT

config ADK_KERNEL_MMU
	bool

config ADK_KERNEL_VFP
	bool
	default y if ADK_TARGET_CPU_WITH_FPU_VFP

config ADK_KERNEL_VFPv3
	bool
	select ADK_KERNEL_VFP
	default y if ADK_TARGET_CPU_WITH_FPU_VFPV3

config ADK_KERNEL_VFPv4
	bool
	select ADK_KERNEL_VFP
	default y if ADK_TARGET_CPU_WITH_FPU_VFPV4

config ADK_KERNEL_NEON
	bool
	default y if ADK_TARGET_ARCH_ARM_WITH_NEON

config ADK_KERNEL_MODE_NEON
	bool
	default y if ADK_TARGET_ARCH_ARM_WITH_NEON

config ADK_TARGET_NO_CMDLINE
	bool "Do not builtin any kernel cmdline"
	help
	  No kernel command line modifictaion is done.

config ADK_KERNEL_SMP
	bool "Enable symmetric multi processing"
	depends on ADK_TARGET_WITH_SMP
	default y if ADK_TARGET_WITH_SMP
	default n
	help
	  Enable symmetric multi processing support.

config ADK_KERNEL_HIGHMEM
	bool "Enable high memory"
	default y if ADK_TARGET_CUBOX_I4PRO
	default y if ADK_TARGET_CUBOX_I2ULTRA
	default y if ADK_TARGET_CUBOX_I2EX
	default y if ADK_TARGET_SYSTEM_IBM_X40
	default n
	help
	  Enable high memory support.

config ADK_KERNEL_CC_OPTIMIZE_FOR_SIZE
	bool "Optimize for size"
	# does not boot in qemu-microblaze
	depends on !ADK_TARGET_ARCH_MICROBLAZE
	default y

config ADK_KERNEL_PREEMPT
	bool "Enable preemptive kernel"
	help
	  Enable preemptive mode.


choice
prompt "tick configuration"

config ADK_KERNEL_NO_HZ_IDLE
	bool "no HZ IDLE, dynamic tick"

config ADK_KERNEL_NO_HZ_FULL
	bool "no HZ FULL, dynamic tick"

config ADK_KERNEL_HZ_PERIODIC
	bool "periodic tick"

endchoice

choice
prompt "HZ"
depends on ADK_KERNEL_HZ_PERIODIC

config ADK_KERNEL_HZ_100
	bool "100 HZ"

config ADK_KERNEL_HZ_500
	bool "500 HZ"

config ADK_KERNEL_HZ_1000
	bool "1000 HZ"

endchoice

config ADK_KERNEL_HIGH_RES_TIMERS
	bool "Enable high resolution timers"
	help

comment "uses experimental external patch"
config ADK_KERNEL_PREEMPT_RT_FULL
        bool "Enable Realtime support"
	depends on ADK_KERNEL_VERSION_3_18
        help
	  https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/

choice
prompt "Page size"
depends on ADK_TARGET_ARCH_MIPS64
default ADK_KERNEL_PAGE_SIZE_16KB if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default ADK_KERNEL_PAGE_SIZE_4KB

config ADK_KERNEL_PAGE_SIZE_4KB
	bool "4kB"

config ADK_KERNEL_PAGE_SIZE_16KB
	bool "16kB"

config ADK_KERNEL_PAGE_SIZE_64KB
	bool "64kB"

endchoice
endmenu
