<runtime ram="256M" caps="2200" binary="init">

	<requires>
		<block/>
		<file_system label="fonts"/>
		<nic/>
		<nitpicker/>
		<rm/>
		<rom label="platform_info"/>
		<rtc/>
	</requires>

	<content>
		<rom label="@IMAGE_NAME@"/>
		<rom label="init"/>
		<rom label="rom_block"/>
		<rom label="seoul"/>
		<rom label="timer"/>
		<rom label="terminal"/>
	</content>

	<config verbose="yes" prio_levels="2">

		<parent-provides>
			<service name="ROM"/>
			<service name="PD"/>
			<service name="RM"/>
			<service name="CPU"/>
			<service name="LOG"/>
			<service name="Block"/>
			<service name="File_system"/>
			<service name="Nitpicker"/>
			<service name="Rtc"/>
			<service name="Nic"/>
		</parent-provides>

		<default caps="100"/>

		<start name="timer">
			<resource name="RAM" quantum="1M"/>
			<provides><service name="Timer"/></provides>
			<config/>
			<route>
				<service name="ROM" label="platform_info">
					<parent label="platform_info"/> </service>
				<any-service> <parent/> </any-service>
			</route>
		</start>

		<start name="rom_block" priority="-1">
			<resource name="RAM" quantum="2M" />
			<provides><service name="Block"/></provides>
			<config file="@IMAGE_NAME@" block_size="512"/>
			<route>
				<any-service> <parent/> </any-service>
			</route>
		</start>

		<start name="terminal">
			<resource name="RAM" quantum="8M"/>
			<provides> <service name="Terminal"/> </provides>
			<config>
				<vfs> <dir name="fonts"> <fs label="fonts"/> </dir> </vfs>
			</config>
			<route>
				<service name="File_system"> <parent label="fonts"/> </service>
				<any-service> <any-child/> <parent/> </any-service>
			</route>
		</start>

		<start name="seoul" priority="-1" caps="200" ld="no">
			<binary name="seoul"/>
			<resource name="RAM" quantum="4G"/>
			<config colocate="1" width="720" height="400">
				<machine>
					<mem start="0x0" end="0x9a000"/>
					<mem start="0x100000" end="0xfffff000"/>
					<!--<ioio/>-->
					<nullio io_base="0x80" />
					<pic io_base="0x20" elcr_base="0x4d0"/>
					<pic io_base="0xa0" irq="2" elcr_base="0x4d1"/>
					<pit io_base="0x40" irq="0"/>
					<scp io_port_a="0x92" io_port_b="0x61"/>
					<kbc io_base="0x60" irq_kbd="1" irq_aux="12"/>
					<keyb ps2_port="0" host_keyboard="0x10000"/>
					<mouse ps2_port="1" host_mouse="0x10001"/>
					<rtc io_base="0x70" irq="8"/>
					<serial io_base="0x3f8" irq="0x4" host_serial="0x4711"/>
					<terminal host_dev="0x4712"/>
					<vga io_base="0x03c0"/>

					<vbios_disk/>
					<vbios_keyboard host_keyboard="0x10000"/>
					<vbios_mem/>
					<vbios_time/>
					<vbios_reset/>

					<msi/>
					<ioapic/>
					<pcihostbridge bus_num="0" bus_count="0x10" io_base="0xcf8"
					               mem_base="0xe0000000"/>
					<pmtimer io_port="0x8000"/>

					<vcpu/> <halifax/> <vbios/> <lapic/>
					<vcpu/> <halifax/> <vbios/> <lapic/>

					<ahci mem="0xe0800000" irq="14" bdf="0x30"/>
					<drive sigma0drive="0" controller="0" port="0"/>
					<drive sigma0drive="1" controller="0" port="1"/>

					<!-- <rtl8029 irq="9" port="0x300" /> -->
					<virtio_net/>
					<virtio_block/>
				</machine>
				<multiboot/>
			</config>
			<route>
				<service name="ROM" label="platform_info">
					<parent label="platform_info"/> </service>
				<service name="Block" label_suffix="0">
					<child name="rom_block"/></service>
				<service name="Block" label_suffix="1">
					<parent/></service>
				<any-service>
					<any-child/>
					<parent/>
				</any-service>
			</route>
		</start>
	</config>

</runtime>
