Board.KolibriOS.org

Official KolibriOS board
It is currently Thu Apr 25, 2019 9:28 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 21 posts ]  Go to page Previous 1 2
Author Message
PostPosted: Fri Sep 21, 2012 9:05 pm 
Offline

Joined: Wed Sep 15, 2010 7:22 pm
Posts: 101
Ещё раз о , так скажем, eax -> al

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

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

P.S.

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


Top
   
PostPosted: Sat Sep 22, 2012 7:13 pm 
Offline

Joined: Wed Sep 15, 2010 7:22 pm
Posts: 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


Top
   
PostPosted: Tue Sep 25, 2012 9:55 am 
Offline
Kernel Developer
User avatar

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


Top
   
PostPosted: Tue Sep 25, 2012 10:15 am 
Offline
Kernel Developer
User avatar

Joined: Fri Aug 14, 2009 1:46 am
Posts: 1304
Привет,

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

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

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

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


Top
   
PostPosted: Tue Sep 25, 2012 11:10 am 
Offline

Joined: Wed Sep 15, 2010 7:22 pm
Posts: 101
Что-то я не могу найти исходники Hdread ... :(


Top
   
PostPosted: Tue Sep 25, 2012 12:03 pm 
Автор их никогда не выкладывал.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 21 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited