Annotation of researchv9/jerq/sgs/inc/sdpsrc/hd/define4.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * static char ID_def4h[] = "@(#) define4.h: 1.1 1/7/82";
                      3:  */
                      4: 
                      5: /*
                      6:  * macros for manipulation
                      7:  *
                      8:  *
                      9:  *
                     10:  *     BUILDPN         build itemid from page number and address space
                     11:  *                             number
                     12:  *     BYTEMASK        mask the size of an itemid's byte-offset
                     13:  *     MAXSP           maximum number of address spaces:
                     14:  *                             2**SPIDBITS
                     15:  *     PAGEMASK        mask the size of an itemid's page-offset
                     16:  *     PAGESIZE        size of page, in bytes:
                     17:  *                             2**BYTEBITS
                     18:  *     SPIDBITS        number of bits of itemid holing the address
                     19:  *                             space number
                     20:  *     SPIDMASK        mask the size of an itemid's space-number
                     21:  *     SPSIZE          size of address space, in pages
                     22:  *                             2**PAGEBITS
                     23:  *     XTRCTBY         extract and right-justify byte offset from itemid
                     24:  *     XTRCTPN         extract and right-justify page number from itemid
                     25:  *     XTRCTSP         extract and right-justify address space number from
                     26:  *                             itemid
                     27:  */
                     28: 
                     29: #define SPIDBITS       (ITEMSIZE-PAGEBITS-BYTEBITS)
                     30: #define MAXSP          (1 << SPIDBITS)
                     31: #define PAGESIZE       (1 << BYTEBITS)
                     32: #define SPSIZE         (1L << PAGEBITS)
                     33: 
                     34: #define BYTEMASK       (PAGESIZE - 1L)
                     35: #define PAGEMASK       (SPSIZE - 1L)
                     36: #define SPIDMASK       (MAXSP - 1L)
                     37: 
                     38: #define BUILDPN(p,s) (((long) s) << (PAGEBITS+BYTEBITS)) | (((long) p) << BYTEBITS)
                     39: 
                     40: #define XTRCTBY(i) ((int) ((i) & BYTEMASK))
                     41: #define XTRCTPN(i) (((i) >> BYTEBITS) & PAGEMASK)
                     42: #define XTRCTSP(i) ((int) (((i) >> (PAGEBITS+BYTEBITS)) & SPIDMASK))

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.