acpi_drv: report SMBIOS after ACPI info

This order of execution reduces the boot time of Sculpt.
This commit is contained in:
Norman Feske 2019-08-27 19:19:02 +02:00 committed by Christian Helmuth
parent 155e214a69
commit c0e8336e98
1 changed files with 20 additions and 13 deletions

View File

@ -30,22 +30,29 @@ namespace Acpi {
struct Acpi::Main struct Acpi::Main
{ {
Genode::Env &env; Genode::Env &_env;
Genode::Heap heap { env.ram(), env.rm() }; Genode::Heap _heap { _env.ram(), _env.rm() };
Smbios_table_reporter smbt_reporter { env, heap };
Main(Env &env) : env(env) struct Acpi_reporter
{ {
try { Acpi_reporter(Env &env, Heap &heap)
Acpi::generate_report(env, heap); {
} catch (Genode::Xml_generator::Buffer_exceeded) { try {
Genode::error("ACPI report too large - failure"); Acpi::generate_report(env, heap);
throw; } catch (Genode::Xml_generator::Buffer_exceeded) {
} catch (...) { error("ACPI report too large - failure");
Genode::error("Unknown exception occured - failure"); throw;
throw; } catch (...) {
error("Unknown exception occured - failure");
throw;
}
} }
} };
Acpi_reporter _acpi_reporter { _env, _heap };
Smbios_table_reporter _smbt_reporter { _env, _heap };
Main(Env &env) : _env(env) { }
}; };