xref: /plan9-contrib/sys/src/libc/riscv/notejmp.c (revision ce95e1b3727b9cb1c223ffbed69aff21a8ced255)
1*ce95e1b3SDavid du Colombier #include <u.h>
2*ce95e1b3SDavid du Colombier #include <libc.h>
3*ce95e1b3SDavid du Colombier #include <ureg.h>
4*ce95e1b3SDavid du Colombier 
5*ce95e1b3SDavid du Colombier void
notejmp(void * vr,jmp_buf j,int ret)6*ce95e1b3SDavid du Colombier notejmp(void *vr, jmp_buf j, int ret)
7*ce95e1b3SDavid du Colombier {
8*ce95e1b3SDavid du Colombier 	struct Ureg *r = vr;
9*ce95e1b3SDavid du Colombier 
10*ce95e1b3SDavid du Colombier 	r->ret = ret;
11*ce95e1b3SDavid du Colombier 	if(ret == 0)
12*ce95e1b3SDavid du Colombier 		r->ret = 1;
13*ce95e1b3SDavid du Colombier 	r->pc = j[JMPBUFPC];
14*ce95e1b3SDavid du Colombier 	r->sp = j[JMPBUFSP];
15*ce95e1b3SDavid du Colombier 	noted(NCONT);
16*ce95e1b3SDavid du Colombier }
17