после инструкции swi управлеие передастся обработчику прерываний, при этом процессор перейдет в режим IRQ (из которого уже можно переключиться в Supervisor)?
а после выходя из обработчика прерываний режим процессора вернется опять в System?
и я так и не понял, как установить этот обработчик
вообще то я далеко не ОС для arm разрабатываю (:
этот кусок выполняется внутри программы для WM
есть такая штука HaRET которая может загружать ядро linux из-под wince
когда начинается грузиться ядро, процессор должен быть в SVC mode, но у меня в system
Снова я. Теперь другой вопрос. Значит до загрузки ядра добрались. Даже больше - функция start_kernel выполняется до самого конца (точнее не до самого конца, а переходит в функцию schedule). Проблема в том, что на экран ничего не выводится. Вообще. В какую сторону копать не подскажите?
с трудом удалось заставить работать экран, теперь уже можно сказать, что загружается - монтируется initrd и мигает курсор
но, почему-то в /dev нету ни одного устройства (за исключением тех файлов, которые были в initrd), хотя команда mount выдает, что /dev/root смонтирован ( т.е. он есть ). Как устройства должны появляться в /dev? в /linuxrc лишь
mount -t proc /proc /proc
mount -t sysfs none /sys
man udev, man mknod, man devtmpfs. это для начала.
Вкратце - файлы устройств в общем случае сами не создаются, их создаёт отдельный демон, который общается с ядром. Есть другой вариант - devtmpfs - файловая система для /dev при использовании которой все файлы устройств создаются сами, но оно местами сыро.(сужу по 2.6.35 которое используется в нашей железяке)