mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-20 06:07:59 +00:00
558cc8e00c
Instead of providing a buffer to the client and blitting from that to the "real" framebuffer as an option, with this commit we always do so. Thereby its possible to immediately destroy the old framebuffer used by hardware when a configuration change is done, and a new framebuffer is used. This also simplifies the modesetting. Moreover, this commit fixes an issue when not using the connector reporting. Until now the initial mode detection of connectors was only done when the report was created. this is a regression that entered the driver when upgrading to the recent Linux kernel version. Ref #1997
128 lines
2.9 KiB
Plaintext
128 lines
2.9 KiB
Plaintext
#
|
|
# Build
|
|
#
|
|
|
|
set build_components {
|
|
core init
|
|
drivers/timer
|
|
drivers/framebuffer/intel
|
|
test/framebuffer
|
|
server/report_rom
|
|
server/ram_fs
|
|
server/fs_rom
|
|
}
|
|
|
|
source ${genode_dir}/repos/base/run/platform_drv.inc
|
|
append_platform_drv_build_components
|
|
|
|
build $build_components
|
|
|
|
create_boot_directory
|
|
|
|
#
|
|
# Generate config
|
|
#
|
|
|
|
append config {
|
|
<config verbose="yes" prio_levels="2">
|
|
<parent-provides>
|
|
<service name="ROM"/>
|
|
<service name="RAM"/>
|
|
<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>}
|
|
|
|
append_platform_drv_config
|
|
|
|
append config {
|
|
<start name="timer">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<provides><service name="Timer"/></provides>
|
|
</start>
|
|
|
|
<start name="report_rom" priority="-1">
|
|
<resource name="RAM" quantum="2M"/>
|
|
<provides> <service name="Report" /> <service name="ROM" /> </provides>
|
|
<config verbose="yes">
|
|
<policy label="intel_fb_controller -> connectors" report="intel_fb_drv -> connectors"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="config_fs" priority="-1">
|
|
<binary name="ram_fs"/>
|
|
<resource name="RAM" quantum="8M"/>
|
|
<provides> <service name="File_system"/> </provides>
|
|
<config>
|
|
<content>
|
|
<inline name="fb_drv.config">
|
|
<config>
|
|
<report connectors="yes"/>
|
|
</config>
|
|
</inline>
|
|
</content>
|
|
<policy label="config_rom" root="/"/>
|
|
<policy label="intel_fb_controller" root="/" writeable="yes"/>
|
|
</config>
|
|
</start>
|
|
|
|
<start name="config_rom" priority="-1">
|
|
<binary name="fs_rom"/>
|
|
<resource name="RAM" quantum="4M"/>
|
|
<provides><service name="ROM"/></provides>
|
|
<route>
|
|
<service name="File_system"> <child name="config_fs" /> </service>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="intel_fb_drv">
|
|
<resource name="RAM" quantum="20M"/>
|
|
<provides><service name="Framebuffer"/></provides>
|
|
<configfile name="fb_drv.config"/>
|
|
<route>
|
|
<service name="ROM" label="fb_drv.config"> <child name="config_rom"/> </service>
|
|
<service name="Report"> <child name="report_rom"/> </service>
|
|
<any-service> <parent/> <any-child /> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="intel_fb_controller" priority="-1">
|
|
<resource name="RAM" quantum="1M"/>
|
|
<route>
|
|
<service name="File_system"> <child name="config_fs"/> </service>
|
|
<service name="ROM" label="connectors"> <child name="report_rom"/> </service>
|
|
<any-service> <parent/> <any-child/> </any-service>
|
|
</route>
|
|
</start>
|
|
|
|
<start name="test-framebuffer" priority="-1">
|
|
<resource name="RAM" quantum="10M"/>
|
|
</start>
|
|
</config>}
|
|
|
|
install_config $config
|
|
|
|
#
|
|
# Boot modules
|
|
#
|
|
|
|
# generic modules
|
|
set boot_modules {
|
|
core init timer intel_fb_drv intel_fb_controller
|
|
test-framebuffer report_rom ram_fs fs_rom
|
|
}
|
|
|
|
append_platform_drv_boot_modules
|
|
|
|
build_boot_image $boot_modules
|
|
|
|
run_genode_until forever
|