diff options
author | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2011-06-19 20:37:58 -0700 |
---|---|---|
committer | Andrew Waterman <waterman@s141.Millennium.Berkeley.EDU> | 2011-06-19 20:37:58 -0700 |
commit | e63e4fbe8794c68e1ad846a36e33cba62e801b34 (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /pk/pk.h | |
parent | 13c751687d01dc59bfd3e0913cecadf17f025caa (diff) | |
download | riscv-pk-e63e4fbe8794c68e1ad846a36e33cba62e801b34.zip riscv-pk-e63e4fbe8794c68e1ad846a36e33cba62e801b34.tar.gz riscv-pk-e63e4fbe8794c68e1ad846a36e33cba62e801b34.tar.bz2 |
Renamed packages
Diffstat (limited to 'pk/pk.h')
-rw-r--r-- | pk/pk.h | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/pk/pk.h b/pk/pk.h deleted file mode 100644 index f7cee78..0000000 --- a/pk/pk.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef _PK_H -#define _PK_H - -#define USER_MAINVARS_SIZE 0x1000 -#define USER_START 0x10000 - -#ifndef __ASSEMBLER__ - -#include <stdint.h> -#include <machine/syscall.h> - -typedef struct -{ - long gpr[32]; - long sr; - long epc; - long badvaddr; - long cause; - long insn; -} trapframe_t; - -#define panic(s,...) do { printk(s"\n", ##__VA_ARGS__); sys_exit(-1); } while(0) -#define kassert(cond) do { if(!(cond)) panic("assertion failed: "#cond); } while(0) - -#ifdef __cplusplus -extern "C" { -#endif - -extern int have_fp; -extern int have_vector; -int emulate_fp(trapframe_t*); -void init_fp(trapframe_t* tf); - -void printk(const char* s, ...); -void init_tf(trapframe_t*, long pc, long sp, int user64); -void pop_tf(trapframe_t*); -void dump_tf(trapframe_t*); - -void unhandled_trap(trapframe_t*); -void handle_misaligned_load(trapframe_t*); -void handle_misaligned_store(trapframe_t*); -void handle_fault_load(trapframe_t*); -void handle_fault_store(trapframe_t*); -void boot(); - -void sys_exit(int code) __attribute__((noreturn)); -sysret_t syscall(long a0, long a1, long a2, long a3, long n); - -long load_elf(const char* fn, int* user64); - -static inline void advance_pc(trapframe_t* tf) -{ - int rvc = (tf->insn & 0x3) < 0x3; - tf->epc += rvc ? 2 : 4; -} - -#define ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0])) - -#ifdef __cplusplus -} -#endif - -#endif - -#endif |