
package genconfig

configuration conf {
	include embox.arch.system(core_freq=144000000)
	include embox.arch.arm.cortexm3.bundle
	include embox.arch.arm.armmlib.cpu_idle
	include embox.arch.arm.libarch
	include embox.arch.arm.vfork

	include platform.stm32.platform_init
	include platform.stm32.platform_shutdown
	include platform.stm32.f4.stm32f4_discovery.bsp

	@Runlevel(1) include embox.driver.interrupt.cortexm_nvic(irq_table_size=128)
	@Runlevel(1) include embox.driver.clock.cortexm_systick
	include embox.kernel.time.jiffies(cs_name="cortexm_systick")

	@Runlevel(1) include embox.driver.serial.stm_usart_f4
	@Runlevel(1) include embox.driver.serial.stm_diag(baud_rate=115200, usartx=6)
	@Runlevel(1) include embox.driver.diag(impl="embox__driver__serial__stm_diag")

	include embox.driver.serial.core_notty

	@Runlevel(2) include embox.driver.net.stm32f4cube_eth
	@Runlevel(2) include embox.driver.net.loopback
	@Runlevel(2) include embox.driver.sd.stm32f4_sd
	@Runlevel(2) include embox.driver.block.partition

	include embox.driver.flash.flash_cache_block
	@Runlevel(2) include embox.driver.flash.stm32f4cube
	@Runlevel(2) include embox.driver.flash.flash_fs

	include embox.kernel.stack(stack_size=4096,alignment=4)

	include embox.kernel.task.multi
	include embox.kernel.task.resource.idesc_table(idesc_table_size=10)

	include embox.kernel.thread.thread_local_none
	include embox.kernel.thread.thread_cancel_disable
	include embox.net.net_entry(hnd_priority=255)
	include embox.net.skbuff(amount_skb=10)
	include embox.net.skbuff_data(amount_skb_data=10)
	include embox.net.sock_noxattr
	include embox.net.tcp
	include embox.net.udp
	include embox.net.tcp_sock(amount_tcp_sock=20)
	include embox.net.udp_sock
	include embox.net.af_packet
	
	include embox.kernel.sched.sched
	include embox.kernel.sched.idle_light
	include embox.kernel.thread.signal.siginfoq(siginfo_pool_sz=0)

	include embox.kernel.lthread.lthread
	include embox.kernel.thread.core(thread_pool_size=2)

	/* tty requires */
	include embox.kernel.thread.mutex
	/*include embox.driver.tty.tty(rx_buff_sz=16, io_buff_sz=16)*/
	include embox.driver.tty.task_breaking_disable

	@Runlevel(2) include embox.cmd.msleep
	@Runlevel(2) include embox.cmd.sh.tish(builtin_commands = "cd export exit logout cnc_init httpd")
	include embox.init.setup_tty_diag
	@Runlevel(3) include embox.init.start_script(shell_name="tish")

	include embox.cmd.sys.version

	include embox.cmd.fs.dd
	include embox.cmd.fs.cat
	include embox.cmd.fs.ls
	include embox.cmd.fs.rm
	include embox.cmd.fs.mount
	include embox.cmd.fs.umount
	include embox.cmd.fs.stat
	include embox.cmd.fs.echo
	include embox.cmd.fs.touch
	include embox.cmd.fs.mkdir
	include embox.cmd.fs.cp

	include embox.cmd.hw.lsblk
	include embox.cmd.hw.partition

	include embox.cmd.net.ifconfig
	include embox.cmd.net.route
	include embox.cmd.net.ping
	include embox.cmd.net.bootpc

	include embox.cmd.net.httpd
	include embox.cmd.net.httpd_cgi(use_real_cmd=true)
	include cnc_web_admin.cgi_bin.http_admin
	include embox.service.http_admin_iface_list(is_readonly=false)
	include embox.service.http_admin_iface_html

	include cnc_web_admin.cgi_bin.live_status
	include cnc_web_admin.cgi_bin.cnc_control
	include cnc_web_admin.cgi_bin.cnc_init
	include cnc_web_admin.cgi_bin.cnc_manager
	include embox.service.cgi_cmd_wrapper
	include embox.service.multipart_formdata(base="/mnt/")
	include embox.kernel.task.resource.env(env_str_len=100)

	include embox.compat.posix.proc.vfork_exchanged
	include embox.compat.posix.proc.exec_exchanged

	include embox.util.log
	include embox.kernel.critical
	include embox.kernel.irq(action_n=10, entry_n=10)
	include embox.mem.pool_adapter

	include embox.lib.libds
	include embox.framework.mod(
		use_mod_depends=false,
		use_mod_labels=false,
		use_mod_logger=false,
		use_mod_names=false,
		use_cmd_details=false)
	include embox.framework.LibFramework
	include embox.compat.libc.stdio.print(support_floating=0)

	include embox.mem.heap_bm
	include embox.mem.static_heap(heap_size=0x10000,section="")
	include embox.mem.bitmask(page_size=512)

	include embox.fs.driver.initfs_dvfs(file_quantity=32)
	include embox.fs.driver.devfs_dvfs
	include embox.fs.rootfs_dvfs(fstype="initfs")
	include embox.fs.driver.fat_dvfs(log_level="LOG_ERR")

	include embox.driver.virtual.null
	include embox.driver.virtual.zero

	include embox.fs.dvfs.core
	include embox.compat.posix.file_system_dvfs
	include embox.fs.syslib.perm_stub
	include embox.driver.block_dev(dev_quantity=4)
}
