package genconfig

configuration conf {
	@Runlevel(2) include embox.arch.x86.kernel.cpu_idle
	@Runlevel(2) include embox.arch.x86.kernel.locore
	@Runlevel(2) include embox.arch.x86.kernel.context
	@Runlevel(2) include embox.arch.x86.kernel.interrupt
	include embox.arch.x86.vfork

	include embox.arch.x86.libarch
	//include embox.arch.x86.cpu_info_x86

	@Runlevel(2) include embox.arch.x86.stackframe
	@Runlevel(2) include embox.lib.debug.whereami

	@Runlevel(2) include embox.driver.interrupt.i8259
	@Runlevel(2) include embox.driver.clock.pit
	include embox.kernel.time.jiffies(cs_name="pit")
	/*@Runlevel(2) include embox.driver.clock.tsc*/

	@Runlevel(2) include embox.driver.serial.i8250_diag(baud_rate=38400)
	@Runlevel(2) include embox.driver.diag(impl="embox__driver__serial__i8250_diag")
	@Runlevel(2) include embox.driver.serial.i8250_ttyS0(baud_rate=38400)

	@Runlevel(2) include embox.driver.net.e1000
	@Runlevel(2) include embox.driver.net.loopback
	@Runlevel(2) include embox.profiler.tracing
	@Runlevel(2) include embox.driver.virtual.null
	@Runlevel(2) include embox.driver.virtual.zero

	@Runlevel(1) include embox.driver.ide
	@Runlevel(2) include embox.fs.node(fnode_quantity=1024)
	@Runlevel(2) include embox.fs.driver.fat
	@Runlevel(2) include embox.fs.driver.cdfs
	@Runlevel(2) include embox.fs.driver.initfs
	@Runlevel(2) include embox.fs.driver.nfs
	@Runlevel(2) include embox.fs.driver.ramfs
	@Runlevel(2) include embox.fs.rootfs_oldfs

	@Runlevel(1) include embox.kernel.timer.sys_timer
	@Runlevel(1) include embox.kernel.time.kernel_time
	@Runlevel(1) include embox.kernel.thread.core(thread_pool_size=512, thread_stack_size=0x4000)
	@Runlevel(1) include embox.kernel.lthread.lthread(lthread_pool_size=512)
	include embox.kernel.thread.signal.sigstate
	include embox.kernel.thread.signal.siginfoq


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


	@Runlevel(2) include embox.cmd.sh.tish(prompt="%u@%h:%w%$", rich_prompt_support=1, builtin_commands="exit logout cd export mount umount")
	@Runlevel(3) include embox.init.start_script(shell_name="tish", tty_dev="ttyS0", shell_start=1)
	include embox.cmd.net.arp
	include embox.cmd.net.netstat
	include embox.cmd.net.arping
	include embox.cmd.net.rarping
	include embox.cmd.net.ifconfig
	include embox.cmd.net.ping
	include embox.cmd.net.iptables
	include embox.cmd.net.route
	include embox.cmd.net.ftp
	include embox.cmd.net.tftp
	include embox.cmd.net.snmpd
	include embox.cmd.net.ntpdate
	include embox.cmd.net.bootpc
	include embox.cmd.net.httpd
	include embox.cmd.net.httpd_cgi(use_real_cmd=true)
        include embox.service.hello_srs
        include embox.compat.posix.proc.vfork_stop_parent
        include embox.compat.posix.proc.exec_stop_parent
	include embox.cmd.net.telnetd
	include embox.cmd.net.nslookup
	include embox.cmd.net.getmail
	include embox.cmd.net.sendmail
	include embox.cmd.net.speedtest

	include embox.cmd.fs.cat
	include embox.cmd.fs.cd
	include embox.cmd.fs.pwd
	include embox.cmd.fs.ls
	include embox.cmd.fs.rm
	include embox.cmd.fs.mkfs
	include embox.cmd.fs.mount
	include embox.cmd.fs.more
	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.fs.mv

	// include embox.cmd.cpuinfo


	include embox.cmd.help
	include embox.cmd.man

	include embox.cmd.sys.uname
	include embox.cmd.sys.env
	include embox.cmd.sys.export
	include embox.cmd.sys.version
	include embox.cmd.sys.shutdown

	include embox.cmd.lsmod
	include embox.cmd.test

    include embox.cmd.tbprof
	include embox.cmd.trace_blocks
	include embox.cmd.trace_points
	include embox.cmd.ide
	include embox.cmd.lspci
	include embox.cmd.hw.mem

	include embox.cmd.proc.nice
	include embox.cmd.proc.renice

	include embox.cmd.proc.thread
	include embox.cmd.proc.top


	@Runlevel(2) include embox.net.core
	@Runlevel(2) include embox.net.skbuff(amount_skb=4000)
	@Runlevel(2) include embox.net.skbuff_data(amount_skb_data=4000,data_size=1514,data_align=1,data_padto=1,ip_align=false)
	@Runlevel(2) include embox.net.socket
	@Runlevel(2) include embox.net.dev
	@Runlevel(2) include embox.net.af_inet
	@Runlevel(2) include embox.net.af_packet
	@Runlevel(2) include embox.net.ipv4
	@Runlevel(2) include embox.net.arp
	@Runlevel(2) include embox.net.rarp
	@Runlevel(2) include embox.net.icmpv4
	@Runlevel(2) include embox.net.udp
	@Runlevel(2) include embox.net.tcp
	@Runlevel(2) include embox.net.udp_sock
	@Runlevel(2) include embox.net.tcp_sock
	@Runlevel(2) include embox.net.raw_sock
	@Runlevel(2) include embox.net.net_entry
	@Runlevel(2) include embox.test.net.socket_test(family=2,type=1,proto=0) /* AF_INET, SOCK_STREAM, default */
	@Runlevel(2) include embox.test.net.inet_socket_test(type=1,proto=0) /* SOCK_STREAM, default */
	@Runlevel(2) include embox.test.net.inet_dgram_socket_test(proto=0) /* default */
	@Runlevel(2) include embox.test.net.inet_stream_socket_test(proto=0) /* default */

	@Runlevel(2) include embox.kernel.sched.strategy.priority_based
	@Runlevel(2) include embox.kernel.timer.sleep
	@Runlevel(2) include embox.kernel.timer.strategy.head_timer
	@Runlevel(2) include embox.kernel.irq
	@Runlevel(2) include embox.kernel.critical

	@Runlevel(2) include embox.mem.pool_adapter
	@Runlevel(2) include embox.kernel.task.multi
	@Runlevel(2) include embox.mem.bitmask
	@Runlevel(2) include embox.mem.static_heap(heap_size=134217728)
	@Runlevel(2) include embox.mem.heap_bm(heap_size=67108864)


	@Runlevel(2) include embox.lib.libds
	@Runlevel(2) include embox.framework.LibFramework
	@Runlevel(2) include embox.compat.libc.all
	include embox.compat.libc.math_openlibm

	include embox.demo.website
}

