Size: a a a

pro.osdev - os development

2021 October 05

BV

Boris Vinogradov in pro.osdev - os development
помню был прикол где чел написал клон л4 и за каким-то смыслом запихнул в асинхронные объекты уарт
источник

BV

Boris Vinogradov in pro.osdev - os development
куда пытался писать логи при загрузке
источник

BV

Boris Vinogradov in pro.osdev - os development
итого каждая n-ая сборка не загружалась
источник
2021 October 06

RG

R G in pro.osdev - os development
поэтому торвальдс выбирает си
источник

BV

Boris Vinogradov in pro.osdev - os development
офтопите, но тем не менее раст таки затащили, потому что там такое можно выключить флагом
источник

a

alnyan in pro.osdev - os development
Проблему пофиксил — дело в выравнивании vbar, выровнял по 0x1000, заработало
источник

BV

Boris Vinogradov in pro.osdev - os development
А в доках не написано что на что должно быть выровнено?
источник

a

alnyan in pro.osdev - os development
Ну я обычно по 0x100/0x200 выравнивал и оно работало, видимо, пропустил момент
источник

BV

Boris Vinogradov in pro.osdev - os development
Там ещё стек надо на 0х10 выравнивать
источник

BV

Boris Vinogradov in pro.osdev - os development
Ну там обычно идёт по границам регионов, я не помню сколько в aarch64 корень страниц бит занимает, можно на армовую вики сходить по этому вопросу
источник

BV

Boris Vinogradov in pro.osdev - os development
В примере от арма алинг 0х800
источник

a

alnyan in pro.osdev - os development
Понял
источник

BV

Boris Vinogradov in pro.osdev - os development
Посмотри описание регистров адреса таблиц, там младшие 11 бит нельзя занимать
источник

BV

Boris Vinogradov in pro.osdev - os development
То есть все адреса должны быть кратны 2^11
источник

BV

Boris Vinogradov in pro.osdev - os development
А это как раз 0х800
источник

BD

Berkus Decker in pro.osdev - os development
Интересно какой у меня алайн стоит на это все
источник

BD

Berkus Decker in pro.osdev - os development
.vectors ALIGN(2048):

   {
       KEEP(*(.vectors))
   }


пхпхп, ровно 0x800
источник

EE

Eugene Erokhin in pro.osdev - os development
Это как он тянет? Ноэксепт скорее чтоб не тянуть лишнее.
источник

EE

Eugene Erokhin in pro.osdev - os development
А вообще в том же Маковской ядре С++ себя прекрасно чувствует без эксепшенов, ну ненужны они там.
источник

BD

Berkus Decker in pro.osdev - os development
c++ там на уровне драйверов (IOKit), глубинный кор (Mach) это голое си
источник