package genconfig

configuration conf {
	include embox.arch.system(core_freq=48054841)
	include embox.arch.arm.armv5te.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.stackframe
	include embox.arch.arm.libarch
	include embox.arch.arm.vfork

	@Runlevel(0) include embox.arch.arm.fpu.vfpv2(log_level="LOG_INFO")

	@Runlevel(0) include embox.arch.arm.mmu_small_page(
				domain_access=1,v5_format=1)
	@Runlevel(0) include embox.arch.arm.mmuinfo

	@Runlevel(1) include embox.driver.interrupt.integrator_pic
	@Runlevel(1) include embox.driver.clock.integrator_pit(base_addr=0x13000000)
	include embox.kernel.time.jiffies(cs_name="integratorcp")

	include embox.driver.serial.pl011
	include embox.driver.serial.pl011_diag(base_addr=0x16000000)
	include embox.driver.serial.pl011_ttyS0(base_addr=0x16000000, irq_num=1)
	include embox.driver.diag(impl="embox__driver__serial__pl011_diag")

	@Runlevel(1) include embox.driver.net.lan91c111(base_addr=0xC8000000)
	@Runlevel(2) include embox.driver.net.loopback

	@Runlevel(2) include embox.driver.mmc.pl181(
		base_addr=0x1C000000,
		irq0_num=23, irq1_num=24, log_level="LOG_NONE")
	@Runlevel(2) include embox.driver.mmc.mmc_core(log_level="LOG_NONE")
	/*@Runlevel(1) include embox.driver.video.pl110*/

	include embox.kernel.spinlock(spin_debug=false)

	@Runlevel(2) include embox.lib.debug.whereami
	@Runlevel(2) include embox.lib.debug.ubsan
	@Runlevel(2) include embox.profiler.tracing

	@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(thread_stack_size=0x20000)
	include embox.kernel.stack(stack_size=0x20000)
	include embox.kernel.sched.strategy.priority_based
	include embox.kernel.thread.signal.sigstate
	include embox.kernel.thread.signal.siginfoq
	include embox.kernel.task.resource.env(env_str_len=64)

	include embox.mem.pool_adapter
	@Runlevel(2) include embox.mem.static_heap(heap_size=0x8000000)
	include embox.mem.heap_bm(heap_size=0x4000000)
	include embox.mem.bitmask

/* for old fs comment dvfs part */
/*
	@Runlevel(2) include embox.fs.node(fnode_quantity=1024)
	@Runlevel(2) include embox.fs.driver.fat
	@Runlevel(2) include embox.fs.driver.initfs
	@Runlevel(2) include embox.fs.driver.ramfs
	@Runlevel(2) include embox.fs.rootfs_oldfs
	include embox.fs.driver.devfs_old
	include embox.fs.driver.ramfs_old(ramfs_file_size=8192, ramfs_quantity=1, inode_quantity=2)
	include embox.compat.posix.file_system_oldfs
*/

/* for dvfs comment old fs part */

	@Runlevel(2) include embox.fs.dvfs.core
	@Runlevel(2) include embox.fs.driver.fat_dvfs
	@Runlevel(2) include embox.fs.driver.initfs_dvfs
	@Runlevel(2) include embox.fs.rootfs_dvfs
	include embox.compat.posix.file_system_dvfs
	include embox.fs.driver.devfs_dvfs
	include embox.fs.driver.ramfs_dvfs(ramfs_file_size=8192, ramfs_quantity=1, inode_quantity=2)

	include embox.driver.ramdisk(ramdisk_quantity=1)
	include embox.driver.static_ramdisk(ramdisk_name="static_ramdisk", size=16384, block_size=512)

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

	include embox.init.system_start_service(log_level="LOG_INFO", tty_dev="ttyS0")

	include embox.cmd.source_cmd
	include embox.cmd.sh.tish(
				prompt="%u@%h:%w%$", rich_prompt_support=1,
				builtin_commands="exit logout cd export mount umount")
	include embox.cmd.service

	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.ntpd
	include embox.cmd.net.telnetd
	include embox.cmd.net.nslookup
	include embox.cmd.net.getmail
	include embox.cmd.net.sendmail
	include embox.cmd.net.httpd
	include embox.cmd.net.httpd_cgi(use_real_cmd=true, use_parallel_cgi=false)
	include embox.service.http_admin
	include embox.service.http_admin_iface_list(is_readonly=true)
	include embox.service.http_admin_iface_html
	include embox.demo.website
	include embox.cmd.net.netmanager
	include embox.cmd.net.bootpc

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

	include embox.cmd.testing.block_dev_test
	include embox.cmd.testing.ticker

	include embox.cmd.fs.mkramdisk
	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.hw.lsblk
	include embox.cmd.hw.partition

	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.cmd.memmap

	@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.skbuff_extra(
				amount_skb_extra=128,extra_size=10,extra_align=1,extra_padto=1)
	@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
	include embox.net.lib.dns_file

	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 third_party.lib.mbedtls(tls_config="iec61850")
	include third_party.lib.libiec61850(tls_enable=true)

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

	include embox.project.server61850.cmd.basic_io
    include embox.project.server61850.cmd.tls_server

    include platform.server61850.data_samples.client1_cer
    include platform.server61850.data_samples.client2_cer
    include platform.server61850.data_samples.root_cer
    include platform.server61850.data_samples.server_pem
    include platform.server61850.data_samples.server_cer
}
