|
L4Re - L4 Runtime Environment
|
C factory interface to create kernel objects. More...
Collaboration diagram for Factory:C factory interface to create kernel objects.
A factory is used to create all kinds of kernel objects:
To create a new kernel object the caller has to specify the factory to use for creation. The caller has to allocate a capability slot where the kernel stores the new object's capability.
The factory is equipped with a limit that limits the amount of kernel memory available for that factory.
For the C++ interface refer to L4::Factory.
|
inline |
Create a new factory.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new factory's capability into this slot. |
| limit | Limit for the new factory in bytes. |
Definition at line 373 of file factory.h.
References l4_factory_create_factory_u(), and l4_utcb().
Here is the call graph for this function:
|
inline |
Create a new factory.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new factory's capability into this slot. |
| limit | Limit for the new factory in bytes. | |
| utcb | The UTCB to use for the operation. |
Definition at line 307 of file factory.h.
Referenced by L4::Factory::create_factory(), and l4_factory_create_factory().
Here is the caller graph for this function:
|
inline |
Create a new IPC gate.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new IPC gate's capability into this slot. |
| thread_cap | Optional capability selector of the thread to bind the gate to. Use L4_INVALID_CAP to create an unbound IPC gate. | |
| label | Optional label of the gate (is used if thread_cap is valid). |
| L4_EOK | No error occurred. |
| -L4_ENOMEM | Out-of-memory during allocation of the Ipc_gate object. |
| -L4_ENOENT | thread_cap is void or points to something that is not a thread. |
| -L4_EPERM | No write rights on thread_cap. |
An unbound IPC gate can be bound to a thread using l4_ipc_gate_bind_thread.
Definition at line 381 of file factory.h.
References l4_factory_create_gate_u(), and l4_utcb().
Here is the call graph for this function:
|
inline |
Create a new IPC gate.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new IPC gate's capability into this slot. |
| thread_cap | Optional capability selector of the thread to bind the gate to. Use L4_INVALID_CAP to create an unbound IPC gate. | |
| label | Optional label of the gate (is used if thread_cap is valid). | |
| utcb | The UTCB to use for the operation. |
| L4_EOK | No error occurred. |
| -L4_ENOMEM | Out-of-memory during allocation of the Ipc_gate object. |
| -L4_ENOENT | thread_cap is void or points to something that is not a thread. |
| -L4_EPERM | No write rights on thread_cap. |
An unbound IPC gate can be bound to a thread using L4::Ipc_gate::bind_thread().
Definition at line 318 of file factory.h.
Referenced by L4::Factory::create_gate(), and l4_factory_create_gate().
Here is the caller graph for this function:
|
inline |
Create a new IRQ sender.
| factory | Factory to use for creation. | |
| [out] | target_cap | The kernel stores the new IRQ's capability into this slot. |
Definition at line 389 of file factory.h.
References l4_factory_create_irq_u(), and l4_utcb().
Here is the call graph for this function:
|
inline |
Create a new IRQ.
| factory | Factory to use for creation. | |
| [out] | target_cap | The kernel stores the new IRQ's capability into this slot. |
| utcb | The UTCB to use for the operation. |
create() with Cap<Irq> as argument instead.Definition at line 340 of file factory.h.
Referenced by L4::Factory::create_irq(), and l4_factory_create_irq().
Here is the caller graph for this function:
|
inline |
Create a new task.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new task's capability into this slot. |
| utcb_area | Flexpage that describes an area of kernel-user memory that can be used for UTCBs and vCPU state-save-areas of the new task. |
Definition at line 359 of file factory.h.
References l4_factory_create_task_u(), and l4_utcb().
Here is the call graph for this function:
|
inline |
Create a new task.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new task's capability into this slot. |
| utcb_area | Flexpage that describes an area in the address space of the new task, where the kernel should map the kernel-allocated kernel-user memory to. The kernel uses the kernel-user memory to store UTCBs and vCPU state-save-areas of the new task. | |
| utcb | The UTCB to use for the operation. |
Definition at line 289 of file factory.h.
Referenced by L4::Factory::create_task(), and l4_factory_create_task().
Here is the caller graph for this function:
|
inline |
Create a new thread.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new thread's capability into this slot. |
Definition at line 366 of file factory.h.
References l4_factory_create_thread_u(), and l4_utcb().
Here is the call graph for this function:
|
inline |
Create a new thread.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new thread's capability into this slot. |
| utcb | The UTCB to use for the operation. |
create() with Cap<Thread> as argument instead.Definition at line 300 of file factory.h.
Referenced by L4::Factory::create_thread(), and l4_factory_create_thread().
Here is the caller graph for this function:
|
inline |
Create a new virtual machine.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new VM's capability into this slot. |
Definition at line 396 of file factory.h.
References l4_factory_create_vm_u(), and l4_utcb().
Here is the call graph for this function:
|
inline |
Create a new virtual machine.
| factory | Capability selector for factory to use for creation. | |
| [out] | target_cap | The kernel stores the new VM's capability into this slot. |
| utcb | The UTCB to use for the operation. |
create() with Cap<Vm> as argument instead.Definition at line 347 of file factory.h.
Referenced by L4::Factory::create_vm(), and l4_factory_create_vm().
Here is the caller graph for this function: