Annotation of researchv9/jerq/sgs/inc/sdpsrc/hd/define4.h, revision 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.