package genconfig

configuration conf {
	include embox.arch.system(core_freq=48054841)
	include embox.arch.arm.armv7a.head(multi_processing=1)
	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.static_excpt_table
	include embox.arch.arm.vfork
	include embox.arch.arm.libarch

	@Runlevel(0) include embox.kernel.stack(stack_size=4096)

	include embox.driver.serial.ns16550
	include embox.driver.serial.ns16550_diag(base_addr=0x01c28000)
	include embox.driver.serial.ns16550_ttyS0(base_addr=0x01c28000, irq_num=32)
	include embox.driver.diag(impl="embox__driver__serial__ns16550_diag")

	include embox.driver.interrupt.gicv1(gicd_base=0x01c81000, gicc_base=0x01c82000)

	@Runlevel(1) include embox.driver.clock.omap3_clk
	include embox.kernel.time.jiffies(cs_name="omap3_clk")
	@Runlevel(1) include embox.kernel.timer.sys_timer

	include embox.kernel.spinlock(spin_debug=false)
	@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

	@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)

	include embox.kernel.timer.sys_timer(timer_quantity=512) // each sleep thread requires a timer

	include embox.net.dev
	include embox.net.skbuff(amount_skb=100)
	include embox.net.skbuff_data(amount_skb_data=100,data_size=1514,data_align=4,data_padto=1,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

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

	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

	@Runlevel(3) include embox.init.start_script
	@Runlevel(2) include embox.cmd.shell

	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
}
