genode/repos/os/recipes/raw/drivers_interactive-virt_qemu/drivers.config
Piotr Tworek 4f1e9fd256 os: Use VirtIO input drivers for virt_qemu.
This makes Genode's interactive test scenarios run on virt_qemu board
actually interactive.

Issue #4282
2021-11-29 15:10:51 +01:00

112 lines
3.3 KiB
Plaintext

<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>
<config>
<!-- device resource declarations -->
<device name="fw-cfg" type="qemu,fw-cfg-mmio">
<io_mem address="0x9020000" size="0x1000"/>
</device>
<!-- policy part, who owns which devices -->
<policy label="fb_drv -> " info="yes">
<device name="fw-cfg"/>
</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="platform_drv">
<resource name="RAM" quantum="2M"/>
<provides> <service name="Platform"/> </provides>
<route>
<service name="ROM" label="config">
<child name="virtdev_rom"/>
</service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="fb_drv">
<binary name="ram_fb_drv"/>
<resource name="RAM" quantum="8M"/>
<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>
<service name="Capture"> <parent/> </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="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>
</config>