forked from KolibriOS/kolibrios
add acpi/apic to drvinst
git-svn-id: svn://kolibrios.org@8915 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
bf0e285246
commit
5a0ee4e892
Binary file not shown.
@ -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 надо:
|
Чтобы включить APIC надо:
|
||||||
1) Очистить 120 Кб на рамдиске /rd/1
|
|
||||||
2) Скопировать файлы нумератор устройств (acpi и acpi.dll из папки /kolibrios/drivers/acpi/) в /rd/1/drivers
|
1) Çàïóñòèòü óñòàíîâùèê (install.kex)
|
||||||
3) Запустить /rd/1/drivers/acpi
|
2) Ïîäîæäàòü 3 ñåêóíäû è óáåäèòüñÿ, ÷òî ïîêàçàëîñü ñîîáùåíèå
|
||||||
4) Убедиться, что папке /rd/1/drivers присутсвует файл devices.dat
|
îá óñïåøíîé ãåíåðàöèè /rd/1/drivers/devices.dat
|
||||||
5) Сделать рестарт ядра
|
3) Ñäåëàòü ðåñòàðò ÿäðà (Ìåíþ -> Çàâåðøåíèå ðàáîòû -> ßäðî)
|
||||||
6) Проверить работу ядра и драйверов
|
4) Ïðîâåðèòü ðàáîòó ÿäðà è äðàéâåðîâ
|
||||||
7) Удалить нумератор устройств и сохранить образ. Теперь APIC будет включаться при каждой загрузке ядра.
|
5) Ñîõðàíèòü îáðàç. Òåïåðü APIC áóäåò âêëþ÷àòüñÿ ïðè êàæäîé çàãðóçêå ÿäðà.
|
||||||
|
|
||||||
Детали реализации.
|
Детали реализации.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[AHCI]
|
[AHCI]
|
||||||
ver=ver rc06
|
ver=ver rc06
|
||||||
type=disk
|
type=50
|
||||||
description_ru=<EFBFBD>®¨áª ª®â஫«¥à®¢ ¨ ®¯à¥¤¥«¥¨¥ ¯®¤ª«îçñëå €’€ ¤¨áª®¢. ‚ á«ãç ¥ ãᯥå , ¤¥« ¥â ¢¨¤¨¬ë¬¨ ¢ Š®«¨¡à¨ ¤¨áª¨ ¯®¤ª«îç¥ë¥ ç¥à¥§ ACHI. €«ìâ¥à ⨢®© ¤ ®¬ã ¤à ©¢¥àã, á ¤à㣨¬ ¬¥å ¨§¬®¬ ®¯à¥¤¥«¥¨ï ¤¨áª®¢, ï¥âáï ¯ãªâ "b" £®«ã¡®¬ áâ à⮢®¬ íªà ¥.
|
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.
|
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
|
readme=/kolibrios/drivers/ahci/readme.txt
|
||||||
@ -8,7 +8,7 @@ install=/kolibrios/drivers/ahci/ahci
|
|||||||
|
|
||||||
[Video ATI KMS]
|
[Video ATI KMS]
|
||||||
ver=ver 4.4.30
|
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_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.
|
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
|
readme=/kolibrios/drivers/atikms/readme.txt
|
||||||
@ -16,7 +16,7 @@ install=/kolibrios/drivers/atikms/atikms
|
|||||||
|
|
||||||
[Video Intel i915]
|
[Video Intel i915]
|
||||||
ver=ver 4.6.7-1
|
ver=ver 4.6.7-1
|
||||||
type=video
|
type=61
|
||||||
description_ru=„à ©¢¥à ¤«ï ¢¨¤¥®ª àâ Intel. <20>®¤¤¥à¦¨¢ îâáï ¢á¥ PCI Express ¢¨¤¥®ï¤à Intel ®â i915 ¤® Skylake. “áâ ¢«¨¢ ¥â ¢¨¤¥®à¥¦¨¬ ¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¨ ¤¥« ¥â ¤®áâã¯ë¬ ᬥ㠢¨¤¥®à¥¦¨¬ ¢ ¯à®æ¥áá¥ à ¡®âë ç¥à¥§ SYSPANEL -> VideoMode.
|
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.
|
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
|
readme=/kolibrios/drivers/i915/readme.txt
|
||||||
@ -24,8 +24,16 @@ install=/kolibrios/drivers/i915/i915
|
|||||||
|
|
||||||
[Video VmWare]
|
[Video VmWare]
|
||||||
ver=ver 3.14-rc2
|
ver=ver 3.14-rc2
|
||||||
type=video
|
type=61
|
||||||
description_ru=„à ©¢¥à ¤«ï VMware SVGA II.
|
description_ru=„à ©¢¥à ¤«ï VMware SVGA II.
|
||||||
description_en=The driver for VMware SVGA II.
|
description_en=The driver for VMware SVGA II.
|
||||||
readme=/kolibrios/drivers/vmware/readme.txt
|
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
|
@ -61,7 +61,7 @@ collection ini_sections=0;
|
|||||||
|
|
||||||
char drvinf_path[4096] = "/kolibrios/drivers/drvinf.ini";
|
char drvinf_path[4096] = "/kolibrios/drivers/drvinf.ini";
|
||||||
char cur_version[64];
|
char cur_version[64];
|
||||||
char cur_type[12];
|
int cur_icon;
|
||||||
char cur_description[1024];
|
char cur_description[1024];
|
||||||
char cur_readme_path[4096];
|
char cur_readme_path[4096];
|
||||||
char cur_install_path[4096];
|
char cur_install_path[4096];
|
||||||
@ -137,10 +137,9 @@ void Draw_IntroWindow()
|
|||||||
|
|
||||||
void Draw_DriverListWindow()
|
void Draw_DriverListWindow()
|
||||||
{
|
{
|
||||||
int PADDING = 12;
|
#define PADDING 12
|
||||||
int right_frame_x = Form.cwidth*46/100;
|
int right_frame_x = Form.cwidth*46/100;
|
||||||
int readme_w = 0;
|
int readme_w = 0;
|
||||||
int icon_n = 38;
|
|
||||||
//LEFT FRAME
|
//LEFT FRAME
|
||||||
SelectList_Init(PADDING,
|
SelectList_Init(PADDING,
|
||||||
PADDING,
|
PADDING,
|
||||||
@ -152,8 +151,7 @@ void Draw_DriverListWindow()
|
|||||||
//RIGHT FRAME
|
//RIGHT FRAME
|
||||||
GetCurrentSectionData();
|
GetCurrentSectionData();
|
||||||
DrawBar(right_frame_x, PADDING+3, Form.cwidth - right_frame_x - PADDING, 80, sc.work);
|
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, cur_icon);
|
||||||
DrawIcon32(right_frame_x, PADDING, sc.work, icon_n);
|
|
||||||
WriteTextB(right_frame_x+44, PADDING+3, 0x81, sc.work_text, ini_sections.get(select_list.cur_y));
|
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);
|
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);
|
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);
|
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, "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, #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, "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);
|
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);
|
result = io.run(#cur_install_path, NULL);
|
||||||
if (result) notify(T_DRIVER_INSTALLARION_STARTED);
|
if (result) notify(T_DRIVER_INSTALLARION_STARTED);
|
||||||
pause(300);
|
pause(300);
|
||||||
if (streq(#cur_type, "video")) {
|
if (cur_icon == 61) {
|
||||||
RestartProcessByName("/sys/@taskbar", SINGLE);
|
RestartProcessByName("/sys/@taskbar", SINGLE);
|
||||||
RestartProcessByName("/sys/@docky", SINGLE);
|
RestartProcessByName("/sys/@docky", SINGLE);
|
||||||
RestartProcessByName("/sys/@icon", MULTIPLE);
|
RestartProcessByName("/sys/@icon", MULTIPLE);
|
||||||
|
Loading…
Reference in New Issue
Block a user