
package genconfig

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

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

	include embox.driver.interrupt.i8259_headers
	include embox.driver.interrupt.lapic
	include embox.driver.interrupt.ioapic
	include embox.driver.clock.pit(irq_num=2)
	include embox.kernel.time.jiffies(cs_name="pit")
	//include embox.driver.clock.lapic_timer
	//include embox.kernel.time.jiffies(cs_name="lapic_timer")

	@Runlevel(0) include embox.kernel.timer.sys_timer
	@Runlevel(0) include embox.kernel.time.kernel_time
	@Runlevel(1) include embox.kernel.sched.strategy.priority_based_smp
	@Runlevel(1) include embox.kernel.timer.sleep
	@Runlevel(1) include embox.kernel.timer.strategy.head_timer_smp
	@Runlevel(1) include embox.kernel.time.kernel_time
	@Runlevel(1) include embox.kernel.irq
	@Runlevel(1) include embox.kernel.critical
	@Runlevel(1) include embox.kernel.task.multi
	include embox.kernel.sched.idle_thread
	include embox.kernel.sched.sched(log_level="LOG_NONE")
	include embox.kernel.thread.core(log_level="LOG_NONE")

	@Runlevel(1) include embox.mem.pool_adapter
	@Runlevel(1) include embox.mem.static_heap(heap_size=16777216)
	@Runlevel(1) include embox.mem.heap_bm(heap_size=8388608)
	@Runlevel(1) include embox.mem.bitmask

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

	@Runlevel(1) include embox.driver.tty.tty
	@Runlevel(1) include embox.driver.tty.vterm
	@Runlevel(1) include embox.driver.input.keyboard.i8042_keyboard

	@Runlevel(1) include embox.driver.virtual.null
	@Runlevel(1) include embox.driver.virtual.zero


/*enable back tracing for panic (asserts)*/
	@Runlevel(1) include embox.arch.x86.stackframe
	@Runlevel(1) include embox.lib.debug.whereami

	@Runlevel(1) include embox.driver.net.loopback
	@Runlevel(1) include embox.driver.net.ne2k_pci

	@Runlevel(1) include embox.fs.driver.initfs
	@Runlevel(1) include embox.fs.rootfs_oldfs
	@Runlevel(1) include embox.fs.driver.devfs
	@Runlevel(1) include embox.compat.posix.file_system_oldfs

	@Runlevel(0) include embox.driver.ide

	/**
	* SMP module init before test module for accuracy
	* And after unit initializing to prevent bootstrap
	* thread be scheduled to APs
	*/
	@Runlevel(3) include embox.arch.x86.kernel.smp
	@Runlevel(3) include embox.kernel.cpu.smp

	@Runlevel(3) include embox.test.smp.test_smp
	@Runlevel(3) include embox.test.smp.simult_thread_test(log_level="LOG_DEBUG")

	@Runlevel(3) include embox.cmd.sh.tish
	@Runlevel(3) include embox.init.system_start_service(log_level="LOG_INFO", tty_dev="ttyS0")
	//include embox.init.system_start_service(shell_name="tish",tty_dev="ttyS0",shell_start=1)

	include embox.cmd.net.arp
	include embox.cmd.net.arping
	include embox.cmd.net.ifconfig
	include embox.cmd.net.ping
	include embox.cmd.net.route
	include embox.cmd.net.tftp
	include embox.cmd.net.nslookup
	include embox.cmd.net.netstat
	include embox.cmd.net.telnetd
	include embox.cmd.net.httpd
	include embox.cmd.net.iptables
	include embox.cmd.net.ftp

	include embox.cmd.fs.cat
	include embox.cmd.fs.ls
	include embox.cmd.fs.echo
	include embox.cmd.fs.touch
	include embox.cmd.fs.mkdir
	include embox.cmd.fs.cp
	include embox.cmd.fs.rm

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

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

	include embox.cmd.lspci
	include embox.cmd.hw.mem
	include embox.cmd.cpuinfo


	include embox.cmd.sys.date
	include embox.cmd.sys.version
	include embox.cmd.sys.uname

	include embox.cmd.proc.kill
	include embox.cmd.proc.nice
	include embox.cmd.proc.renice
	include embox.cmd.proc.ps
	include embox.cmd.proc.taskset

	include embox.cmd.user.who
	include embox.cmd.user.whoami

	include embox.cmd.mpstat

	include embox.cmd.testing.ticker

	@Runlevel(1) include embox.net.core
	@Runlevel(1) include embox.net.socket
	@Runlevel(1) include embox.net.dev
	@Runlevel(1) include embox.net.af_inet
	@Runlevel(1) include embox.net.ipv4
	@Runlevel(1) include embox.net.arp
	@Runlevel(1) include embox.net.icmpv4
	@Runlevel(1) include embox.net.udp
	@Runlevel(1) include embox.net.tcp
	@Runlevel(1) include embox.net.udp_sock
	@Runlevel(1) include embox.net.tcp_sock
	@Runlevel(1) include embox.net.raw_sock
	@Runlevel(1) include embox.net.net_entry

	@Runlevel(1) include embox.lib.libds
	@Runlevel(1) include embox.framework.LibFramework
	@Runlevel(1) include embox.compat.posix.LibPosix
	@Runlevel(1) include embox.compat.libc.all
	include embox.compat.libc.math_openlibm
}
