#ifdef __SHARC__
#pragma nosharc
#endif

#include <stab.h>
#include <string.h>
#include <assert.h>
#include <kdebug.h>
#include <pmap.h>
#include <process.h>

#include <ros/memlayout.h>

void backtrace(void)
{
	void **fp;
	asm volatile ("move %0, s0" : "=r"(fp));

	for (int i = 0; ; i++) {
		void *pc = fp[-1], *sp = fp[-2];
		printk("[%d] pc %p sp %p\n", i, pc, sp);
		if (pc == 0 || (void**)sp < fp)
			break;
		fp = (void**)sp;
	}
}

void backtrace_frame(uintptr_t pc, uintptr_t fp)
{
	printk("\n\tTODO: backtrace frame on riscv\n\n");
}

/* can either implement these, or use the x86 ones globally and limit the
 * arch-indep stuff. */
size_t backtrace_list(uintptr_t pc, uintptr_t fp, uintptr_t *pcs,
                      size_t nr_slots)
{
	printk("\n\tTODO: backtrace list on riscv\n\n");
	return 0;
}
