e38bf6503439734c76193c469ac5101f6b284613
The platform_watchdog_ methods are optional features that the target platform can choose to implement. If they are implemented, then BootService.SetWatchdogTimer() would call them to setup the hardware watchdog. If they are not implemented (for example presubmit targets), then BootService.SetWatchdogTimer() would test the WEAK symbol against a NULL pointer and error out. To use BootService.SetWatchdogTimer(), platforms can choose to either implement platform_watchdog_init and platform_watchdog_set_enabled, or override the entire BootService.SetWatchdogTimer() method.
The Little Kernel Embedded Operating System
The LK kernel is an SMP-aware kernel designed for small systems ported to a variety of platforms and cpu architectures.
It is used in a variety of open source and closed source projects, notably the bootloader for a lot of Android phones of various make.
See https://github.com/littlekernel/lk for the latest version.
For comprehensive documentation, see Index.
High Level Features
- Fully-reentrant multi-threaded preemptive kernel
- Portable to many 32 and 64 bit architectures
- Support for wide variety of embedded and larger platforms
- Powerful modular build system
- Large number of utility components selectable at build time
Supported architectures
- ARM32
- Cortex-M class cores (armv6m - armv8m)
- ARMv7+ Cortex-A class cores
- ARM64
- ARMv8 and ARMv9 cores
- RISC-V 32 and 64bit bit in machine and supervisor mode
- x86-32 and x86-64
- Motorola 68000
- Microblaze
- MIPS
- OpenRISC 1000
- VAX (experimental)
Languages
C
80.6%
C++
10.8%
Assembly
3.6%
Makefile
3.4%
Python
1%
Other
0.6%