* Copyright 2012-2020, Haiku, Inc. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ithamar R. Adema <ithamar@upgrade-android.com>
*/
#include <OS.h>
#include <boot/platform.h>
#include <boot/stdio.h>
#include <boot/kernel_args.h>
#include <boot/stage2.h>
#include <arch/cpu.h>
#include <arch_cpu_defs.h>
#include <arch_kernel.h>
#include <arch_system_info.h>
#include <string.h>
#define TRACE_CPU
#ifdef TRACE_CPU
# define TRACE(x) dprintf x
#else
# define TRACE(x) ;
#endif
*/
static status_t
check_cpu_features()
{
return B_OK;
}
extern "C" status_t
boot_arch_cpu_init(void)
{
status_t err = check_cpu_features();
if (err != B_OK) {
panic("It's RISCY business trying to boot Haiku on the wrong CPU!\n");
return err;
}
return B_OK;
}
extern "C" void
arch_ucode_load(BootVolume& volume)
{
}
extern "C" bigtime_t
system_time()
{
return CpuTime();
}
extern "C" void
spin(bigtime_t microseconds)
{
bigtime_t time = system_time();
while ((system_time() - time) < microseconds)
asm volatile ("nop;");
}