mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-24 07:46:42 +00:00
317c5429d2
The initial memory backend implementation was brought over from DDE Linux and was geared towards use-cases where a high-performing allocator is useful. In case of the audio driver this is overkill and since no other driver that could benefit from such an implementation was ported in the meantime rather use a simpler implementation that keeps the overhead down. Fixes #4946.
149 lines
3.7 KiB
Plaintext
149 lines
3.7 KiB
Plaintext
assert_spec x86
|
|
|
|
if {[have_include "power_on/qemu"]} {
|
|
puts "\nAudio_in test running on Qemu is not supported.\n"
|
|
exit 0
|
|
}
|
|
|
|
if {[have_spec linux]} {
|
|
puts"\nAudio_in test running on Linux is not supported.\n"
|
|
exit 0
|
|
}
|
|
|
|
|
|
#
|
|
# Build
|
|
#
|
|
|
|
set build_components {
|
|
core init timer
|
|
drivers/acpi
|
|
drivers/platform
|
|
app/pci_decode
|
|
server/report_rom
|
|
drivers/audio
|
|
test/audio_in
|
|
}
|
|
|
|
build $build_components
|
|
|
|
create_boot_directory
|
|
|
|
#
|
|
# Config
|
|
#
|
|
|
|
append config {
|
|
<config>
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="IRQ"/>
|
|
<service name="IO_MEM"/>
|
|
<service name="IO_PORT"/>
|
|
<service name="PD"/>
|
|
<service name="RM"/>
|
|
<service name="CPU"/>
|
|
<service name="LOG"/>
|
|
</parent-provides>
|
|
<default-route>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</default-route>
|
|
<default caps="100"/>
|
|
<start name="timer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
</start>
|
|
|
|
<start name="report_rom">
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides> <service name="Report"/> <service name="ROM"/> </provides>
|
|
<config>
|
|
<policy label="pci_decode -> system" report="acpi_drv -> acpi"/>
|
|
<policy label="platform_drv -> devices" report="pci_decode -> devices"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="acpi_drv" caps="350">
|
|
<resource name="RAM" quantum="4M"/>
|
|
<route>
|
|
<service name="Report"> <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="pci_decode" caps="350">
|
|
<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_drv" caps="100" managing_system="yes">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides>
|
|
<service name="Platform"/>
|
|
</provides>
|
|
<route>
|
|
<service name="ROM" label="devices"> <child name="report_rom"/> </service>
|
|
<service name="Timer"> <child name="timer"/> </service>
|
|
<service name="IRQ"> <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>
|
|
<config>
|
|
<policy label="audio_drv -> "> <pci class="AUDIO"/> <pci class="HDAUDIO"/> </policy>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="audio_drv">
|
|
<binary name="pci_audio_drv"/>
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides>
|
|
<service name="Audio_out"/>
|
|
<service name="Audio_in"/>
|
|
</provides>
|
|
<config>
|
|
<mixer field="outputs.master" value="128"/>
|
|
<mixer field="record.adc-0:1_source" value="sel2"/>
|
|
<mixer field="record.adc-0:1" value="128"/>
|
|
<mixer field="record.enable" value="on"/>
|
|
</config>
|
|
</start>
|
|
<start name="test-audio_in">
|
|
<resource name="RAM" quantum="8M"/>
|
|
</start>
|
|
</config>}
|
|
|
|
install_config $config
|
|
|
|
|
|
#
|
|
# Boot modules
|
|
#
|
|
|
|
set boot_modules {
|
|
core ld.lib.so init timer
|
|
platform_drv acpi_drv pci_decode report_rom
|
|
pci_audio_drv test-audio_in
|
|
}
|
|
|
|
build_boot_image $boot_modules
|
|
|
|
run_genode_until forever
|