seL4/include/object/structures.bf

114 lines
2 KiB
Brainfuck

--
-- Copyright 2014, General Dynamics C4 Systems
--
-- This software may be distributed and modified according to the terms of
-- the GNU General Public License version 2. Note that NO WARRANTY is provided.
-- See "LICENSE_GPLv2.txt" for details.
--
-- @TAG(GD_GPL)
--
-- Default base size: uint32_t
base 32
block null_cap {
padding 32
padding 28
field capType 4
}
block untyped_cap {
field capFreeIndex 27
field capBlockSize 5
field_high capPtr 28
field capType 4
}
block endpoint_cap(capEPBadge, capCanGrant, capCanSend, capCanReceive,
capEPPtr, capType) {
field_high capEPPtr 28
padding 1
field capCanGrant 1
field capCanReceive 1
field capCanSend 1
field capEPBadge 28
field capType 4
}
block async_endpoint_cap {
field capAEPBadge 28
padding 2
field capAEPCanReceive 1
field capAEPCanSend 1
field_high capAEPPtr 28
field capType 4
}
block reply_cap(capReplyMaster, capTCBPtr, capType) {
padding 32
field_high capTCBPtr 27
field capReplyMaster 1
field capType 4
}
-- The user-visible format of the data word is defined by cnode_capdata, below.
block cnode_cap(capCNodeRadix, capCNodeGuardSize, capCNodeGuard,
capCNodePtr, capType) {
padding 4
field capCNodeGuardSize 5
field capCNodeRadix 5
field capCNodeGuard 18
field_high capCNodePtr 27
padding 1
field capType 4
}
block cnode_capdata {
padding 6
field guard 18
field guardSize 5
padding 3
}
block thread_cap {
padding 32
field_high capTCBPtr 28
field capType 4
}
block irq_control_cap {
padding 32
padding 24
field capType 8
}
block irq_handler_cap {
padding 24
field capIRQ 8
padding 24
field capType 8
}
block zombie_cap {
field capZombieID 32
padding 18
field capZombieType 6
field capType 8
}
block domain_cap {
padding 32
padding 24
field capType 8
}