blob: e64e9194f3ce007722cd24b76e3e4b2059f7c5b1 [file] [log] [blame]
rscfd04aac2003-11-23 18:12:54 +00001#include <u.h>
2#include <libc.h>
3#include "9proc.h"
4
5static Lock privlock;
6static ulong privmap;
7
8int
9privalloc(void)
10{
11 int i;
12
13 lock(&privlock);
14 for(i=0; i<NPRIV; i++)
15 if((privmap&(1<<i)) == 0){
16 privmap |= (1<<i);
17 unlock(&privlock);
18 return i;
19 }
20 unlock(&privlock);
21 return -1;
22}
23
24void**
25privmem(int i)
26{
27 Uproc *up;
28
rsc175b8a52004-04-21 04:48:25 +000029 up = _p9uproc(0);
rscfd04aac2003-11-23 18:12:54 +000030 return &up->priv[i];
31}
32