Kernel Interface Page Removal

OKL4 2.1 no longer supports a Kernel Interface Page (KIP). System parameters may now be retrieved from the OKL4 library interface.

Motivation

Recent versions of OKL4 have only used the KIP to store constant system parameters. As the KIP consumes 4KB of memory and uses one L4 system call slot, its cost is not justified by the functionality it provides.

Retrieving System Parameters

The following system parameters may now be obtained from the OKL4 library interface:

  • Number of available message registers (L4_GetMessageRegisters())

  • Size of UTCB (L4_GetUtcbSize())

  • Size of UTCB, log 2 (L4_GetUtcbBits())

  • Size of UTCB area (L4_GetUtcbAreaSize())

  • Hardware page sizes (L4_GetPageMask())

  • Hardware page permissions (L4_GetPagePerms())

  • Number of bits available for a thread number within a Thread ID word (L4_GetThreadBits())

  • Is the UTCB base managed by the kernel? (L4_UtcbIsKernelManaged())

The interface is exported via libs/l4/include/config.h.

Further Reading

System parameters supported by OKL4 are further described in Section A-9 of the OKL4 Kernel Programming Manual.

PortingNoKip (last edited 2008-08-11 02:34:28 by localhost)