<config>
	<parent-provides>
		<service name="IRQ"/>
		<service name="IO_MEM"/>
		<service name="ROM"/>
		<service name="PD"/>
		<service name="CPU"/>
		<service name="LOG"/>
		<service name="Timer"/>
		<service name="Capture"/>
		<service name="Event"/>
	</parent-provides>

	<default caps="100"/>

	<start name="virtdev_rom">
		<resource name="RAM" quantum="640K"/>
		<provides> <service name="ROM"/> </provides>
		<route> <any-service> <parent/> </any-service> </route>
	</start>

	<start name="platform_drv" managing_system="yes">
		<resource name="RAM" quantum="2M"/>
		<provides> <service name="Platform"/> </provides>
		<route>
			<service name="ROM" label="devices">
			        <child name="virtdev_rom"/>
			</service>
			<any-service> <parent/> </any-service>
		</route>
		<config>
			<policy label_prefix="virtio_fb_drv" info="yes">
				<device name="gpu0"/>
			</policy>
			<policy label_prefix="virtio_keyboard_drv" info="yes">
				<device name="input0"/>
			</policy>
			<policy label_prefix="virtio_mouse_drv" info="yes">
				<device name="input1"/>
			</policy>
		</config>
	</start>

	<start name="event_filter" caps="90">
		<resource name="RAM" quantum="1280K"/>
		<provides> <service name="Event"/> </provides>
		<route>
			<service name="ROM" label="config">
				<parent label="event_filter.config"/>
			</service>
			<service name="ROM">   <parent/> </service>
			<service name="PD">    <parent/> </service>
			<service name="CPU">   <parent/> </service>
			<service name="LOG">   <parent/> </service>
			<service name="Timer"> <parent/> </service>
			<service name="Event"> <parent/> </service>
		</route>
	</start>

	<start name="virtio_keyboard_drv" caps="70">
		<binary name="virtio_mmio_input_drv"/>
		<resource name="RAM" quantum="1M"/>
		<config match_product="keyboard"/>
		<route>
			<service name="Platform"> <child name="platform_drv"/> </service>
			<service name="Event">    <child name="event_filter" label="keyboard"/> </service>
			<service name="CPU">    <parent/> </service>
			<service name="PD">     <parent/> </service>
			<service name="LOG">    <parent/> </service>
			<service name="ROM">    <parent/> </service>
		</route>
	</start>

	<start name="virtio_mouse_drv" caps="80">
		<binary name="virtio_mmio_input_drv"/>
		<resource name="RAM" quantum="1M"/>
		<config match_product="mouse"/>
		<route>
			<service name="Platform"> <child name="platform_drv"/> </service>
			<service name="Event">    <child name="event_filter" label="mouse"/> </service>
			<service name="CPU">    <parent/> </service>
			<service name="PD">     <parent/> </service>
			<service name="LOG">    <parent/> </service>
			<service name="ROM">    <parent/> </service>
		</route>
	</start>

	<start name="virtio_fb_drv" caps="120">
		<binary name="virtio_mmio_fb_drv"/>
		<resource name="RAM" quantum="50M"/>
		<route>
			<service name="Platform"> <child name="platform_drv"/> </service>
			<any-service> <parent/> </any-service>
		</route>
	</start>

</config>
