assert_spec x86_64 if {[get_cmd_switch --autopilot] && [have_include "power_on/qemu"]} { puts "Run script does not support autopilot mode on Qemu" exit 0 } if {[get_cmd_switch --autopilot] && [have_board linux]} { puts "Autopilot mode is not supported on this platform." exit 0 } # # Build # set use_gpu 1 set use_top 0 set build_components { core init timer drivers/framebuffer/intel/pc test/framebuffer server/report_rom server/vfs server/fs_rom lib/vfs_import } append_if $use_gpu build_components { drivers/gpu/intel } append_if $use_top build_components { app/top } 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="4"> <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"/> <service name="TRACE"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <default caps="100"/>} 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="0"> <resource name="RAM" quantum="2M"/> <provides> <service name="Report" /> <service name="ROM" /> </provides> <config verbose="no"/> </start> <start name="init_dynamic" caps="10000"> <binary name="init"/> <resource name="RAM" quantum="1000M"/> <route> <service name="Report"> <child name="report_rom"/> </service> <service name="Platform"> <child name="platform_drv" label="intel_fb_drv"/> </service> <service name="ROM" label="intel_fb_drv -> intel_opregion"> <child name="acpi_report_rom" label="intel_fb_drv -> intel_opregion"/> </service> <any-service> <parent/> <any-child/> </any-service> </route> <config prio_levels="2"> <parent-provides> <service name="ROM"/> <service name="IO_MEM"/> <service name="IO_PORT"/> <service name="PD"/> <service name="RM"/> <service name="CPU"/> <service name="LOG"/> <service name="TRACE"/> <service name="Platform"/> <service name="Timer"/> </parent-provides> <default-route> <any-service> <parent/> <any-child/> </any-service> </default-route> <default caps="100"/> <report init_ram="yes" child_ram="yes" delay_ms="10000"/>} append_if $use_top config { <start name="top"> <resource name="RAM" quantum="2M"/> <config period_ms="40000"/> </start>} append config { <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="vfs"/> <resource name="RAM" quantum="8M"/> <provides> <service name="File_system"/> </provides> <config> <vfs> <ram/> <import> <inline name="fb_drv.config"> <config ld_verbose="yes"> <report connectors="yes"/> </config> </inline> </import> </vfs> <policy label_prefix="config_rom" root="/"/> <policy label_prefix="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>} append_if $use_gpu config { <start name="intel_gpu_drv" caps="2000"> <resource name="RAM" quantum="40M"/> <provides> <service name="Gpu"/> <service name="Platform"/> </provides> <config> <device vendor="0x8086" device="0x1606" generation="8" platform="broadwell" description="HD Graphics (BDW GT1 ULT)"/> <device vendor="0x8086" device="0x1616" generation="8" platform="broadwell" description="HD Graphics 5500 (BDW GT2 ULT)"/> <device vendor="0x8086" device="0x1622" generation="8" platform="broadwell" description="Iris Pro Graphics 6200 (BDW GT3e)"/> <device vendor="0x8086" device="0x1916" generation="9" platform="skylake" description="HD Graphics 520 (Skylake, Gen9)"/> <device vendor="0x8086" device="0x191b" generation="9" platform="skylake" description="HD Graphics 530 (Skylake, Gen9)"/> <device vendor="0x8086" device="0x5916" generation="9" platform="kabylake" description="HD Graphics 620 (Kaby Lake, Gen9p5)"/> <device vendor="0x8086" device="0x5917" generation="9" platform="kabylake" description="UHD Graphics 620 (Kaby Lake, Gen9p5)"/> <device vendor="0x8086" device="0x591b" generation="9" platform="kabylake" description="HD Graphics 630 (Kaby Lake, Gen9p5)"/> <device vendor="0x8086" device="0x3ea0" generation="9" platform="whiskeylake" description="UHD Graphics 620 (Whiskey Lake, Gen9p5)"/> </config> <route> <service name="Platform"> <parent/> </service> <any-service> <parent /> <any-child/> </any-service> </route> </start>} append config { <start name="intel_fb_drv" caps="1000"> <binary name="pc_intel_fb_drv"/> <resource name="RAM" quantum="60M"/> <route>} append_if $use_gpu config { <service name="Platform"> <child name="intel_gpu_drv"/> </service>} append config { <service name="ROM" label="config"> <child name="config_rom" label="fb_drv.config"/> </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"/> <config artifical_update_ms="0"> <!-- off --> <vfs> <fs/> </vfs> </config> <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"/> <provides> <service name="Capture"/> </provides> <config/> </start> </config> </start> </config>} install_config $config # # Boot modules # # generic modules set boot_modules { core ld.lib.so init timer pc_intel_fb_drv intel_fb_controller test-framebuffer report_rom fs_rom vfs vfs.lib.so vfs_import.lib.so } append_if $use_gpu boot_modules { intel_gpu_drv } append_if $use_top boot_modules { top } append_platform_drv_boot_modules build_boot_image $boot_modules if { [get_cmd_switch --autopilot] } { run_genode_until {\[init -\> init_dynamic -\> intel_fb_drv\] HDMI-A-2: enable.*} 30 } else { run_genode_until forever }