Skip to content

Repository files navigation

HIC Kernel

Core rewrite project: Core-0 will be rewritten in Core-lang (short: Core), a systems language under active development. Core-lang repository: github.com/dslsdzc/core

Performance

IPC 3.0 entry-page self-check cross-domain call — measured in userspace on AMD A8-7650K @ 3.6 GHz:

Measurement Latency
bt [bitmap], ecx (single authorization check) 2.83 ± 0.38 cycles (~0.8 ns)
Full IPC3 rapid path round-trip (call → bt → jnc → jmp → ret) 8.04 ± 0.98 cycles (~2.2 ns)
Overhead vs plain indirect call (bt + jnc + jmp) ~4.3 cycles

Results validated with Duff's device K-batch (K=1..128), weighted OLS fit (R²=1.0), MAD outlier filter. Run yourself: see tests/benchmarks/.

  • IPC3 design doc prediction: 6-9 cycles — matched ✓
  • seL4 IPC: ~200-500 ns, Linux syscall: ~50-100 ns

HIC (Hierarchical Isolation Core) is a multi-architecture microkernel with a three-tier privilege architecture and IPC 3.0 (entry-page self-check cross-domain call).

Supported architectures:

  • x86_64 (QEMU, UEFI)
  • ARM64 (QEMU virt, GICv3, PL011)
  • STM32F103C8T6 (Cortex-M3)

Quick Start

# x86_64
make
make img-run

# ARM64
make ARCH=arm64
make ARCH=arm64 run

Build output goes to build/.

Architecture

  • Three-layer model: Core-0 (Ring 0), Privileged-1 (Ring 0, MMU isolated), Application-3 (Ring 3)
  • IPC 3.0: entry-page self-check cross-domain call
  • Per-core capability slot allocation (no global lock)
  • TLV boot protocol
  • Static interrupt routing table

Documentation

Contributing

See CONTRIBUTING.md and GOVERNANCE.md.

Security

See SECURITY.md.

License

GPL-2.0 with LicenseRef-HIC-service-exception. See LICENSE for details.

About

HIC: A hierarchical isolation kernel reference architecture. Unifying security, performance, and modularity in a single design, enabling deployment from embedded to cloud with full lifecycle evolution.

Resources

Code of conduct

Contributing

Security policy

Stars

15 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages