forked from KolibriOS/kolibrios
recode all kernel sources to UTF-8; binary still uses single-byte encoding and isn't changed at all
git-svn-id: svn://kolibrios.org@3539 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -8,46 +8,46 @@
|
||||
; (english text below)
|
||||
|
||||
;------------------------------------------
|
||||
; Èíòåðôåéñ ñîõðàíåíèÿ ïàðàìåòðîâ
|
||||
; Интерфейс сохранения параметров
|
||||
;------------------------------------------
|
||||
Åñëè ïðè ïåðåäà÷å óïðàâëåíèÿ ÿäðó çàãðóç÷èê óñòàíàâëèâàåò AX='KL',
|
||||
òî â DS:SI ÿäðî îæèäàåò äàëüíåãî óêàçàòåëÿ íà ñëåäóþùóþ ñòðóêòóðó:
|
||||
db âåðñèÿ ñòðóêòóðû, äîëæíà áûòü 1
|
||||
dw ôëàãè:
|
||||
áèò 0 óñòàíîâëåí = ïðèñóòñòâóåò îáðàç ðàìäèñêà â ïàìÿòè
|
||||
dd äàëüíèé óêàçàòåëü íà ïðîöåäóðó ñîõðàíåíèÿ ïàðàìåòðîâ
|
||||
ìîæåò áûòü 0, åñëè çàãðóç÷èê íå ïîääåðæèâàåò
|
||||
Ïðîöåäóðà ñîõðàíåíèÿ ïàðàìåòðîâ äîëæíà çàïèñàòü ïåðâûé ñåêòîð ÿäðà
|
||||
kernel.mnt íàçàä íà òî ìåñòî, îòêóäà îíà åãî ñ÷èòàëà; âîçâðàò èç
|
||||
ïðîöåäóðû îñóùåñòâëÿåòñÿ ïî retf.
|
||||
Если при передаче управления ядру загрузчик устанавливает AX='KL',
|
||||
то в DS:SI ядро ожидает дальнего указателя на следующую структуру:
|
||||
db версия структуры, должна быть 1
|
||||
dw флаги:
|
||||
бит 0 установлен = присутствует образ рамдиска в памяти
|
||||
dd дальний указатель на процедуру сохранения параметров
|
||||
может быть 0, если загрузчик не поддерживает
|
||||
Процедура сохранения параметров должна записать первый сектор ядра
|
||||
kernel.mnt назад на то место, откуда она его считала; возврат из
|
||||
процедуры осуществляется по retf.
|
||||
|
||||
;------------------------------------------
|
||||
; Óêàçàíèå çàãðóç÷èêîì ñèñòåìíîãî êàòàëîãà
|
||||
; Указание загрузчиком системного каталога
|
||||
;------------------------------------------
|
||||
Ïåðåä ïåðåäà÷åé óïðàâëåíèÿ ÿäðó ìîãóò áûòü óñòàíîâëåíû ñëåäóþùèå ðåãèñòðû:
|
||||
Перед передачей управления ядру могут быть установлены следующие регистры:
|
||||
CX='HA'
|
||||
DX='RD'
|
||||
Ýòî óêàçûâàåò íà òî, ÷òî ðåãèñòð BX óêàçûâàåò íà ñèñòåìíûé ðàçäåë. Êàòàëîã /kolibri/ íà
|
||||
ýòîì ðàçäåëå ÿâëÿåòñÿ ñèñòåìíûì, ê íåìó ìîæíî îáðàùàòüñÿ êàê ê /sys/
|
||||
Это указывает на то, что регистр BX указывает на системный раздел. Каталог /kolibri/ на
|
||||
этом разделе является системным, к нему можно обращаться как к /sys/
|
||||
|
||||
Âîçìîæíûå çíà÷åíèÿ ðåãèñòðà BL (óêàçûâàåò íà óñòðîéñòâî):
|
||||
Возможные значения регистра BL (указывает на устройство):
|
||||
'a' - Primary Master
|
||||
'b' - Primary Slave
|
||||
'c' - Secondary Master
|
||||
'd' - Secondary Slave
|
||||
'r' - RAM äèñê
|
||||
'm' - Ïðèâîäû CD-ROM
|
||||
'r' - RAM диск
|
||||
'm' - Приводы CD-ROM
|
||||
|
||||
Âîçìîæíûå çíà÷åíèÿ ðåãèñòðà BH (óêàçûâàåò íà ðàçäåë):
|
||||
äëÿ BL='a','b','c','d','r' - óêàçûâàåò íà ðàçäåë, ãäå ðàñïîëîæåí ñèñòåìíûé êàòàëîã
|
||||
äëÿ BL='m',óêàçûâàåò íà íîìåð ôèçè÷åñêîãî óñòðîéñòâà, ñ êîòîðîãî íàäî íà÷èíàòü ïîèñê ñèñòåìíîãî êàòàëîãà.
|
||||
Возможные значения регистра BH (указывает на раздел):
|
||||
для BL='a','b','c','d','r' - указывает на раздел, где расположен системный каталог
|
||||
для BL='m',указывает на номер физического устройства, с которого надо начинать поиск системного каталога.
|
||||
|
||||
ïðèìåðû çíà÷åíèé ðåãèñòðà BX:
|
||||
примеры значений регистра BX:
|
||||
'a1' - /hd0/1/
|
||||
'a2' - /hd0/2/
|
||||
'b1' - /hd1/1/
|
||||
'd4' - /hd3/4/
|
||||
'm0' - ïîèñê ïî ñèäþêàì êàòàëîãà kolibri
|
||||
'm0' - поиск по сидюкам каталога kolibri
|
||||
'r1' - /rd/1/
|
||||
|
||||
|
||||
|
||||
+3908
-3908
File diff suppressed because it is too large
Load Diff
@@ -2923,9 +2923,9 @@ Remarks:
|
||||
* if one want to read 0 blocks, function considers,
|
||||
that he requested 1;
|
||||
* if one requests more than 14 blocks or starting block is
|
||||
not less than 14, function returns eax=5 (not found) è ebx=-1;
|
||||
not less than 14, function returns eax=5 (not found) and ebx=-1;
|
||||
* size of ramdisk root folder is 14 blocks,
|
||||
0x1C00=7168 áàéò; but function returns ebx=0
|
||||
0x1C00=7168 bytes; but function returns ebx=0
|
||||
(except of the case of previous item);
|
||||
* strangely enough, it is possible to read 14th block (which
|
||||
generally contains a garbage - I remind, the indexing begins
|
||||
@@ -2994,7 +2994,7 @@ Remarks:
|
||||
data of the concrete partition are required, application must
|
||||
define starting sector of this partition (either directly
|
||||
through MBR, or from the full structure returned by
|
||||
ïîäôóíêöèåé 11 ôóíêöèè 18).
|
||||
subfunction 11 of function 18).
|
||||
* Function does not check error code of hard disk, so request of
|
||||
nonexisting sector reads something (most probably it will be
|
||||
zeroes, but this is defined by device) and this is considered
|
||||
@@ -3868,7 +3868,7 @@ Message codes:
|
||||
* in addition dword-image of the register DR6 is given:
|
||||
* bits 0-3: condition of the corresponding breakpoint (set by
|
||||
subfunction 9) is satisfied
|
||||
* áèò 14: exception has occured because of the trace mode
|
||||
* bit 14: exception has occured because of the trace mode
|
||||
(flag TF is set TF)
|
||||
* process is suspended
|
||||
When debugger terminates, all debugged processes are killed.
|
||||
@@ -4440,7 +4440,7 @@ Parameters:
|
||||
Format of the information structure:
|
||||
* +0: dword: 7 = subfunction number
|
||||
* +4: dword: flags field:
|
||||
* áèò 0: start process as debugged
|
||||
* bit 0: start process as debugged
|
||||
* other bits are reserved and must be set to 0
|
||||
* +8: dword: 0 or pointer to ASCIIZ-string with parameters
|
||||
* +12 = +0xC: dword: 0 (reserved)
|
||||
|
||||
Reference in New Issue
Block a user