summaryrefslogtreecommitdiff
path: root/cheri/sail_latex/sailfncapRegToCapStruct.tex
blob: 5209e9f94aec3a91d84c6ee6893c3a2745748ba8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function #\hyperref[zcapRegToCapStruct]{capRegToCapStruct}#(capReg) : CapReg -> CapStruct =
  struct {
    tag                        = capReg[256],
    padding                    = capReg[255..248],
    otype                      = capReg[247..224],
    uperms                     = capReg[223..208],
    perm_reserved11_14         = capReg[207..204],
    access_system_regs         = capReg[203],
    permit_unseal              = capReg[202],
    permit_ccall               = capReg[201],
    permit_seal                = capReg[200],
    permit_store_local_cap     = capReg[199],
    permit_store_cap           = capReg[198],
    permit_load_cap            = capReg[197],
    permit_store               = capReg[196],
    permit_load                = capReg[195],
    permit_execute             = capReg[194],
    global                     = capReg[193],
    sealed                     = capReg[192],
    address                    = capReg[191..128],
    base                       = capReg[127..64],
    length                     = capReg[63..0]
  }