[PATCH] i386/virtualpok BSP, virtual BSP to be used with POK, build with enable-paravirt

Chris Johns chrisj at rtems.org
Tue Jan 14 11:32:03 UTC 2014

On 14/01/2014 12:40 am, Philipp Eppelt wrote:
> On 01/12/2014 10:19 PM, Chris Johns wrote:
>> On 13/01/2014 2:39 am, Philipp Eppelt wrote:
>>> On 01/11/2014 11:50 PM, Chris Johns wrote:
>>>> On 12/01/2014 12:45 am, Philipp Eppelt wrote:
>>>>> On 01/10/2014 10:27 PM, Chris Johns wrote:
>>>>>> On 7/01/2014 9:14 pm, Philipp Eppelt wrote:
>>>>>>> On 01/07/2014 04:25 AM, Chris Johns wrote:
>>>>>> Does this include headers ?
>>>>> POK separates kernel and partition code. The kernel code is not
>>>>> affected
>>>>> by the partitions running on top. And each partition has the
>>>>> 'knowledge'
>>>>> of how to communicate with the kernel. libpart.a consits of this
>>>>> communication code or 'partition base code' and the implementation of
>>>>> the functions in virtualizationlayercpu.h and virtualizationlayerbsp.h.
>>>>> Or what do you mean with headers?
>>>> Where do the virtualizationlayercpu.h and virtualizationlayerbsp.h come
>>>> from and live ?
>>> In libbsp/i386/virtualpok/include. The files are part of this patch.
>> What is used to build the library externally ?
>> I do not think having headers in RTEMS for a library built outside is a
>> good idea. An interface change in the library not reflected in RTEMS
>> headers will be difficult to find.
> The header files define the virtualization layer in RTEMS. They are not
> part of POK.

Yet the code is built by POK. I am a little confused by this.

> The header files define the functions a host has to
> implement to run this particular RTEMS BSP.


> All hardware interactions a BSP/CPU does go through this layer and are
> handled on the host system. RTEMS defines the function necessary and POK
> is providing the implementation via libpart.a.

How does POK see these definitions so it can build the library ?

> For examples, the console driver calls _BSP_Virtual_Char_read/write,
> defined in virtualizationlayerbsp.h.
> The implementation is done in POK and passed to RTEMS at compile time
> via libpart.a

What is the interface used in POK to build this RTEMS interface ?


More information about the devel mailing list