You can define which capabilities you want in the kernel by defining
some macros. Depending on which maccro you define, it will add services and
capabilities in your kernel. It was made to make a very tight kernel and
ease verification/certification efforts.
When you use code generation capabilities, these declarations are
automatically created in the deployment.h file.
- POK_NEEDS_PARTITIONS maccro indicates that you need partitioning
services. It implies that you define configuration macros and
variables for the partitioning service.
- POK_NEEDS_SCHED maccro specifies that you need the
scheduler.
- POK_NEEDS_PCI maccro specifies that kernel will include
services to use PCI devices.
- POK_NEEDS_IO maccro specifies that input/output service must
be activated so that some partitions will be allowed to perform i/o.
- POK_NEEDS_DEBUG maccro specifies that debugging information
are activated. Additional output will be produced.
- POK_NEEDS_LOCKOBJECTS maccro specifies that you need the
lockobject service. It must be defined if you use mutexes or
semaphores.
- POK_NEEDS_THREADS maccro that thread service must be
activated.
- POK_NEEDS_GETTICK maccro that time service must be activated
(interrupt frame on timer interrupt is installed and clock is available).
- POK_NEEDS_SCHED_RR : the Round Robin scheduling policy is
included in the kernel.
- POK_NEEDS_SCHED_RMS : the Rate Monotonic Scheduling
scheduling policy is included in the kernel.
- POK_NEEDS_SCHED_EDF : the Earliest Deadline First
scheduling policy is included in the kernel.
- POK_NEEDS_SCHED_LLF : the Last Laxity First scheduling
protocol is included in the kernel.
- POK_NEEDS_SCHED_STATIC : the static scheduling protocol is
included in the kernel.
- POK_NEEDS_PORTS_SAMPLING : the sampling ports service for
inter-partitions communication is included.
- POK_NEEDS_PORTS_QUEUEING : the queueing ports service for
inter-partitions communication is included.
Copyright 2009 POK Team