proc have_platform_drv {} { if {[have_spec linux]} { return 0 } return [expr [have_spec arndale] \ || [have_spec imx53] \ || [have_spec rpi] \ || [have_spec odroid_x2] \ || [have_spec x86]] } ## # Return 1 if the scenario depends on the USB driver on the used platform # # On most ARM platform, user input is provided by an USB HID device. On other # platforms, the USB driver may be omitted. # proc need_usb_hid { } { # covered by fb_sdl if {[have_spec linux]} { return 0 } # covered by ps2_drv if {[have_spec x86]} { return 0 } if {[have_spec pbxa9]} { return 0 } return [have_spec usb] } ## # Return name of the USB driver binary # proc usb_host_drv_binary { } { if {[have_spec arndale]} { return arndale_usb_host_drv } if {[have_spec panda]} { return panda_usb_host_drv } if {[have_spec rpi]} { return rpi_usb_host_drv } if {[have_spec imx6q_sabrelite]} { return imx6q_sabrelite_usb_host_drv } if {[have_spec odroid_x2]} { return odroid_x2_usb_host_drv } if {[have_spec x86]} { return x86_pc_usb_host_drv } return no_usb_drv_available } ## # Return name of the NIC driver binary # proc nic_drv_binary { } { if {[have_spec linux]} { return linux_nic_drv } if {[have_spec omap4] || [have_spec arndale] || [have_spec rpi]} { return usb_drv } if {!([have_spec riscv] || [have_spec odroid_xu])} { return nic_drv } return no_nic_drv_available } ## # Return configuration for NIC driver # proc nic_drv_config { } { if {[have_spec imx53]} { return "" } if {[have_spec imx6q_sabrelite]} { return "" } if {[have_spec omap4] || [have_spec arndale] || [have_spec rpi]} { return {} } return "" } ## # Return name of the audio driver binary # proc audio_drv_binary { } { if {[have_spec linux]} { return linux_audio_drv } if {[have_spec x86]} { return audio_drv } return no_audio_drv_available } proc acpi_drv_name { } { global use_acpica_as_acpi_drv if {[info exists use_acpica_as_acpi_drv] && $use_acpica_as_acpi_drv} { return acpica } return acpi_drv } proc platform_drv_build_components {} { set drv_build_components "" lappend_if [have_platform_drv] drv_build_components drivers/platform lappend_if [have_spec x86] drv_build_components server/report_rom if {[have_spec x86]} { if {[acpi_drv_name] eq "acpi_drv"} { lappend drv_build_components drivers/acpi } if {[acpi_drv_name] eq "acpica"} { lappend drv_build_components app/acpica } } return $drv_build_components } proc append_platform_drv_build_components {} { global build_components append build_components { } [platform_drv_build_components] } proc platform_drv_boot_modules {} { set drv_boot_modules "" lappend_if [have_platform_drv] drv_boot_modules platform_drv lappend_if [have_spec x86] drv_boot_modules report_rom if {[have_spec x86]} { if {[have_spec muen]} { lappend drv_boot_modules acpi } else { lappend drv_boot_modules [acpi_drv_name] } } return $drv_boot_modules } proc append_platform_drv_boot_modules {} { global boot_modules append boot_modules { } [platform_drv_boot_modules] } proc platform_drv_policy {} { if (![have_spec x86]) { return {} } set drv_policy "" if {[acpi_drv_name] eq "acpica"} { append drv_policy { } } append drv_policy { } return $drv_policy } proc platform_drv_priority {} { return "" } proc platform_drv_add_routing {} { if {[acpi_drv_name] eq "acpica"} { return { } } return "" } proc platform_drv_config_config {} { if {[acpi_drv_name] eq "acpica"} { return { } } if {[have_spec acpi] || [have_spec arm] || [have_spec muen]} { return { } } return { } } proc platform_drv_config {} { set drv_config "" if {[have_spec x86] && ![have_spec muen] && ![have_spec linux]} { append drv_config { } if {[acpi_drv_name] eq "acpica"} { append drv_config { } } else { append drv_config { } } append drv_config { } append_if [expr {[acpi_drv_name] eq "acpica"}] drv_config { } append drv_config { } append drv_config " " append drv_config { } append_if [expr {[acpi_drv_name] eq "acpica"}] drv_config { } append drv_config { } } if {[have_platform_drv]} { append drv_config { } append_if [have_spec x86] drv_config { } append_if [have_spec arm] drv_config { } append drv_config { } append drv_config "[platform_drv_add_routing]" append_if [expr [have_spec x86] && ![have_spec muen]] drv_config { } append_if [have_spec rpi] drv_config { } append drv_config { } append drv_config [platform_drv_config_config] append drv_config [platform_drv_policy] append drv_config { } } return $drv_config } proc append_platform_drv_config {} { global config append config [platform_drv_config] return $config }