package genconfig

configuration conf {
	include embox.arch.system(core_freq=1000000000)
	include embox.arch.riscv.kernel.locore
	include embox.arch.riscv.kernel.context
	include embox.arch.riscv.libarch
	include embox.arch.riscv.vfork
	include embox.arch.riscv.kernel.sbi

	include embox.mem.bitmask
	include embox.driver.periph_memory_stub
	include embox.arch.generic.nommu
	include embox.mem.sysmalloc_task_based
	include embox.mem.heap_bm

	include embox.kernel.task.resource.errno

	include embox.driver.serial.ns16550(reg_width=1)
	include embox.driver.serial.ns16550_diag(base_addr=0x10000000)
	include embox.driver.serial.ns16550_ttyS0(base_addr=0x10000000, irq_num=10)
	include embox.driver.diag(impl="embox__driver__serial__ns16550_diag")

	include embox.driver.interrupt.riscv_plic
	include embox.driver.clock.riscv_mtimer(rtc_freq=10000000)
	include embox.kernel.time.jiffies(cs_name="riscv_mtimer")

	/* Tell printf() do not support floating point */
	include embox.compat.libc.stdio.print(support_floating=0)

	@Runlevel(0) include embox.mem.phymem
	@Runlevel(1) include embox.kernel.timer.sys_timer
	@Runlevel(1) include embox.kernel.time.kernel_time

	@Runlevel(2) include embox.kernel.irq
	@Runlevel(2) include embox.kernel.critical
	@Runlevel(2) include embox.kernel.timer.sleep
	@Runlevel(2) include embox.kernel.timer.strategy.head_timer
	@Runlevel(2) include embox.kernel.time.kernel_time
	@Runlevel(2) include embox.kernel.task.multi
	@Runlevel(2) include embox.kernel.thread.core
	include embox.kernel.stack
	include embox.kernel.sched.strategy.priority_based
	include embox.kernel.thread.signal.sigstate
	include embox.kernel.thread.signal.siginfoq

	include embox.mem.pool_adapter
	@Runlevel(2) include embox.mem.static_heap
	include embox.mem.heap_bm
	include embox.mem.bitmask

	@Runlevel(2) include embox.fs.node(fnode_quantity=1024)
	@Runlevel(2) include embox.fs.rootfs_oldfs
	@Runlevel(2) include embox.fs.driver.initfs
	@Runlevel(2) include embox.fs.driver.ramfs
	@Runlevel(2) include embox.fs.driver.ext2
	@Runlevel(2) include embox.fs.driver.fat
	include embox.fs.driver.devfs_old
	include embox.compat.posix.file_system_oldfs

	include embox.driver.block_dev
	include embox.fs.file_desc_oldfs

	@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.system_start_service(log_level="LOG_INFO", tty_dev="ttyS0")
	include embox.cmd.service

	include embox.cmd.testing.ticker

	include embox.arch.riscv.breakpoint
	include embox.arch.riscv.sw_breakpoint_ops
	@Runlevel(2) include embox.lib.breakpoint_test.sw_breakpoint_test

	include embox.cmd.wc
	include embox.cmd.fs.head

	include embox.cmd.fs.dd
	include embox.cmd.fs.md5sum
	include embox.cmd.fs.uniq
	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.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.date
	include embox.cmd.sys.time
	include embox.cmd.sys.shutdown

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

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

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

//	include embox.cmd.mmuinfo
//	include embox.cmd.hw.mmutrans
	include embox.cmd.hw.mem

	include embox.compat.libc.math_simple
	include embox.kernel.spinlock(spin_debug = false)

	include embox.kernel.task.resource.vfork
	include embox.compat.posix.proc.exec
	include embox.compat.posix.proc.pid
	include embox.compat.posix.proc.waitpid
	include embox.compat.posix.index_descriptor

	include embox.kernel.task.resource.errno

	include embox.compat.libc.all
	include embox.compat.libc.stdio.asprintf
	include embox.compat.libc.math_simple
	include embox.compat.posix.pthread_key
	include embox.compat.posix.proc.atexit_stub

	include embox.compat.atomic.pseudo_atomic

	include embox.lib.libds
	include embox.framework.LibFramework
}
