From 419a48aa06c3a04240a57896afb00dc95a692b3f Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Mon, 4 Dec 2017 11:28:55 +0100 Subject: [PATCH] acpica: support AcpiOSStall Fixes #2597 --- repos/libports/src/lib/acpica/osl.cc | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) 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)