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