add acpi/apic to drvinst

git-svn-id: svn://kolibrios.org@8915 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2021-06-21 22:51:35 +00:00
parent bf0e285246
commit 5a0ee4e892
4 changed files with 39 additions and 21 deletions

Binary file not shown.

View File

@ -1,14 +1,26 @@
ВНИМАНИЕ! Простой запуск программы "acpi" из папки drivers/acpi ничего не даст.
Установка делается в ручном режиме, о чём дальше.
================================ ENG ================================
Current driver installation is semi-manual.
To turn on APIC you have to:
1) Run Installer (install.kex)
2) Wait 3 seconds and get sure that there is a message about succesfull
file generation /rd/1/drivers/devices.dat
3) Make kernel restart (MENU -> END -> HOME key)
4) Check that kernel and drivers are working well.
5) Save kolibri.img. Now each time you boot APIC would be turned on automatically.
================================ RUS ================================
Óñòàíîâêà äðàéâåðà äåëàåòñÿ â ÷àñòè÷íî ðó÷íîì ðåæèìå, î ÷¸ì äàëüøå.
Чтобы включить APIC надо:
1) Очистить 120 Кб на рамдиске /rd/1
2) Скопировать файлы нумератор устройств (acpi и acpi.dll из папки /kolibrios/drivers/acpi/) в /rd/1/drivers
3) Запустить /rd/1/drivers/acpi
4) Убедиться, что папке /rd/1/drivers присутсвует файл devices.dat
5) Сделать рестарт ядра
6) Проверить работу ядра и драйверов
7) Удалить нумератор устройств и сохранить образ. Теперь APIC будет включаться при каждой загрузке ядра.
1) Çàïóñòèòü óñòàíîâùèê (install.kex)
2) Ïîäîæäàòü 3 ñåêóíäû è óáåäèòüñÿ, ÷òî ïîêàçàëîñü ñîîáùåíèå
îá óñïåøíîé ãåíåðàöèè /rd/1/drivers/devices.dat
3) Ñäåëàòü ðåñòàðò ÿäðà (Ìåíþ -> Çàâåðøåíèå ðàáîòû -> ßäðî)
4) Ïðîâåðèòü ðàáîòó ÿäðà è äðàéâåðîâ
5) Ñîõðàíèòü îáðàç. Òåïåðü APIC áóäåò âêëþ÷àòüñÿ ïðè êàæäîé çàãðóçêå ÿäðà.
Детали реализации.

View File

@ -1,6 +1,6 @@
[AHCI]
ver=ver rc06
type=disk
type=50
description_ru=<EFBFBD>®¨áª ª®­â஫«¥à®¢ ¨ ®¯à¥¤¥«¥­¨¥ ¯®¤ª«îçñ­­ëå €’€ ¤¨áª®¢. á«ãç ¥ ãᯥå , ¤¥« ¥â ¢¨¤¨¬ë¬¨ ¢ Š®«¨¡à¨ ¤¨áª¨ ¯®¤ª«î祭­ë¥ ç¥à¥§ ACHI. €«ìâ¥à­ â¨¢®© ¤ ­­®¬ã ¤à ©¢¥àã, á ¤à㣨¬ ¬¥å ­¨§¬®¬ ®¯à¥¤¥«¥­¨ï ¤¨áª®¢, ï¥âáï ¯ã­ªâ "b" ­  £®«ã¡®¬ áâ à⮢®¬ íªà ­¥.
description_en=The driver searches for ATA disks connected to the AHCI controller. Found disks are identified and made available to the user. Alternative to this dirver is an option "b" at the start blue screen.
readme=/kolibrios/drivers/ahci/readme.txt
@ -8,7 +8,7 @@ install=/kolibrios/drivers/ahci/ahci
[Video ATI KMS]
ver=ver 4.4.30
type=video
type=61
description_ru=„à ©¢¥à  ¤«ï ¢¨¤¥®ª àâ ATI Radeon. <20>®¤¤¥à¦¨¢ îâáï ¤¨áªà¥â­ë¥ ¨ ¨­â¥£à¨à®¢ ­­ë¥ 稯á¥âë ᥬ¥©á⢠ATI R100-R600, Evergreen, Northern Islands, Southern Islands. “áâ ­ ¢«¨¢ ¥â ¢¨¤¥®à¥¦¨¬ ¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¨ ¤¥« ¥â ¤®áâã¯­ë¬ á¬¥­ã ¢¨¤¥®à¥¦¨¬  ¢ ¯à®æ¥áᥠࠡ®âë ç¥à¥§ SYSPANEL -> VideoMode.
description_en=The driver for ATI Radeon video cards supports all discrete and integrated chipsets from the ATI R100-R600, Evergreen, Northern Islands and Southern Islands families. The driver sets the video mode on the first load and allows to change the video mode via SYSPANEL -> VideoMode.
readme=/kolibrios/drivers/atikms/readme.txt
@ -16,7 +16,7 @@ install=/kolibrios/drivers/atikms/atikms
[Video Intel i915]
ver=ver 4.6.7-1
type=video
type=61
description_ru=„à ©¢¥à  ¤«ï ¢¨¤¥®ª àâ Intel. <20>®¤¤¥à¦¨¢ îâáï ¢á¥ PCI Express ¢¨¤¥®ï¤à  Intel ®â i915 ¤® Skylake. “áâ ­ ¢«¨¢ ¥â ¢¨¤¥®à¥¦¨¬ ¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¨ ¤¥« ¥â ¤®áâã¯­ë¬ á¬¥­ã ¢¨¤¥®à¥¦¨¬  ¢ ¯à®æ¥áᥠࠡ®âë ç¥à¥§ SYSPANEL -> VideoMode.
description_en=The driver for Intel video cards supports all Intel PCI Express video cores from i915 till Skylake. The driver sets the video mode on the first load and allows to change the video mode via SYSPANEL -> VideoMode.
readme=/kolibrios/drivers/i915/readme.txt
@ -24,8 +24,16 @@ install=/kolibrios/drivers/i915/i915
[Video VmWare]
ver=ver 3.14-rc2
type=video
type=61
description_ru=„à ©¢¥à ¤«ï VMware SVGA II.
description_en=The driver for VMware SVGA II.
readme=/kolibrios/drivers/vmware/readme.txt
install=/kolibrios/drivers/vmware/vmwgfx
install=/kolibrios/drivers/vmware/vmwgfx
[ACPI/APIC]
ver=ver 0.4
icon=37
description_ru=<EFBFBD> áè¨à¥­­ë© ª®­â஫«¥à ¯à¥à뢠­¨© ¢¯¥à¢ë¥ ­ ç « ¯à¨¬¥­ïâìáï ­  ¤¢ãå¯à®æ¥áá®à­ëå á¨á⥬­ëå ¯« â å, ¨§-§  ¡®«¥¥ á«®¦­®© ®¡à ¡®âª¨ ¯à¥à뢠­¨© ®â à §«¨ç­ëå ãáâனá⢠(­¥ ᮢᥬ ®ç¥¢¨¤­®, ª ª®© ¨§ ¯à®æ¥áá®à®¢ ¤®«¦¥­ ॠ£¨à®¢ âì ­  ¯à¥à뢠­¨¥). ‡ â¥¬ à áè¨à¥­­ë© ª®­â஫«¥à ¯à¥à뢠­¨© ­ ç « ¨á¯®«ì§®¢ âìáï ¨ ­  ®¤­®¯à®æ¥áá®à­ëå á¨á⥬ å, ¯«îá, ­¥áª®«ìª® ¯« â à áè¨à¥­¨ï ¬®£ãâ à §¤¥«ïâì ¬¥¦¤ã ᮡ®© ®¡é¥¥ ¯à¥à뢠­¨¥. Ž¡ï§ â¥«ì­®(!) ¯à®ç¨â ©â¥ Readme.
description_en=Advanced Programmable Interrupt Controller (APIC) is one of several architectural designs intended to solve interrupt routing efficiency issues in multiprocessor computer systems. It allows different expansion cards share the same interrupt. You must(!) read Readme to properly install this driver.
readme=/kolibrios/drivers/acpi/readme.txt
install=/kolibrios/drivers/acpi/install.kex

