1*433d6423SLionel Sambuc /* 2*433d6423SLionel Sambuc * mcontext.c 3*433d6423SLionel Sambuc */ 4*433d6423SLionel Sambuc #include <sys/cdefs.h> 5*433d6423SLionel Sambuc #include <lib.h> 6*433d6423SLionel Sambuc #include <namespace.h> 7*433d6423SLionel Sambuc 8*433d6423SLionel Sambuc #include <string.h> 9*433d6423SLionel Sambuc #include <ucontext.h> 10*433d6423SLionel Sambuc #include <unistd.h> 11*433d6423SLionel Sambuc setmcontext(const mcontext_t * mcp)12*433d6423SLionel Sambucint setmcontext(const mcontext_t *mcp) 13*433d6423SLionel Sambuc { 14*433d6423SLionel Sambuc message m; 15*433d6423SLionel Sambuc 16*433d6423SLionel Sambuc memset(&m, 0, sizeof(m)); 17*433d6423SLionel Sambuc m.m_lc_pm_mcontext.ctx = (vir_bytes)mcp; 18*433d6423SLionel Sambuc 19*433d6423SLionel Sambuc return(_syscall(PM_PROC_NR, PM_SETMCONTEXT, &m)); 20*433d6423SLionel Sambuc } 21*433d6423SLionel Sambuc 22*433d6423SLionel Sambuc getmcontext(mcontext_t * mcp)23*433d6423SLionel Sambucint getmcontext(mcontext_t *mcp) 24*433d6423SLionel Sambuc { 25*433d6423SLionel Sambuc message m; 26*433d6423SLionel Sambuc 27*433d6423SLionel Sambuc memset(&m, 0, sizeof(m)); 28*433d6423SLionel Sambuc m.m_lc_pm_mcontext.ctx = (vir_bytes)mcp; 29*433d6423SLionel Sambuc 30*433d6423SLionel Sambuc return(_syscall(PM_PROC_NR, PM_GETMCONTEXT, &m)); 31*433d6423SLionel Sambuc } 32*433d6423SLionel Sambuc 33