<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"/>
		<service name="Capture"/>
		<service name="Event"/>
	</parent-provides>

	<default caps="60"/>

	<start name="acpi" 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="pci_decode -> system" report="acpi -> acpi"/>
			<policy label="platform -> devices"  report="pci_decode -> devices"/>
			<policy label="usb_hid -> report"    report="usb -> devices"/>
		</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="pci_decode" caps="100">
		<resource name="RAM" quantum="2M"/>
		<route>
			<service name="Report">             <child name="report_rom"/> </service>
			<service name="ROM" label="system"> <child name="report_rom"/> </service>
			<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>
		</route>
	</start>

	<start name="platform" caps="200" managing_system="yes">
		<resource name="RAM" quantum="3M"/>
		<provides>
			<service name="Platform"/>
		</provides>
		<route>
			<service name="ROM" label="devices"> <child name="report_rom"/> </service>
			<service name="Report">  <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>
			<report devices="yes"/>
			<policy label_prefix="ps2"> <device name="ps2"/> </policy>
			<policy label_prefix="fb"  info="yes"> <pci class="VGA"/> </policy>
			<policy label_prefix="usb" info="yes"> <pci class="USB"/> </policy>
		</config>
	</start>

	<start name="fb" caps="120">
		<binary name="vesa_fb"/>
		<resource name="RAM" quantum="20M"/>
		<route>
			<service name="ROM" label="config"> <parent label="fb.config"/> </service>
			<service name="Platform"> <child name="platform"/> </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>
			<service name="Capture">  <parent/> </service>
		</route>
	</start>

	<start name="ps2" caps="80">
		<resource name="RAM" quantum="1280K"/>
		<config/>
		<route>
			<service name="Platform"> <child name="platform"/> </service>
			<service name="Event"> <child name="event_filter" label="ps2"/> </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" caps="200">
		<binary name="pc_usb_host"/>
		<resource name="RAM" quantum="16M"/>
		<provides> <service name="Usb"/> </provides>
		<config>
			<report devices="yes"/>
			<policy label_prefix="usb_hid"><device class="0x3"/></policy>
		</config>
		<route>
			<service name="Platform"> <child name="platform"/> </service>
			<service name="Report" label="devices"> <child name="report_rom"/> </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="usb_hid" caps="180">
		<resource name="RAM" quantum="10M"/>
		<route>
			<service name="ROM" label="report"> <child name="report_rom"/> </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>
			<service name="Event"> <child name="event_filter" label="usb"/> </service>
			<service name="Usb">   <child name="usb"/> </service>
		</route>
	</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="Event"> <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>

</config>
