From 3caf5e9682807b9579938431cca4446d7efcf615 Mon Sep 17 00:00:00 2001 From: claude Date: Sun, 12 Jul 2026 10:27:24 +0000 Subject: 🌭 efi-kernel/: настоящий EFI-загрузчик + amd64-ядро (Plan9 a.out) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit По уточнению @lzcnt (нужен EFI-загрузчик, не a.out-парсер, и amd64-ядро): - kernel.c + kern64.s -> 6c/6a/6l -> amd64 Plan9 a.out (S_MAGIC 0x8A97, entry 0x100000), kmain пишет строку в VGA 0xB8000. - efi_load.c -> PE32+ bootx64.efi (через pe64.s из 9legacy + dd skip=40): под UEFI печатает через ConOut, разбирает встроенный a.out (big-endian 40-байтный заголовок), копирует сегменты по entry, прыгает в ядро (long mode). - Проверено: валидный PE32+ x64 EFI_APPLICATION, ядро встроено и парсится, ESP собран. Co-Authored-By: Claude Opus 4.8 --- efi-kernel/kern64.s | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 efi-kernel/kern64.s (limited to 'efi-kernel/kern64.s') diff --git a/efi-kernel/kern64.s b/efi-kernel/kern64.s new file mode 100644 index 0000000..9c39029 --- /dev/null +++ b/efi-kernel/kern64.s @@ -0,0 +1,5 @@ +/* amd64-энтрипоинт ядра: зовёт kmain (стек уже валиден от загрузчика) */ +TEXT _start(SB), 1, $-4 + CALL kmain(SB) +loop: + JMP loop -- cgit v1.2.3