From c5a1e3daa387e82239e362d378725bed8c220d70 Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Tue, 28 Feb 2023 14:42:15 +0100 Subject: [PATCH] acpi_suspend: extend test scenario - add PS/2 input drivers - add GPU client test case - glmark2 - remove display driver before suspend - route log output via terminal on display to gather information, since in most cases serial/AMT is not available after ACPI resume Issue #5081 --- repos/libports/run/acpi_suspend.run | 485 ++++++++++++++++++++++------ 1 file changed, 385 insertions(+), 100 deletions(-) diff --git a/repos/libports/run/acpi_suspend.run b/repos/libports/run/acpi_suspend.run index ccdafc7348..ec67f6b95d 100644 --- a/repos/libports/run/acpi_suspend.run +++ b/repos/libports/run/acpi_suspend.run @@ -19,14 +19,26 @@ if { exit 0 } -# non Intel machines has no GPU support, e.g. Qemu and AMD + +if {[have_spec nova]} { + proc kernel_output { } { return "novga logmem" } +} + + +# non Intel machines have no GPU support, e.g. Qemu and AMD set board_non_intel [expr [have_include "power_on/qemu"]] -if {$board_non_intel} { - set fb_platform_service "platform_drv" -} else { - set fb_platform_service "intel_gpu_drv" -} +set use_gpu_client 1 +set use_gpe "no" + +proc priority_timer { } { return {priority="0"} } +proc priority_base { } { return {priority="-1"} } +proc priority_config { } { return {priority="-1"} } +proc priority_gui { } { return {priority="-1"} } +proc priority_wm { } { return {priority="-2"} } +proc priority_log { } { return {priority="-2"} } +proc priority_drivers { } { return {priority="-2"} } +proc priority_scenario { } { return {priority="-3"} } proc display_config { } { @@ -40,14 +52,16 @@ proc display_config { } { --> - + } + + return $return_display } return { - + @@ -56,13 +70,189 @@ proc display_config { } { } } + +proc gui_config { } { + set return_gui "" + + append return_gui { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + return $return_gui +} + + +proc input_config { } { + return { + + + + + + + + + + + + + + + + + + + + + } +} + + +proc log_output { } { + + set return_log "" + + append return_log { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + append_if [have_spec nova] return_log { + + + + + + + + + + + + + + + } + + return $return_log +} + + proc gpu_config { } { global board_non_intel if {$board_non_intel} return - return { - + set return_gpu "" + + append return_gpu { + + @@ -87,6 +277,52 @@ proc gpu_config { } { } + + return $return_gpu +} + +proc gpu_client { } { + + global board_non_intel + global use_gpu_client + + if { $board_non_intel || !$use_gpu_client } return + + set return_gpu "" + + append return_gpu { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } + + return $return_gpu } build { @@ -102,15 +338,31 @@ build { drivers/gpu/intel app/acpica app/pci_decode - test/framebuffer test/suspend } create_boot_directory +import_from_depot [depot_user]/src/init \ + [depot_user]/src/nitpicker \ + [depot_user]/src/ps2_drv \ + [depot_user]/pkg/themed_wm \ + [depot_user]/pkg/terminal \ + [depot_user]/src/terminal_log \ + [depot_user]/src/event_filter \ + [depot_user]/raw/drivers_interactive-pc \ + [depot_user]/src/report_rom \ + [depot_user]/src/dynamic_rom \ + [depot_user]/src/nano3d \ + [depot_user]/src/log_core + +if {$use_gpu_client} { + import_from_depot [depot_user]/pkg/glmark2 +} + set config "" append config { - + @@ -120,19 +372,20 @@ append config { + - + - + @@ -141,14 +394,14 @@ append config { + - - + - + @@ -157,7 +410,7 @@ append config { - + @@ -166,34 +419,18 @@ append config { - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + @@ -205,107 +442,158 @@ append config { - + + - - - - - - - - - - + } [ gpu_config] { + } [ gui_config] { + } [ log_output] { + } [ gpu_client] { - } [gpu_config] { - - + - - + + - - + + + + + + + + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + } [display_config] { + } [input_config] { + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - } [display_config] { - - - - - - - + + - - + - - - - + @@ -324,9 +612,6 @@ append config { install_config $config -# non PCI devices for platform_drv, e.g. ps2/pit -file copy [select_from_repositories board/[board]/devices] [run_dir]/genode/devices - build_boot_image [build_artifacts] # qemu machine model q35 and multiple CPUs don't work with NOVA kernel