wiki:WikiStart

Version 16 (modified by alain, 10 years ago) (diff)

--

GIET-VM usage information

A) Mapping_Info data structure

X) Peripherals

C) Shared kernel functions

The boot code and the kernel code are two separated compilation units, but some common functions can be used by both the boot code and the kernel code:

C1) utility functions?

physical C2) memory allocators

C4) virtual to physical address translation

Y) Boot Code

W) Kernel functions

The GIET acronym stands for Gestionnaire Interruptions, Exceptions & Trappes.

This section describe the kernel functions, supporting Interrupts, Exceptions and Traps (i.e. syscalls).

W1) Interrupt Handler

W2) Exception Handler

W3) Syscall Handler

context switchs

Z) User level libraries

This section describes the user libraries :

stdio library

This library contains all system calls allowing an application to access a protected ressource (peripheral register, or protected processor register). Each function in this library contains at least one SYSCALL instruction to enter the kernel mode.

stdlib library

This library contains various utility functions that do not use system calls.

MWMR library

This library defines a communication middleware supporting channelised communications in a multi-tasks parallel application. This middleware does not use system calls.

barrier library

This library contains functions used to synchronize severals tasks in a multi-task parallel application. Most of these functions do not use system calls.

spin_lock library

This library contains functions used to provide exclusive access to a shared ressource in a multi-task parallel application. These functions do not use system calls.

malloc library

This library contains functions allowing an user application to dynamically allocate virtual memory from the application heap. When the target architecture is clusterized (several physical banks), the heap is physically distributed on the clusters, and there is actually on allocator per cluster.