dat.ed - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
dat.ed (1593B)
---
1 /BIOS32ci/,/BIOS32ci;/d
2 /^#define up/c
3 #define up (machp[0]->externup)
4 .
5 v/typedef/ s!Lock;!Lock lk;!g
6 /^struct PMMU/+2;/^}/-1c
7 struct vxproc *vxproc; // Plan 9 VX
8 struct vxmem vxmem;
9 struct vxmmap vxmm; // Plan 9 VX
10 Uspace *us;
11 uchar *uzero;
12 .
13 g/mmufree/d
14 g/mmuused/d
15 g/lastkmap/d
16 g/kmaptable/d
17 g/nkmap/d
18 / Mach \*m/s/m/m_/
19 /^struct Label/+2;/^}/-1c
20 uint64 bp; // Plan 9 VX
21 uint64 bx;
22 uint64 si;
23 uint64 di;
24 uint64 sp;
25 uint64 pc;
26 uint64 r12;
27 uint64 r13;
28 uint64 r14;
29 uint64 r15;
30 .
31 g/BIOS32ci/d
32 1i
33 #include <ucontext.h>
34 #include "libvx32/vx32.h"
35
36 .
37 / ulong\* pdb/d
38 / Tss\* tss/d
39 / Proc\* externup/d
40 / ulong ticks/d
41 / Lock alarmlock/d
42 / void\* alarm/d
43 / int inclockintr/d
44 / int loopconst/d
45 g/^ vlong mtrr/d
46 / int stack\[1\]/i
47 int spl; // Plan 9 VX
48 void *sigstack;
49 .
50 /^extern Mach \*m/c
51 #ifdef TLS
52 extern __thread Mach *m; // Plan 9 VX
53 extern __thread Proc *up; // Plan 9 VX
54 # define thismach m
55 # define setmach(x) (m = (x))
56 #else
57 extern Mach *getmach(void);
58 extern void setmach(Mach*);
59 # define up getmach()->externup
60 # ifdef WANT_M
61 # define m getmach()
62 # endif
63 #endif
64 .
65 /^struct Mach/+1a
66 #ifndef TLS
67 Proc* externup;
68 #endif
69 int new;
70 .
71 /^struct PMMU/i
72 typedef struct Uspace Uspace;
73 .
74 /^#define up/d
75 $a
76
77 // Plan 9 VX
78 extern int traceprocs;
79 extern int tracesyscalls;
80 extern int doabort;
81
82 /* Pthreads-based sleep and wakeup. */
83 typedef struct Psleep Psleep;
84 typedef struct Pwaiter Pwaiter;
85 struct Psleep
86 {
87 int init;
88 pthread_mutex_t mutex;
89 Pwaiter *waiter;
90 };
91
92 struct Uspace
93 {
94 Proc *p; // proc currently mapped
95 uchar *uzero;
96 ulong lo;
97 ulong hi;
98 };
99 .
100 g/^ u32int e..;$/d