7 Semperpg = Pagesize/(16*sizeof(uint)),
17 extern int C_3ktas(int*);
18 extern int C_4ktas(int*);
19 extern int C_fcr0(void);
27 return; /* allow multiple calls */
32 if(segattach(SG_CEXEC, "lock", v, Pagesize) == (void*)-1) {
36 memset(v, 0, Pagesize);
61 while(C_3ktas(&lk->val))
68 if(C_4ktas(&lk->val) == 0)
73 /* Use low order lock bits to generate hash */
74 hash = ((int)lk/sizeof(int)) & (Semperpg-1);
75 hwsem = (int*)Lockaddr+hash;
78 if((*hwsem & 1) == 0) {
106 if(C_3ktas(&lk->val))
110 if(C_4ktas(&lk->val))
114 /* Use low order lock bits to generate hash */
115 hash = ((int)lk/sizeof(int)) & (Semperpg-1);
116 hwsem = (int*)Lockaddr+hash;
118 if((*hwsem & 1) == 0) {
154 /* Use low order lock bits to generate hash */
155 hash = ((int)p/sizeof(int)) & (Semperpg-1);
156 hwsem = (int*)Lockaddr+hash;
158 if((*hwsem & 1) == 0) {