aboutsummaryrefslogtreecommitdiff
path: root/src/libthread/power-ucontext.h
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2020-12-30 07:18:30 -0500
committerRuss Cox <rsc@swtch.com>2020-12-30 07:53:28 -0500
commit18571208068d5fe2f0bf7b4e980525a7f577c503 (patch)
treebaf2061164df38258cc6127a102ab76d9089fb31 /src/libthread/power-ucontext.h
parente68f07d46f5f168dc2076286627279540bf1f99e (diff)
downloadplan9port-18571208068d5fe2f0bf7b4e980525a7f577c503.tar.gz
plan9port-18571208068d5fe2f0bf7b4e980525a7f577c503.tar.bz2
plan9port-18571208068d5fe2f0bf7b4e980525a7f577c503.zip
libthread: simplify
Now that everything uses pthreads and pthreadperthread, can delete various conditionals, all the custom context code, and so on. Also update documents. Fixes #355.
Diffstat (limited to 'src/libthread/power-ucontext.h')
-rw-r--r--src/libthread/power-ucontext.h36
1 files changed, 0 insertions, 36 deletions
diff --git a/src/libthread/power-ucontext.h b/src/libthread/power-ucontext.h
deleted file mode 100644
index 1985d98d..00000000
--- a/src/libthread/power-ucontext.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#define setcontext(u) _setmcontext(&(u)->mc)
-#define getcontext(u) _getmcontext(&(u)->mc)
-typedef struct mcontext mcontext_t;
-typedef struct ucontext ucontext_t;
-struct mcontext
-{
- ulong pc; /* lr */
- ulong cr; /* mfcr */
- ulong ctr; /* mfcr */
- ulong xer; /* mfcr */
- ulong sp; /* callee saved: r1 */
- ulong toc; /* callee saved: r2 */
- ulong r3; /* first arg to function, return register: r3 */
- ulong gpr[19]; /* callee saved: r13-r31 */
-/*
-// XXX: currently do not save vector registers or floating-point state
-// ulong pad;
-// uvlong fpr[18]; / * callee saved: f14-f31 * /
-// ulong vr[4*12]; / * callee saved: v20-v31, 256-bits each * /
-*/
-};
-
-struct ucontext
-{
- struct {
- void *ss_sp;
- uint ss_size;
- } uc_stack;
- sigset_t uc_sigmask;
- mcontext_t mc;
-};
-
-void makecontext(ucontext_t*, void(*)(void), int, ...);
-int swapcontext(ucontext_t*, ucontext_t*);
-int _getmcontext(mcontext_t*);
-void _setmcontext(mcontext_t*);