Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср сен 20, 2017 6:59 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 21 сообщение ]  На страницу Пред. 1 2
Автор Сообщение
СообщениеДобавлено: Пт сен 21, 2012 9:05 pm 
Не в сети

Зарегистрирован: Ср сен 15, 2010 7:22 pm
Сообщения: 101
Ещё раз о , так скажем, eax -> al

Цитата: "не будет этого, аминь."

На самом деле только сейчас имеется (недокументированная!) возможность использовать старшие байты eax для чего-то ещё. Если задокументировать ситуацию de facto (как я рекомендовал ранее), то такая возможность пропадёт, ибо макрос mcall может быть изменён так, что в программах в старших байтах eax начнёт храниться мусор. Документировать это de facto всё равно надо, однако в документацию некоторых функций надо будет внести примечание: "Для будущей совместимости надо обнулять старшие байты eax, например, посредством "xor eax, eax", ибо в будущем ah может быть использован для номера подфункций." Первая кандидатура : SysFn9 (смело снизить требуемы размер буфера до 128 байт, против нынешних 1024)

P.S.

Надо ещё подумать - нет ли каких-то неучтённых "подводных камней" - спасибо art_zh за блестящую интуицию!


Вернуться к началу
СообщениеДобавлено: Сб сен 22, 2012 7:13 pm 
Не в сети

Зарегистрирован: Ср сен 15, 2010 7:22 pm
Сообщения: 101
Провёл экспресс поиск по дистрибутиву на предмет использования "устаревших" системных функций:

Hdread использует SysFn58. (Наконец, одно приложение найдено :) )

Ghost Monitor (./Gmon) использует SysFn46 (зарезервировать, освободить группу портов).
Hdd_info также использует SysFn46

./Network/Tftpc использует SysFn6 (чтение из RAM-диска). (Можно предположить, что её используют и другие сетевые приложения - я их просто не протестировал в режиме чтения/записи файла)

Приложения, использующие SysFn64:
./3d/Cubeline
./3d/Gears
./3d/View3ds
./Demos/Life2
./File managers/Kfm
./Games/Kosilka
./Games/Megamaze
./Games/Rforces
./Games/Xonix


Вернуться к началу
СообщениеДобавлено: Вт сен 25, 2012 9:55 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Извиняюсь, я тут многое пропустил, ткните пальцем почему
Цитата:
Функция 46 - зарезервировать/освободить группу портов ввода/вывода. Объявлена устаревшей!


Вернуться к началу
СообщениеДобавлено: Вт сен 25, 2012 10:15 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Привет,

если еще не в курсе, то за прошедшие без тебя 3 года наметились две четкие тенденции: одни люди пилят ядро в сторону десктопа, другие (хотя о них несколько нескромно говорить во мн. числе) - затачивают Колибри для встраиваемых приложений.

1-я генеральная линия предусматривает повсеместное введение ACPI, глухой системной защиты и других печенек. При таком подходе от пользователя закрываются не только порты, но и PCI-сервис и еще многое другое. Всё - в драйверы.

2-й подход можно выразить как "ничего лишнего, и ближе к железу!". Предполагается, что пользователь не идиот и понимает чего нельзя делать с конфигурационным пространством, портами, MMIO, и DMA. Все в его руках.

Очевидно, что ни первым, ни вторым 40-е функции нафиг не нужны.


Вернуться к началу
СообщениеДобавлено: Вт сен 25, 2012 11:10 am 
Не в сети

Зарегистрирован: Ср сен 15, 2010 7:22 pm
Сообщения: 101
Что-то я не могу найти исходники Hdread ... :(


Вернуться к началу
СообщениеДобавлено: Вт сен 25, 2012 12:03 pm 
Автор их никогда не выкладывал.


Вернуться к началу
   
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 21 сообщение ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB