документации.
Структура проекта
Создайте папку baikal-os/ и разместите в ней следующие файлы.
1. startup.S — точка входа на ассемблере
Этот код выполняется самым первым. Он устанавливает стек, очищает BSS и передаёт управление в C.
assembly
// startup.S
.section .text.boot
.global _start
_start:
// Проверяем, на каком ядре мы запущены.
// mpidr_el1 содержит ID ядра.
mrs x0, mpidr_el1
and x0, x0, #0xFF // маска Aff0
cbz x0, master // если ядро 0 — продолжаем
// Ядра 1,2,3 — уходят в бесконечный сон (пока не
(
Читать дальше
)