Symbian developer community

 
wiki

Kernelhwsrv

From Symbian Developer Community

Jump to: navigation, search

Kernel and Hardware Services Package

Kernel and Hardware Services provides the foundations of the operating system on which the rest of the packages build. It provides the kernel, fileserver and device driver framework as well as user libraries to enable all other packages to exist. The Kernel is the fundamental software that differentiates Symbian OS from Linux, CE and S40.

Contents


News

  • Writeable Data Paging now in the MCL

Package Backlog

Kernel and Hardware Services Package backlog

Related Packages

Key APIs and Features

SMP

Kernel & EUser APIs

Filer Server APIs

HAL APIs

The main building blocks for Symbian OS that we provide are:

  • Kernel
    • thread and process control
    • scheduling
    • memory allocation and memory models
    • dma framework
    • kernel debug support
    • Debug Monitor / Exception Handling
    • Power Management
    • Resource Manager
    • Atomic Operations
    • device driver and kernel extension framework
    • btrace
    • maths libraries
    • timers
    • descriptors
    • IPC
    • Locks, semaphores and mutexes
    • Loader
    • Atomic Operations
  • Advanced Kernel features
    • Read-only Demand Paging
    • Writeable Data Paging
    • SMP
  • EUser : Userside interfaces for kernel features
    • Fileserver and filesystems
    • Bootloader
    • Bootstrap
    • Text Window Server
    • Time and Date support

Working with the Package

How to build the package

Obtain and configure your build environment and package sources as described here: How to Build a Package

The latest version of the Symbian OS source code can be taken from the Mercurial repositories (one repository per Symbian OS package) on the developer website. If you intend to contribute to the Symbian OS code you should refer to this location.

You can browse the Mercurial repositories starting off from here. Source code can be either under the OSS license (available to the general public ) or the SFL (Symbian Foundation License). Also for each package there is an MCL repository (paths starting with "MCL/sf/") and an FCL (paths starting with "FCL/sf/") available: MCL stands for Master Codeline and it is the official location for the released source code, FCL (Feature Codeline) is meant to contain experimental/proposed code for new features or bug fixes and it's not guaranteed to build correctly.

The kernel and hardware services package_definition.xml is in version 3.0.0 and this is not compatible with SBSv2 yet. If this is the case then note that there is an XSL Transformation released in the os/buildtools package to automatically convert the file to version 2.0.1.

cd  \os\kernelhwsrv\

java -jar xalan-j_2_7_1\xalan.jar -in \os\kernelhwsrv\package_definition.xml -xsl
\os\buildtools\bldsystemtools\buildsystemtools\sysdefdowngrade.xsl  
-out \os\kernelhwsrv\package_definition_translated.xml -param Path /os/kernelhwsrv

Currently the kernel and hardware services package can only be built using the ARM RVCT compiler, therefore there prerequisite that you have a licensed version installed.

The kernel and hardware services package is built only for a generic platform variant (bsp_template), for platform specific variants including the emulator see the Board Support Package (BSP).

sbs -s package_definition_translated.xml -k -c armv5 cleanall

sbs -s package_definition_translated.xml -k -c armv5 -f build.log

How to contribute to the package

Contribution Process

How contribute code


Contacts

  • Package Owner: John Imhofe <john.imhofe at nokia.com>
  • Mailing list: To be set up soon as the infrastructure is available
  • Forums: To be set up soon as the infrastructure is available

Reference

Community

Comments

Sign in to comment…