View File

@ -61,7 +61,7 @@ collection ini_sections=0;
char drvinf_path[4096] = "/kolibrios/drivers/drvinf.ini";
char cur_version[64];
char cur_type[12];
int cur_icon;
char cur_description[1024];
char cur_readme_path[4096];
char cur_install_path[4096];
@ -137,10 +137,9 @@ void Draw_IntroWindow()
void Draw_DriverListWindow()
{
int PADDING = 12;
#define PADDING 12
int right_frame_x = Form.cwidth*46/100;
int readme_w = 0;
int icon_n = 38;
//LEFT FRAME
SelectList_Init(PADDING,
PADDING,
@ -152,8 +151,7 @@ void Draw_DriverListWindow()
//RIGHT FRAME
GetCurrentSectionData();
DrawBar(right_frame_x, PADDING+3, Form.cwidth - right_frame_x - PADDING, 80, sc.work);
if (streq(#cur_type, "disk")) icon_n = 50;
DrawIcon32(right_frame_x, PADDING, sc.work, icon_n);
DrawIcon32(right_frame_x, PADDING, sc.work, cur_icon);
WriteTextB(right_frame_x+44, PADDING+3, 0x81, sc.work_text, ini_sections.get(select_list.cur_y));
WriteText(right_frame_x+44, PADDING+23, 0x80, sc.work_text, #cur_version);
if(cur_readme_path[0]) readme_w = DrawStandartCaptButton(right_frame_x, PADDING+45, BUTTON_ID_README, T_README);
@ -190,7 +188,7 @@ void GetCurrentSectionData()
{
dword section_name = ini_sections.get(select_list.cur_y);
ini_get_str stdcall (#drvinf_path, section_name, "ver", #cur_version, sizeof(cur_version), 0);
ini_get_str stdcall (#drvinf_path, section_name, "type", #cur_type, sizeof(cur_type), 0);
ini_get_int stdcall (#drvinf_path, section_name, "icon", 38); cur_icon = EAX;
ini_get_str stdcall (#drvinf_path, section_name, #description_name, #cur_description, sizeof(cur_description), 0);
ini_get_str stdcall (#drvinf_path, section_name, "readme", #cur_readme_path, sizeof(cur_readme_path), 0);
ini_get_str stdcall (#drvinf_path, section_name, "install", #cur_install_path, sizeof(cur_install_path), 0);
@ -241,7 +239,7 @@ void Event_RunInstall()
result = io.run(#cur_install_path, NULL);
if (result) notify(T_DRIVER_INSTALLARION_STARTED);
pause(300);
if (streq(#cur_type, "video")) {
if (cur_icon == 61) {
RestartProcessByName("/sys/@taskbar", SINGLE);
RestartProcessByName("/sys/@docky", SINGLE);
RestartProcessByName("/sys/@icon", MULTIPLE);