summaryrefslogtreecommitdiffstats
path: root/pintos-progos/threads/switch.h
diff options
context:
space:
mode:
Diffstat (limited to 'pintos-progos/threads/switch.h')
-rw-r--r--pintos-progos/threads/switch.h39
1 files changed, 0 insertions, 39 deletions
diff --git a/pintos-progos/threads/switch.h b/pintos-progos/threads/switch.h
deleted file mode 100644
index cc156b6..0000000
--- a/pintos-progos/threads/switch.h
+++ /dev/null
@@ -1,39 +0,0 @@
1#ifndef THREADS_SWITCH_H
2#define THREADS_SWITCH_H
3
4#ifndef __ASSEMBLER__
5/* switch_thread()'s stack frame. */
6struct switch_threads_frame
7 {
8 uint32_t edi; /* 0: Saved %edi. */
9 uint32_t esi; /* 4: Saved %esi. */
10 uint32_t ebp; /* 8: Saved %ebp. */
11 uint32_t ebx; /* 12: Saved %ebx. */
12 void (*eip) (void); /* 16: Return address. */
13 struct thread *cur; /* 20: switch_threads()'s CUR argument. */
14 struct thread *next; /* 24: switch_threads()'s NEXT argument. */
15 };
16
17/* Switches from CUR, which must be the running thread, to NEXT,
18 which must also be running switch_threads(), returning CUR in
19 NEXT's context. */
20struct thread *switch_threads (struct thread *cur, struct thread *next);
21
22/* Stack frame for switch_entry(). */
23struct switch_entry_frame
24 {
25 void (*eip) (void);
26 };
27
28void switch_entry (void);
29
30/* Pops the CUR and NEXT arguments off the stack, for use in
31 initializing threads. */
32void switch_thunk (void);
33#endif
34
35/* Offsets used by switch.S. */
36#define SWITCH_CUR 20
37#define SWITCH_NEXT 24
38
39#endif /* threads/switch.h */