Usage   Interface   Related Pages  

l4_kernel_info_t Struct Reference

L4 Kernel Info Page. More...


Data Fields

l4_uint32_t magic
 Kernel Info Page identifier ("L4µK").
l4_uint32_t version
 Kernel version.
l4_uint8_t offset_version_strings
 offset to version string
l4_uint8_t fill0 [3]
 reserved
l4_uint8_t kip_sys_calls
 pointer to system calls
l4_uint8_t fill1 [3]
 reserved
l4_umword_t init_default_kdebug
 Kdebug init function.
l4_umword_t default_kdebug_exception
 Kdebug exception handler.
l4_umword_t scheduler_granularity
 for rounding timeslices
l4_umword_t default_kdebug_end
 default_kdebug_end
l4_umword_t sigma0_esp
 Sigma0 start stack pointer.
l4_umword_t sigma0_eip
 Sigma0 instruction pointer.
l4_umword_t _res01 [2]
 reserved
l4_umword_t sigma1_esp
 Sigma1 start stack pointer.
l4_umword_t sigma1_eip
 Sigma1 instruction pointer.
l4_umword_t _res02 [2]
 reserved
l4_umword_t root_esp
 Root task stack pointer.
l4_umword_t root_eip
 Root task instruction pointer.
l4_umword_t _res03 [2]
 reserved
l4_umword_t l4_config
 L4 kernel configuration.
l4_umword_t mem_info
 memory information
l4_umword_t kdebug_config
 Kernel debugger config.
l4_umword_t kdebug_permission
 Kernel debugger permissions.
l4_umword_t total_ram
 Size of RAM in bytes.
l4_umword_t _res04 [15]
 reserved
volatile l4_cpu_time_t clock
 L4 system clock (µs).
volatile l4_cpu_time_t switch_time
 timestamp of last l4 thread switch (cycles)
  • only valid if FINE_GRAINED_CPU_TIME is available

l4_uint32_t frequency_cpu
 CPU frequency in kHz.
l4_uint32_t frequency_bus
 Bus frequency.
volatile l4_cpu_time_t thread_time
 accumulated thread time for currently running thread at last l4 thread switch (in cycles)
  • only valid if FINE_GRAINED_CPU_TIME is available

l4_umword_t sys_ipc
 ipc syscall entry
l4_umword_t sys_id_nearest
 id_nearest syscall entry
l4_umword_t sys_fpage_unmap
 fpage_unmap syscall entry
l4_umword_t sys_thread_switch
 thread_switch syscall entry
l4_umword_t sys_thread_schedule
 thread_schedule syscall entry
l4_umword_t sys_lthread_ex_regs
 lthread_ex_regs syscall entry
l4_umword_t sys_task_new
 task_new syscall entry
l4_umword_t sys_privctrl
 privctrl syscall entry
l4_umword_t user_ptr
 user_ptr
l4_umword_t vhw_offset
 offset to vhw structure
l4_uint8_t vkey_irq
 Number of virtual key interrupt.


Detailed Description

L4 Kernel Info Page.

Field Documentation

L4 kernel configuration.

Values:

  • bits 0-7: set the number of page table entries to allocate
  • bits 8-15: set the number of mapping nodes.

Kernel debugger config.

Values:

  • bits 0-7: set the number of pages to allocate for the trace buffer
  • bit 8: if set to 1, the kernel enters kdebug before starting the root task
  • bits 16-19: set the port speed to use with serial line (1..115.2KBd, 2..57.6KBd, 3..38.4KBd, 6..19.2KBd, 12..9.6KBD)
  • bits 20-31: set the I/O port to use with serial line, 0 indicates that no serial output should be used

Kernel debugger permissions.

Values:

  • bits 0-7: if 0 all tasks can enter the kernel debugger, otherwise only tasks with a number lower the set value can enter kdebug, other tasks will be shut down.
  • bit 8: if set, kdebug may display mappings
  • bit 9: if set, kdebug may display user registers
  • bit 10: if set, kdebug may display user memory
  • bit 11: if set, kdebug may modify memory, registers, mappings and tcbs
  • bit 12: if set, kdebug may read/write I/O ports
  • bit 13: if set, kdebug may protocol page faults and IPC


L4 Timer User Manual, part of DROPS  © 2000-2003