/*
 * Copyright (c) 2020 Antony Pavlov <antonynpavlov@gmail.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <irq.h>

#include <tracing/tracing.h>

static ALWAYS_INLINE void mips_idle(unsigned int key)
{
	sys_trace_idle();

	/* unlock interrupts */
	irq_unlock(key);

	/* wait for interrupt */
	__asm__ volatile("wait");
}

void arch_cpu_idle(void)
{
	mips_idle(1);
}

void arch_cpu_atomic_idle(unsigned int key)
{
	mips_idle(key);
}
