Completed support for WSPAWN, CLONE, and JALRS

This commit is contained in:
felsabbagh3
2019-02-14 03:32:58 -05:00
parent 39003073f9
commit 6c493cc4de
12 changed files with 408 additions and 9677 deletions

View File

@@ -3,15 +3,6 @@
#define __RISCV_GP_
#define WID_CSR 0x00E
#define FUNC_CSR 0x00F
#define SET_WID(val) asm __volatile__("csrw 0x00e,%0"::"r"(val));
#define GET_WID(ret) asm __volatile__("csrr %0,0x00e":"=r"(ret));
#define SET_FUNC(val) asm __volatile__("csrw 0x00f,%0"::"r"(val));
#define GET_FUNC(ret) asm __volatile__("csrr %0,0x00f":"=r"(ret));
#define WSPAWN asm __volatile__(".word 0x3006b"::);
#define CLONE asm __volatile__(".word 0x3506b":::"t1");
@@ -20,9 +11,13 @@
#define FUNC void (func)(unsigned)
void createWarps(unsigned num_Warps, unsigned num_threads, FUNC);
unsigned get_tid(void);
void initiate_stack(void);
void createWarps(unsigned num_Warps, unsigned num_threads, FUNC, unsigned *, unsigned *, unsigned *);
unsigned get_wid();
unsigned * get_1st_arg(void);
unsigned * get_2nd_arg(void);
unsigned * get_3rd_arg(void);
void initiate_stack();