2012-03-13 17:51:57 +01:00
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
;; ;;
|
|
|
|
|
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
|
|
|
|
|
;; Distributed under terms of the GNU General Public License ;;
|
|
|
|
|
;; ;;
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
|
2007-10-19 13:18:55 +02:00
|
|
|
|
; (english text below)
|
|
|
|
|
|
|
|
|
|
;------------------------------------------
|
2013-05-28 00:16:00 +02:00
|
|
|
|
; Интерфейс сохранения параметров
|
2007-10-19 13:18:55 +02:00
|
|
|
|
;------------------------------------------
|
2013-05-28 00:16:00 +02:00
|
|
|
|
Если при передаче управления ядру загрузчик устанавливает AX='KL',
|
|
|
|
|
то в DS:SI ядро ожидает дальнего указателя на следующую структуру:
|
|
|
|
|
db версия структуры, должна быть 1
|
|
|
|
|
dw флаги:
|
|
|
|
|
бит 0 установлен = присутствует образ рамдиска в памяти
|
|
|
|
|
dd дальний указатель на процедуру сохранения параметров
|
|
|
|
|
может быть 0, если загрузчик не поддерживает
|
|
|
|
|
Процедура сохранения параметров должна записать первый сектор ядра
|
|
|
|
|
kernel.mnt назад на то место, откуда она его считала; возврат из
|
|
|
|
|
процедуры осуществляется по retf.
|
2007-10-19 13:18:55 +02:00
|
|
|
|
|
2007-07-31 01:38:37 +02:00
|
|
|
|
;------------------------------------------
|
2013-05-28 00:16:00 +02:00
|
|
|
|
; Указание загрузчиком системного каталога
|
2007-07-31 01:38:37 +02:00
|
|
|
|
;------------------------------------------
|
2013-05-28 00:16:00 +02:00
|
|
|
|
Перед передачей управления ядру могут быть установлены следующие регистры:
|
2007-07-31 01:38:37 +02:00
|
|
|
|
CX='HA'
|
|
|
|
|
DX='RD'
|
2013-05-28 00:16:00 +02:00
|
|
|
|
Это указывает на то, что регистр BX указывает на системный раздел. Каталог /kolibri/ на
|
|
|
|
|
этом разделе является системным, к нему можно обращаться как к /sys/
|
2007-07-31 01:38:37 +02:00
|
|
|
|
|
2013-05-28 00:16:00 +02:00
|
|
|
|
Возможные значения регистра BL (указывает на устройство):
|
2007-07-31 01:38:37 +02:00
|
|
|
|
'a' - Primary Master
|
|
|
|
|
'b' - Primary Slave
|
|
|
|
|
'c' - Secondary Master
|
|
|
|
|
'd' - Secondary Slave
|
2013-05-28 00:16:00 +02:00
|
|
|
|
'r' - RAM диск
|
|
|
|
|
'm' - Приводы CD-ROM
|
2007-07-31 01:38:37 +02:00
|
|
|
|
|
2013-05-28 00:16:00 +02:00
|
|
|
|
Возможные значения регистра BH (указывает на раздел):
|
|
|
|
|
для BL='a','b','c','d','r' - указывает на раздел, где расположен системный каталог
|
|
|
|
|
для BL='m',указывает на номер физического устройства, с которого надо начинать поиск системного каталога.
|
2007-07-31 01:38:37 +02:00
|
|
|
|
|
2013-05-28 00:16:00 +02:00
|
|
|
|
примеры значений регистра BX:
|
2007-07-31 01:38:37 +02:00
|
|
|
|
'a1' - /hd0/1/
|
|
|
|
|
'a2' - /hd0/2/
|
|
|
|
|
'b1' - /hd1/1/
|
|
|
|
|
'd4' - /hd3/4/
|
2013-05-28 00:16:00 +02:00
|
|
|
|
'm0' - поиск по сидюкам каталога kolibri
|
2007-07-31 01:38:37 +02:00
|
|
|
|
'r1' - /rd/1/
|
|
|
|
|
|
|
|
|
|
|
2007-10-19 13:18:55 +02:00
|
|
|
|
;------------------------------------------
|
|
|
|
|
; Interface for saving boot-screen settings
|
|
|
|
|
;------------------------------------------
|
|
|
|
|
If a loader sets AX='KL' when transferring control to the kernel,
|
|
|
|
|
the kernel expects in DS:SI far pointer to the following structure:
|
|
|
|
|
db structure version, must be 1
|
|
|
|
|
dw flags
|
|
|
|
|
bit 0 set = ramdisk image in memory is present
|
|
|
|
|
dd far pointer to save settings procedure
|
|
|
|
|
may be 0 if such procedure is not supported by loader
|
|
|
|
|
Procedure for saving settings must write the first sector of the kernel
|
|
|
|
|
kernel.mnt back to the place, from where it has been read; return from
|
|
|
|
|
this procedure must be with retf.
|
2007-07-31 01:38:37 +02:00
|
|
|
|
|
|
|
|
|
;------------------------------------------
|
2007-10-19 13:18:55 +02:00
|
|
|
|
; System directory information from loader
|
2007-07-31 01:38:37 +02:00
|
|
|
|
;------------------------------------------
|
2007-10-19 13:18:55 +02:00
|
|
|
|
Before transfer of control to the kernel following registers can be set:
|
2007-07-31 01:38:37 +02:00
|
|
|
|
CX = 'HA'
|
|
|
|
|
DX = 'RD'
|
2007-10-19 13:18:55 +02:00
|
|
|
|
This indicates that the register BX identifies system partition. The folder /kolibri/ in
|
|
|
|
|
this partition is system folder, it can be referenced as /sys/
|
2007-07-31 01:38:37 +02:00
|
|
|
|
|
2007-10-19 13:18:55 +02:00
|
|
|
|
Possible values for register BL (indicates the device):
|
2007-07-31 01:38:37 +02:00
|
|
|
|
'a' - Primary Master
|
|
|
|
|
'b' - Primary Slave
|
|
|
|
|
'c' - Secondary Master
|
|
|
|
|
'd' - Secondary Slave
|
|
|
|
|
'r' - RAM disc
|
|
|
|
|
'm' - ROM drives
|
|
|
|
|
|
2007-10-19 13:18:55 +02:00
|
|
|
|
Possible values for register BH (indicates section):
|
|
|
|
|
for BL = 'a', 'b', 'c', 'd', 'r' to denote partition where the system folder
|
2007-07-31 01:38:37 +02:00
|
|
|
|
for BL = 'm', indicates the number of physical devices, which must begin a systematic search directory.
|
|
|
|
|
|
|
|
|
|
Examples of register BX:
|
|
|
|
|
'a1' - /hd0/1/
|
|
|
|
|
'a2' - /hd0/2/
|
|
|
|
|
'b1' - /hd1/1/
|
|
|
|
|
'd4' - /hd3/4/
|
2007-10-19 13:18:55 +02:00
|
|
|
|
'm0' - search directory 'kolibri' by all CD-ROMs
|
2007-07-31 01:38:37 +02:00
|
|
|
|
'r1' - /rd/1/
|