RU

Написал свой ассемблер, чтобы понять, откуда берётся ff010113. Почти половину моей программы он выдумывает

Написал свой ассемблер, чтобы понять, откуда в дизассемблере берётся ff010113. Заодно посчитал, сколько строк моей программы процессор вообще не уме…

RISC-Vассемблеркодирование инструкцийпсевдоинструкцииRV32Iкомпоновщикрелокацияbare metalQEMU
Habr
RU

Как восстановить KRaft-кворум после потери большинства контроллеров

Представьте себе баг-репорт: все шесть подов в статусе 1/1 Running, Readiness зелёный, kafka-agent на брокерах отдаёт 204. А кластер мёртв: оператор…

vk cloudbare metalвыделенные серверыгибридная инфраструктураon-premisesвиртуализацияgpu нагрузкиinfinibandhigh performance computingerp crm системы
Habr
RU

Как восстановить KRaft-кворум после потери большинства контроллеров

Представьте себе баг-репорт: все шесть подов в статусе 1/1 Running, Readiness зелёный, kafka-agent на брокерах отдаёт 204. А кластер мёртв: оператор…

vk cloudbare metalвыделенные серверыгибридная инфраструктураon-premisesвиртуализацияgpu нагрузкиinfinibandhigh performance computingerp crm системы
Habr
RU

В заголовке моего ELF есть точка входа. Оказалось, её никто не читает

Три статьи я собирал файл и отдавал его эмулятору, ни разу в него не заглянув. Заглянул. Внутри два разных описания одних и тех же байтов, ответ на…

RISC-VQEMUbare metalассемблеELFкомпоновщиклинкер-скриптточка входасегменты и секци
Habr
RU

Моя рекурсия зависла навсегда, и это был правильный результат

Написал рекурсию тем же приёмом, что во второй статье, и программа повисла навсегда: возвращаться ей было некуда. Чиню, завожу стек и по дороге выяс…

RISC-VQEMUbare metalассемблерстекрекурсиясоглашение о вызовахпереполнение стекаpsABI
Habr
RU

Двенадцать символов, двадцать один байт: как я научил голый RISC-V говорить «Привет, мир!»

Без библиотек, без обвязок, без операционной системы под ногами. Реальный код на реальном железе — ну, почти реальном. Пустая эмулируемая машина RIS…

RISC-VQEMUbare metalUARTассемблерUTF-8
Habr