Board.KolibriOS.org

Official KolibriOS board
It is currently Fri Apr 10, 2020 12:10 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 168 posts ]  Go to page Previous 18 9 10 11 12
Author Message
 Post subject: Re: APIC
PostPosted: Mon Jun 10, 2013 2:14 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
CleverMouse
Спасибо, я проверю код apic немного позже. За два года уже всё забыл.


Top
   
 Post subject: Re: APIC
PostPosted: Sun Dec 21, 2014 5:59 pm 
Offline
User avatar

Joined: Sat Jul 05, 2014 11:15 am
Posts: 88
Serge,

запустил /rd/1/drivers/acpi
убедился, evices.dat есть
сохранил образ на флешку

пошла перезагрузка

Создание процесса ядра
Инициализация IRQ
Инициализация PIC
Инициализация системной v86 машины
Инициализация системного таймера
Попытка инициализации APIC
Включить прерывания 2, 13
Поиск floppy дисководов
Запрещение прерывания в контроллере IDE
Поиск жестких дисков и ATAPI приводов
Запрещение прерывания в контроллере IDE
Поиск жестких дисков и ATAPI приводов
Получение памяти для кэша
Поиск разделов на дисковых устройствах
Инициализация системного каталога /sys
Инициализация рамдиска
Разрешение прерывания в контроллере IDE
Установка обработчиков прерываний IDE
Разрешение прерывания в контроллере IDE
Установка обработчиков прерываний IDE
APIC не найден
Количество оперативной памяти 3500
Установка настроек окон по умолчанию
Установка фона
Резервирование IRQ и портов
Частота процессора 3200
Установка мыши

черный экран и курсор мышки посредине, система ни на что не реагирует.


Attachments:
ACPI.LOG [13.35 KiB]
Downloaded 185 times
Top
   
 Post subject: Re: APIC
PostPosted: Mon Mar 02, 2020 7:33 am 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 465
I had a great time enabling kolibri on my relatively new laptop.

First I tried kolibri.efi from the latest autobuild. It booted but no devices worked except mouse and keyboard.

Then I prepared DEVICES.DAT file using devman by Serge and put the file to /DRIVERS/ directory. It booted but even mouse and keyboard didn't work.

It turned out that my laptop has two I/O APICs, what kolibri didn't expect. While parsing MADT table kolibri put the base address of the first I/O APIC to a variable, and then overwrote the variable with the base address of the second I/O APIC. Thus the first one was never set up properly.

Another issue was that kolibri didn't expect more than 24 interrupts. My laptop has two I/O APICs: one for 24 interrupts and another for 32, i.e. 56 total. It was not enough to just replace 24 with 56 in the corresponding macro because the active interrupt was indicated using a bitmask set/reset via bts/btr instructions, and 56 bits don't fit a single dword. I replaced bts/btr with functions.

It is interesting that our int 0x40 has the same vector as IRQ0x20 at the moment. In theory, I/O APIC can be programmed to map IRQs 0-0x1f to vectors IRQ+0x20, and IRQs 0x20+ to vectors IRQ+0x21. I didn't implement this, good luck.

I committed support for more than one I/O APIC and more than 24 interrupts in r7733. For PIC mode nothing should change.

PCIDEV program has been updated accordingly.

Unfortunately, neither ethernet nor sound cards work for me. However sata disks do work in native mode using ahci driver.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 168 posts ]  Go to page Previous 18 9 10 11 12

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