// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

#define _DEFAULT_SOURCE  // Make sure we get usleep() from unistd.h.

#include "sw/device/lib/runtime/hart.h"

#include <stddef.h>
#include <unistd.h>

void busy_spin_micros(uint32_t usec) { usleep(usec); }

// Because this function is defined by libc as well, we do not bother
// defining abort() on-target.
//
// noreturn void abort(void);

// `extern` declarations to give the inline functions in the
// corresponding header a link location.

extern void wait_for_interrupt(void);
