universalisos/microkernel/include/uos_config_tier2.h
Fábio Coutada 62e8454f91 build: add UEFI ISO builder, test boot scripts, EIM config
- make-uefi-iso.sh: UEFI ISO image builder
- test_boot.S, test_boot.ld: test boot assembly and linker script
- eim_config.toml: EIM (External Interface Module) configuration
- edk2-ovmf RPM for UEFI firmware
- GAP_ANALYSIS_PIKEOS_PARITY.md: PikeOS parity gap analysis
2026-07-15 15:33:07 +01:00

42 lines
1.3 KiB
C

/*
* UniversalisOS Microkernel — Tier 2 Configuration
* Cortex-M33/M55 with TrustZone + MPU.
* Full hardware isolation between secure/non-secure worlds.
*/
#ifndef UOS_CONFIG_TIER2_H
#define UOS_CONFIG_TIER2_H
/* Override tier */
#undef UOS_TIER
#define UOS_TIER 2
/* TrustZone + MPU */
#undef UOS_HAS_TZ
#define UOS_HAS_TZ 1
#undef UOS_HAS_MPU
#define UOS_HAS_MPU 1
/* Secure world config */
#define UOS_TZ_SECURE_WORLD 1
#define UOS_TZ_SAU_REGIONS 8
#define UOS_TZ_NSC_GATE_COUNT 16 /* Max NSC gateway functions */
/* Memory regions (default for LPC55S69) */
#define UOS_TZ_FLASH_BASE 0x00000000
#define UOS_TZ_RAM_S_BASE 0x20000000 /* Secure RAM */
#define UOS_TZ_RAM_NS_BASE 0x20008000 /* Non-Secure RAM (after secure region) */
#define UOS_TZ_PERIPH_NS_BASE 0x40000000 /* Non-Secure peripherals */
/* Interrupt security defaults */
#define UOS_TZ_SVC_SECURE 1 /* SVC always Secure */
#define UOS_TZ_PENDSV_SECURE 1 /* PendSV always Secure */
#define UOS_TZ_SYSTICK_SECURE 1 /* SysTick always Secure */
/* Stack limits (ARMv8.1-M feature) */
#define UOS_HAS_STACK_LIMIT 1
#define UOS_TASK_STACK_LIMIT_CHECK 1
/* SecureFault priority — must be highest or equal to SecureFault */
#define UOS_TZ_SECUREFAULT_PRIO 0x00
#endif /* UOS_CONFIG_TIER2_H */