vaseboot/include/VasEBoot/time.h

49 lines
1.4 KiB
C

/*
* VAS_EBOOT -- GRand Unified Bootloader
* Copyright (C) 2007, 2008 Free Software Foundation, Inc.
*
* VAS_EBOOT 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.
*
* VAS_EBOOT 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 VAS_EBOOT. 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(VAS_EBOOT_MACHINE_EMU) && !defined(VAS_EBOOT_UTIL)
#include <VasEBoot/cpu/time.h>
#else
static inline void
VasEBoot_cpu_idle(void)
{
}
#endif
#define NSEC_PER_SEC ((VasEBoot_int64_t) 1000000000)
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 */