1104828Stjr/*
2128004Stjr** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
3104828Stjr** Distributed under the terms of the NewOS License.
4104828Stjr*/
5235785Stheraven#ifndef _NEWOS_KERNEL_ARCH_SH4_CPU_H
6235785Stheraven#define _NEWOS_KERNEL_ARCH_SH4_CPU_H
7235785Stheraven
8235785Stheraven#include <arch/cpu.h>
9235785Stheraven#include <arch/sh4/sh4.h>
10104828Stjr
11104828Stjrunsigned int get_fpscr();
12104828Stjrunsigned int get_sr();
13104828Stjrvoid sh4_context_switch(unsigned int **old_sp, unsigned int *new_sp);
14104828Stjrvoid sh4_function_caller();
15104828Stjrvoid sh4_set_kstack(addr kstack);
16104828Stjrvoid sh4_enter_uspace(addr entry, void *args, addr ustack_top);
17104828Stjrvoid sh4_set_user_pgdir(addr pgdir);
18104828Stjrvoid sh4_invl_page(addr va);
19104828Stjr#define PAGE_SIZE 4096
20104828Stjr
21104828Stjr#define _BIG_ENDIAN 0
22104828Stjr#define _LITTLE_ENDIAN 1
23104828Stjr#endif
24104828Stjr
25104828Stjr