package genconfig

configuration conf {
	include embox.arch.system(core_freq=48054841)
	include embox.arch.arm.armv7a.head
	include embox.arch.arm.armv7a.cpu_idle
	include embox.arch.arm.armlib.locore
	include embox.arch.arm.armlib.interrupt
	include embox.arch.arm.armlib.context
	include embox.arch.arm.armlib.mem_barriers
	include embox.arch.arm.armlib.high_excpt_table
	include embox.arch.arm.stackframe
	include embox.arch.arm.vfork
	include embox.arch.arm.libarch

	//@Runlevel(0) include embox.arch.arm.mmu_small_page
	//@Runlevel(0) include embox.mem.vmem

	include embox.driver.serial.ns16550
	include embox.driver.serial.ns16550_diag(base_addr=0x49020000)
	include embox.driver.diag(impl="embox__driver__serial__ns16550_diag")

	@Runlevel(0) include embox.kernel.stack(stack_size=4096)
	@Runlevel(1) include embox.driver.interrupt.omap3_intc
	@Runlevel(1) include embox.driver.clock.omap3_clk
	include embox.kernel.time.jiffies(cs_name="omap3_clk")
	@Runlevel(1) include embox.driver.gpmc.omap3_gpmc
	@Runlevel(1) include embox.driver.gpio.omap3_gpio

	@Runlevel(1) include embox.driver.net.lan9118
	@Runlevel(1) include embox.driver.net.lan9118_gpio_irq(port=6,irq_pin=16,memory_region_size = 0x1000000)

	@Runlevel(2) include embox.driver.net.loopback
	@Runlevel(1) include embox.kernel.timer.sys_timer

	@Runlevel(1) include embox.kernel.timer.strategy.head_timer
	@Runlevel(1) include embox.kernel.irq
	@Runlevel(1) include embox.kernel.critical
	@Runlevel(1) include embox.kernel.timer.sleep

	include embox.mem.bitmask(page_size=1048576) /* 1 MiB for ARM section mode */

	@Runlevel(1) include embox.kernel.thread.core(thread_pool_size=512)
	@Runlevel(1) include embox.kernel.sched.strategy.priority_based

	@Runlevel(2) include embox.kernel.task.multi
	@Runlevel(2) include embox.kernel.stack(stack_size=0x20000)

	@Runlevel(1) include embox.kernel.thread.core(thread_pool_size=1024, thread_stack_size=0x4000)

	@Runlevel(2) include embox.fs.driver.initfs
	@Runlevel(2) include embox.fs.rootfs_oldfs
	@Runlevel(2) include embox.fs.driver.devfs
	@Runlevel(2) include embox.fs.node(fnode_quantity=512)

	//@Runlevel(3) include embox.init.start_script
	//@Runlevel(2) include embox.cmd.shell
	@Runlevel(2) include embox.cmd.sh.tish(prompt="%u@%h:%w%$", rich_prompt_support=1, builtin_commands="exit logout cd export mount umount")
	include embox.init.start_script(shell_name="tish", shell_start=1, stop_on_error=true)

	include embox.cmd.test
	include embox.cmd.help

	include embox.cmd.sys.date
	include embox.cmd.sys.version
	include embox.cmd.fs.cat
	include embox.cmd.fs.ls

	include embox.cmd.proc.thread
	include embox.cmd.sys.export

	include embox.cmd.net.arp
	include embox.cmd.net.arping
	include embox.cmd.net.ping
	include embox.cmd.net.ifconfig
	include embox.cmd.net.route
	include embox.cmd.net.telnetd
	include embox.cmd.net.httpd

	include embox.compat.libc.stdio.print(support_floating=0)
	include embox.mem.pool_adapter
	include embox.lib.libds
	include embox.framework.LibFramework
	include embox.compat.libc.all
	include embox.compat.libc.math_openlibm
	include third_party.lib.libgcc_toolchain

	include embox.net.dev
	include embox.net.skbuff(amount_skb=4000)
	include embox.net.skbuff_data(amount_skb_data=4000,data_size=1514,data_align=64,data_padto=64,ip_align=true)
	include embox.net.core
	include embox.net.net_entry
	include embox.net.l2.ethernet
	include embox.net.arp
	include embox.net.af_inet
	include embox.net.ipv4
	include embox.net.icmpv4
	include embox.net.udp
	include embox.net.tcp
	include embox.net.udp_sock
	include embox.net.tcp_sock
	include embox.net.raw_sock
	include embox.net.lib.dns_fixed(nameserver="192.168.0.1")

	include embox.kernel.timer.sys_timer(timer_quantity=512) // each sleep thread requires a timer
	//@Runlevel(1) include embox.test.mmu_core

	include embox.net.dev

	include embox.net.core
	include embox.net.net_entry
	include embox.net.l2.ethernet
	include embox.net.arp
	include embox.net.af_inet
	include embox.net.ipv4
	include embox.net.icmpv4
	include embox.net.udp
	include embox.net.tcp
	include embox.net.udp_sock
	include embox.net.tcp_sock
	include embox.net.raw_sock

	@Runlevel(2) include embox.mem.static_heap(heap_size=64000000)
	@Runlevel(2) include embox.mem.heap_bm(heap_size=32000000)

	include embox.lib.debug.whereami
	include embox.demo.website
}
