Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ Additionally, if the protection domain provides a protected procedure it must al
void microkit_notify(microkit_channel ch);
microkit_msginfo microkit_msginfo_new(uint64_t label, uint16_t count);
uint64_t microkit_msginfo_get_label(microkit_msginfo msginfo);
uint64_t microkit_msginfo_get_count(microkit_msginfo msginfo);
void microkit_irq_ack(microkit_channel ch);
void microkit_mr_set(uint8_t mr, uint64_t value);
uint64_t microkit_mr_get(uint8_t mr);
Expand Down Expand Up @@ -416,6 +417,10 @@ The message can be passed to `microkit_ppcall` or returned from `protected`.

Returns the label from a message.

## `uint64_t microkit_msginfo_get_count(microkit_msginfo msginfo)`

Returns the count of message registers in the message.

## `uint64_t microkit_mr_get(uint8_t mr)`

Get a message register.
Expand Down
6 changes: 6 additions & 0 deletions libmicrokit/include/microkit.h
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,12 @@ microkit_msginfo_get_label(microkit_msginfo msginfo)
return seL4_MessageInfo_get_label(msginfo);
}

static inline uint64_t
microkit_msginfo_get_count(microkit_msginfo msginfo)
{
return seL4_MessageInfo_get_length(msginfo);
}

static void
microkit_mr_set(uint8_t mr, uint64_t value)
{
Expand Down