Как стать автором
Поиск
Написать публикацию
Обновить

Операционная система в 1 000 строках кода (часть 2)

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров11K
Всего голосов 50: ↑50 и ↓0+72
Комментарии8

Комментарии 8

В этой функции указатель стека (sp) установлен на адрес стека, ...

Скорее "устанавливается". Так вроде бы понятнее.

Интересно компилируется при оптимизации с ключом -O2 программа с Hello World! Функция sbi_call:
ecall

ret
Функция же putchar сама инициализирует регистры и использует ecall, и совсем не вызывает sbi_call.
Функция kernel_main прекрасно обходится без putchar и сама со всем справляется.

Поскольку OpenSBI просто переходит к адресу 0x80200000, не зная о точке входа, функцию boot необходимо разместить по адресу 0x80200000.

Зачем тогда ENTRY(boot) ?

Дошел уже до середины второй главы. Но как представлю сколько кода придется вводить в vim-е, а потом исправлять опечатки, то становиться грустно. А можно ли подключить VS code. Было бы замечательно получить подробную инструкцию. Пытался подключить VS code к xv6 на Ubuntu WSL. Вроде бы просто, но мучился неделю и бросил. Заранее спасибо. Думаю многие тоже скажут.

Оставил здесь инструкцию как подключить VS code и из под него запустить gdb. Ну очень удобно работать. А модераторы взяли и удалили. И кому теперь сказать спасибо.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий