Barrelfish
Data Structures | Macros | Enumerations
capabilities.h File Reference

Essential capability definitions. More...

Data Structures

struct  frame_identity
 Values returned from frame identify invocation. More...
 
struct  vnode_identity
 Values returned from the VNode identify invocation. More...
 

Macros

#define L2_CNODE_BITS   8
 Number of entries in L2 CNode in bits.
 
#define L2_CNODE_SLOTS   (1UL << L2_CNODE_BITS)
 Number of entries in L2 CNode.
 
#define CAP_MAX_CMD   KernelCmd_Count
 

Enumerations

Detailed Description

Essential capability definitions.

Macro Definition Documentation

#define CAP_MAX_CMD   KernelCmd_Count

Maximum command ordinal.

Enumeration Type Documentation

enum cnode_cmd

CNode capability commands.

Enumerator
CNodeCmd_Copy 

Copy capability.

CNodeCmd_Mint 

Mint capability.

CNodeCmd_Retype 

Retype capability.

CNodeCmd_Delete 

Delete capability.

CNodeCmd_Revoke 

Revoke capability.

CNodeCmd_Create 

Create capability.

CNodeCmd_GetState 

Get distcap state for capability.

CNodeCmd_GetSize 

Get Size of CNode, only applicable for L1 Cnode.

CNodeCmd_Resize 

Resize CNode, only applicable for L1 Cnode.

Specific commands for dispatcher capabilities.

Enumerator
DispatcherCmd_Setup 

Set dispatcher parameters.

DispatcherCmd_Properties 

Set dispatcher properties.

DispatcherCmd_PerfMon 

Performance monitoring.

DispatcherCmd_SetupGuest 

Set up the DCB of a guest domain.

DispatcherCmd_DumpPTables 

Dump hw page tables of dispatcher.

DispatcherCmd_DumpCapabilities 

Dump capabilities of dispatcher.

DispatcherCmd_Vmread 

Execute vmread on the current and active VMCS.

DispatcherCmd_Vmwrite 

Execute vmwrite on the current and active VMCS.

DispatcherCmd_Vmptrld 

Make VMCS clear and inactive.

DispatcherCmd_Vmclear 

Make VMCS current and active.

enum frame_cmd

Frame capability commands.

Enumerator
FrameCmd_Identify 

Return physical address of frame.

enum id_cmd

ID capability commands.

Enumerator
IDCmd_Identify 

Return system-wide unique ID.

enum io_cmd

IO capability commands.

Enumerator
IOCmd_Outb 

Output byte to port.

IOCmd_Outw 

Output word to port.

IOCmd_Outd 

Output double word to port.

IOCmd_Inb 

Input byte from port.

IOCmd_Inw 

Input word from port.

IOCmd_Ind 

Input double word from port.

enum ipi_cmd

IPI capability commands

Enumerator
IPICmd_Send_Start 

Send Startup IPI to a destination core.

IPICmd_Send_Init 

Send Init IPI to a destination core.

IRQ Vector commands.

Enumerator
IRQDestCmd_Connect 

Connect this capability to a messaging channel.

IRQDestCmd_GetVector 

Return the local interrupt vector.

IRQDestCmd_GetCpu 

Return the local interrupt vector.

enum irqsrc_cmd

IRQ Vector commands.

Enumerator
IRQSrcCmd_GetVecStart 

Return vector range start.

IRQSrcCmd_GetVecEnd 

Return vector range high.

IRQ Table capability commands.

Enumerator
IRQTableCmd_Alloc 

Allocate new vector (XXX: HACK: this is x86 specific)

IRQTableCmd_AllocDestCap 

Allocate new dest capability (XXX: HACK: this is x86 specific)

IRQTableCmd_Set 

Set endpoint for IRQ# notifications.

IRQTableCmd_Delete 

Remove notification endpoint for IRQ#.

enum kcb_cmd

Kernel control block commands.

Enumerator
KCBCmd_Clone 

Duplicate core_data.

enum kernel_cmd

Kernel capabilities commands. Monitor's invocations of capability operations which the kernel will not subject to cross core checks

Enumerator
KernelCmd_Spawn_core 

Spawn a new kernel.

KernelCmd_Identify_cap 

Return the meta data of a capability.

KernelCmd_Identify_domains_cap 

Return the meta data of another domain's capability.

KernelCmd_Remote_relations 

Set capability as being remote.

KernelCmd_Cap_has_relations 

Return presence of local relations.

KernelCmd_Create_cap 

Create a new capability.

KernelCmd_Get_core_id 

Returns the id of the core the domain is on.

KernelCmd_Get_arch_id 

Returns arch id of caller's core.

KernelCmd_Nullify_cap 

Set the capability to NULL allowed it to be reused.

KernelCmd_Setup_trace 

Set up trace buffer.

KernelCmd_Register 

Register monitor notify endpoint.

KernelCmd_Domain_Id 

Set domain ID of dispatcher.

KernelCmd_Add_kcb 

add extra kcb to be scheduled

KernelCmd_Remove_kcb 

remove kcb from scheduling ring

KernelCmd_Suspend_kcb_sched 

suspend/resume kcb scheduler

KernelCmd_Get_platform 

Get architecture platform.

Mapping commands

enum notify_cmd

Notify capability commands.

Performance monitoring commands. Seems to be already included in the Dispatcher capability.

Enumerator
PerfmonCmd_Activate 

Activate performance counters.

PerfmonCmd_Deactivate 

Deactivate performance counters.

PerfmonCmd_Write 

Read current performance counter values.

enum ram_cmd

RAM capability commands

Enumerator
RAMCmd_Identify 

Return physical address of frame.

enum vnode_cmd
Enumerator
VNodeCmd_Identify 

Return the physical address of the VNode.