<config>

	<parent-provides>
		<service name="IRQ"/>
		<service name="IO_MEM"/>
		<service name="IO_PORT"/>
		<service name="ROM"/>
		<service name="PD"/>
		<service name="RM"/>
		<service name="CPU"/>
		<service name="LOG"/>
		<service name="Timer"/>
	</parent-provides>

	<default caps="60"/>

	<service name="Framebuffer">
		<default-policy> <child name="fb_drv"/> </default-policy> </service>

	<service name="Input">
		<default-policy> <child name="input_filter"/> </default-policy> </service>

	<start name="acpi_drv" caps="250">
		<resource name="RAM" quantum="4M"/>
		<route>
			<service name="IO_MEM"> <parent/> </service>
			<service name="LOG">    <parent/> </service>
			<service name="PD">     <parent/> </service>
			<service name="RM">     <parent/> </service>
			<service name="CPU">    <parent/> </service>
			<service name="ROM">    <parent/> </service>
			<service name="Report"> <child name="report_rom"/> </service>
		</route>
	</start>

	<start name="report_rom" caps="70">
		<resource name="RAM" quantum="1M"/>
		<provides>
			<service name="ROM" />
			<service name="Report" />
		</provides>
		<config>
			<policy label="platform_drv -> acpi" report="acpi_drv -> acpi"/>
		</config>
		<route>
			<service name="LOG"> <parent/> </service>
			<service name="PD">  <parent/> </service>
			<service name="CPU"> <parent/> </service>
			<service name="ROM"> <parent/> </service>
		</route>
	</start>

	<start name="platform_drv" caps="200">
		<resource name="RAM" quantum="3M" constrain_phys="yes"/>
		<provides>
			<service name="Platform"/>
			<service name="Acpi"/>
		</provides>
		<route>
			<service name="ROM" label="system"> <child name="report_rom"/> </service>
			<service name="ROM" label="acpi">   <child name="report_rom"/> </service>
			<service name="IRQ">     <parent/> </service>
			<service name="IO_MEM">  <parent/> </service>
			<service name="IO_PORT"> <parent/> </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>
		</route>
		<config>
			<policy label_prefix="ps2_drv">  <device name="PS2"/> </policy>
			<policy label_prefix="fb_drv">   <pci class="VGA"/> </policy>
			<policy label_prefix="usb_drv">  <pci class="USB"/> </policy>
		</config>
	</start>

	<start name="fb_drv" caps="120">
		<binary name="vesa_fb_drv"/>
		<resource name="RAM" quantum="8M"/>
		<provides><service name="Framebuffer"/></provides>
		<route>
			<service name="ROM" label="config"> <parent label="fb_drv.config"/> </service>
			<service name="Platform"> <child name="platform_drv"/> </service>
			<service name="IO_PORT">  <parent/> </service>
			<service name="IO_MEM">   <parent/> </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>
		</route>
	</start>

	<start name="ps2_drv" caps="80">
		<resource name="RAM" quantum="1280K"/>
		<provides> <service name="Input"/> </provides>
		<route>
			<service name="Platform"> <child name="platform_drv"/> </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>
		</route>
	</start>

	<start name="usb_drv" caps="150">
		<resource name="RAM" quantum="14M"/>
		<provides> <service name="Input"/> </provides>
		<config uhci="yes" ehci="yes" xhci="yes"> <hid/> </config>
		<route>
			<service name="Platform"> <child name="platform_drv"/> </service>
			<service name="ROM">      <parent/> </service>
			<service name="PD">       <parent/> </service>
			<service name="RM">       <parent/> </service>
			<service name="CPU">      <parent/> </service>
			<service name="LOG">      <parent/> </service>
			<service name="Timer">    <parent/> </service>
		</route>
	</start>

	<start name="input_filter" caps="90">
		<resource name="RAM" quantum="1280K"/>
		<provides> <service name="Input"/> </provides>
		<route>
			<service name="ROM" label="config"> <parent label="input_filter.config"/> </service>
			<service name="Input" label="ps2"> <child name="ps2_drv"/> </service>
			<service name="Input" label="usb"> <child name="usb_drv"/> </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>
		</route>
	</start>

</config>
