Size: a a a

Rust — русскоговорящее сообществo

2020 December 03

♚Inojelis in Rust — русскоговорящее сообществo
какой memeory::init
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
А вот это уже выглядит странно, потому что я не вижу никаких сайд-эффектов, которые бы делал memory::init. Я бы запустил под отладчиком.
обработка прерываний нахлдится здесь: https://github.com/Voodlaz/FISH/blob/master/src/interrupts.rs
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Mikail Bagishov
Ну то есть прерывания непричем, проблема именно во взаимодействии memory::init и writer.
Вот этот вывод все-таки верен или нет?
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
Вот этот вывод все-таки верен или нет?
правильный, только вместо memory::init, это os::init
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
♚Inojelis
правильный, только вместо memory::init, это os::init
То есть:
writer() // works
init_idt()
writer() // does not work

?
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
То есть:
writer() // works
init_idt()
writer() // does not work

?
да.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
окей, что с логом прерываний?
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
окей, что с логом прерываний?
прерывания ловятся. если прерывание не ловилось бы, то система резетилась бы постоянно. А так прерывание было послано одно
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
> система резетилась бы постоянно
я не уверен, что QEMU работает именно так
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
То есть:
writer() // works
init_idt()
writer() // does not work

?
стоит смотреть на код init_idt( ) помойму
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Что происходит, если запустить под отладчиком?
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
> система резетилась бы постоянно
я не уверен, что QEMU работает именно так
так и работает. наступает трипл фаулт, система резетится, загружается снова, трипл фаулт и этот бескочнечный цикл продолжается. это видно, постоянно мелькает загрузка
источник

♚Inojelis in Rust — русскоговорящее сообществo
Mikail Bagishov
Что происходит, если запустить под отладчиком?
нету у меня отладчика.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
qemu есть, а gdb нет?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Альтернатива - настроить последовательный порт и писать в него логи
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Потому что я знаю только две хорошо работающие стратегии отладки:
1) отладчик
2) логи
метод пристального взгляда эффективно можешь использовать только ты, потому что код твой.
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
EternalKnight
Всем привет. Есть ли глобальные переменные в Rust? Потому-что static задолбался писать
привет, просто не используй глобальные переменные и static 🤷‍♂️
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Как назвать технический энум на два варианта с значениями Changed и NotChanged?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
IsChanged::Changed выглядит немного тупо
источник

s

std::mpa in Rust — русскоговорящее сообществo
enum Status/Condition/... {}
источник