diff --git a/repos/libports/src/lib/acpica/osl.cc b/repos/libports/src/lib/acpica/osl.cc index 910c83db4d..5bda7b8bde 100644 --- a/repos/libports/src/lib/acpica/osl.cc +++ b/repos/libports/src/lib/acpica/osl.cc @@ -245,13 +245,24 @@ void AcpiOsWaitEventsComplete() } } +static Timer::Connection &timer_connection() +{ + static Timer::Connection connection(Acpica::env()); + return connection; +} + void AcpiOsSleep (UINT64 sleep_ms) { Genode::log(__func__, " ", sleep_ms, " ms"); - static Timer::Connection conn(Acpica::env()); - conn.msleep(sleep_ms); - return; + timer_connection().msleep(sleep_ms); +} + +void AcpiOsStall (UINT32 stall_us) +{ + Genode::log(__func__, " ", stall_us, " us"); + + timer_connection().usleep(stall_us); } @@ -265,9 +276,6 @@ ACPI_STATUS AcpiOsSignal (UINT32, void *) UINT64 AcpiOsGetTimer (void) FAIL(0) -void AcpiOsStall (UINT32) - FAIL() - ACPI_STATUS AcpiOsReadMemory (ACPI_PHYSICAL_ADDRESS, UINT64 *, UINT32) FAIL(AE_BAD_PARAMETER)