summaryrefslogtreecommitdiff
path: root/cheri/sail_latexcc/sailccfnsetCapPerms.tex
blob: 5af9e7f611ab8ff23e0694341890f95fdb7a4a55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function #\hyperref[zsetCapPerms]{setCapPerms}#(cap, perms) : (CapStruct, #\hyperref[zbits]{bits}#(31)) -> CapStruct =
    { cap with
      uperms                 = perms[18..15],
      /* 14..11 reserved -- ignore */
      access_system_regs     = perms[10],
      permit_unseal          = perms[9],
      permit_ccall           = perms[8],
      permit_seal            = perms[7],
      permit_store_local_cap = perms[6],
      permit_store_cap       = perms[5],
      permit_load_cap        = perms[4],
      permit_store           = perms[3],
      permit_load            = perms[2],
      permit_execute         = perms[1],
      global                 = perms[0]
      }