vaseboot/include/VasEBoot/time.h

47 lines
1.4 KiB
C

/*
* VasEBoot -- GRand Unified Bootloader
* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
*
* VasEBoot is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* VasEBoot is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with VasEBoot. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef KERNEL_TIME_HEADER
#define KERNEL_TIME_HEADER 1
#include <VasEBoot/types.h>
#include <VasEBoot/symbol.h>
#if !defined(VasEBoot_MACHINE_EMU) && !defined(VasEBoot_UTIL)
#include <VasEBoot/cpu/time.h>
#else
static inline void
VasEBoot_cpu_idle(void)
{
}
#endif
void EXPORT_FUNC(VasEBoot_millisleep) (VasEBoot_uint32_t ms);
VasEBoot_uint64_t EXPORT_FUNC(VasEBoot_get_time_ms) (void);
VasEBoot_uint64_t VasEBoot_rtc_get_time_ms (void);
static __inline void
VasEBoot_sleep (VasEBoot_uint32_t s)
{
VasEBoot_millisleep (1000 * s);
}
void VasEBoot_install_get_time_ms (VasEBoot_uint64_t (*get_time_ms_func) (void));
#endif /* ! KERNEL_TIME_HEADER */