L4Re - L4 Runtime Environment
|
C factory interface to create kernel objects. More...
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().