Kernel Overview

Document Revision: 26h1.0


1. Entry Contract

The kernel receives control from ZXFL with the following guaranteed state:

ResourceState
DATOn — CR1 holds the ASCE built by the loader
InterruptsMasked — all interrupt classes disabled
%r2HHDM virtual address of zxfl_boot_protocol_t
%r15HHDM virtual address of initial stack top (32 KB loader stack)
All other GPRsUndefined

The kernel entry point is zxfoundation_global_initialize(zxfl_boot_protocol_t *boot). The first action must be to validate boot->magic == ZXFL_MAGIC. Any other use of the protocol before this check is undefined behavior.


2. Subsystem Table

SubsystemSource locationStatus
Early initzxfoundation/init/Active
PMMzxfoundation/memory/pmm.cActive
VMMzxfoundation/memory/vmm.cActive
Slabzxfoundation/memory/slab.cActive
kmalloczxfoundation/memory/kmalloc.cActive
Heapzxfoundation/memory/heap.cActive
MMUarch/s390x/mmu/mmu.cActive
Per-CPUarch/s390x/cpu/percpu.cActive
qspinlockarch/s390x/cpu/qspinlock.cActive
Mutexzxfoundation/sync/mutex.cActive
RW Lockzxfoundation/sync/rwlock.cActive
Semaphorezxfoundation/sync/semaphore.cActive
Wait queuezxfoundation/sync/waitqueue.cActive
RCUzxfoundation/sync/rcu.cActive
SRCUzxfoundation/sync/srcu.cActive
kobjectzxfoundation/object/kobject.cActive
printkzxfoundation/sys/printk.cActive
paniczxfoundation/sys/panic.cActive
Traparch/s390x/trap/Active
SMParch/s390x/cpu/smp.cActive
Schedulerzxfoundation/sched/Active
IRQarch/s390x/irq/Stub
Timearch/s390x/time/Stub