serenity/Kernel/API/TimePage.h
Andreas Kling b7dae4f90e Kernel: Add CLOCK_MONOTONIC_COARSE to the kernel time page
This allows clock_gettime(CLOCK_MONOTONIC_COARSE) without syscalls.
Core::EventLoop takes advantage of this automatically. :^)
2021-08-10 21:51:05 +02:00

31 lines
513 B
C++

/*
* Copyright (c) 2021, Andreas Kling <kling@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/Types.h>
#ifdef KERNEL
# include <Kernel/UnixTypes.h>
#else
# include <time.h>
#endif
namespace Kernel {
inline bool time_page_supports(clockid_t clock_id)
{
return clock_id == CLOCK_REALTIME_COARSE || clock_id == CLOCK_MONOTONIC_COARSE;
}
struct TimePage {
volatile u32 update1;
struct timespec clocks[CLOCK_ID_COUNT];
volatile u32 update2;
};
}