Board.KolibriOS.org

Official KolibriOS board
It is currently Thu May 23, 2019 10:41 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 167 posts ]  Go to page Previous 18 9 10 11 12 Next
Author Message
 Post subject: Re: APIC
PostPosted: Sat Mar 24, 2012 2:16 pm 
А с чего я должен воспринимать вечного болтуна SII и тебя за серьезных дяденек?
SII прямо сказал, что он никогда ничего делать не будет, будет только критиковать вслух. А ты еще реальными делами тоже ничего не доказал и есть большой шанс, что "Будешь как настоящий нехочуха!"


Top
   
 Post subject: Re: APIC
PostPosted: Sat Mar 24, 2012 8:48 pm 
Offline

Joined: Mon Sep 26, 2011 11:25 am
Posts: 46
Стас wrote:
АПИК можно включить, но мне кажется чтобы сделать нормальный доступ к процам нужно переписать половину оси, или начать её с нуля и перенести туда все готовые функции после отработки работы с несколькими процами, я писал название книги где то в темах в которой есть пример включения апика настройки прерываний таймера и клавы, и работы с несколькими процами. Там написано, что нужно делать семафоры для проверки того, чтобы два проца не писали в один и тот же байт, мне кажется этого делать не надо, а надо думать как чтоб такого небыло.


SII wrote:
А единственный правильный путь -- выкинуть вообще всё сделанное и разрабатывать с нуля, причём не сохранять совместимость со старым на уровне API (поскольку этот самый API, доставшийся в наследство от Менуэта -- сплошной идиотизм). Естественно, сразу сделать систему не только с поддержкой SMP, но и 64-разрядной, с виртуальной памятью, PnP, ACPI... Ну а если так хочется сохранить возможность запуска имеющихся программ, слепить прослойку, поддерживающую выполнение прикладного 32-разрядного кода со старым API на новой 64-разрядной системе.


На сколько я понял, товарищи с оседева (Стас и SII), имеющие некоторый опыт в создании ОСей, горят желанием помочь не только морально, теоретически, но и при непосредсвенной реализации данной идеи? :)

В противном случае это рассуждение по негласным правилам форума рискует быть перенесена в хотелки


Last edited by some_man on Sat Mar 24, 2012 9:08 pm, edited 2 times in total.

Top
   
 Post subject: Re: APIC
PostPosted: Sun Mar 25, 2012 1:30 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Стас получает бан на день за флуд и систематическое неправильное написание названия проекта.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: APIC
PostPosted: Mon Mar 26, 2012 12:22 pm 
SII wrote:
Стас, в нынешнем виде КОС -- свалка костылей, появившися в первую очередь из-за шедеврально талантливого проекта Вилле. Чтобы внедрить что-то новое, надо либо городить очередную порцию костылей, либо переделывать всё с нуля и самым кардинальным образом. Но если уж идти вторым путём, то надо закладывать сразу всё, а не только какие-то части. Другое дело, что реализовать это "всё" сразу не удастся -- но если не предусматривать такую возможность, то в дальнейшем без костылей опять-таки не обойтись.

И на заметку человеку, которому такие проекты как Колибри на один зуб и он их каждый день с нуля переписывает, на хабре появилась статья в тему Дорабатывать или переписывать
Позволю себе наглость процитировать кусок текста, хотя все могут прочесть оригинальную статью без регистрации!
Quote:
Ситуэйшн №3: чужой код
Image
Это самый опасный путь, скользкая, мерзкая и пакостная дорожка. Итак, представьте, что свой студенческий проект вы кое как сдали, свой личный проект забросили (извините, конечно же отложили, чтобы вернуться, когда будет время!).

И вот, к вам попадает чужой код в 10-15 тысяч строк. Говнокод. По-вашим представлениям. Внедрение обновлений равносильно выстрелу себе в ногу. Переписываем?

Не торопитесь. Сначала оцените свои возможности. Сколько времени вам потребуется, чтобы это переписать? Как это будет оплачено? Заложено ли нужное время?

Переписывание чужого кода чревато несколькими проблемами.
Первая проблема: код, скорее всего, уже внедрен и работает. В этом случае, вам не только нужно будет заново разработать весь его функционал, но и учесть все костыли, на которые наткнулся бывший говнокодер.
Вторая проблема: вы можете не потянуть проект, начать прокрастинировать, и в конечном итоге, окончательно завалите проект.
Третья проблема: почему вы так уверены, что вы сами не напишите такой же говнокод?

И окончание статьи меня вообще порадовало:
Quote:
И еще помните, что серьезные люди считают, что переписывание проектов с нуля – это признак непрофессионализма.
Удачи.


У меня лично только 2 проекта которые я написал по сути с нуля: KFM и zSea. Зато я несколько чужих программ переписал (не с нуля естественно!) и ядро так помаленьку поковырял. Почему то я не лазал на http://osdev.ru/ и не обсирал чужие проекты. Я же не лазил в их код 9 лет и не могу судить что там говнокод, а что нет. А самое забавное - идеален тот код который ты никому не показал, потому что никто не может найти там ошибок говнокодера.

Потому я по прежнему утверждаю, что у меня есть триллион баксов и скоро я куплю Эпл.
(Зря Кирилл похерил тот мой коммент!)
И попробуйте, блять, это опровергнуть!


Top
   
 Post subject: Re: APIC
PostPosted: Mon Mar 26, 2012 9:49 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Марат, вот тебе надо эти батлы со школотой по поводу у кого пиписька длиннее? Мы делаем проект известный во всём мире и поэтому у него полюбому будут критики.
Короче, не флудить. Тебя это тоже касается.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: APIC
PostPosted: Mon Mar 26, 2012 9:50 pm 
Тащемто мистер SII давно как не школота. :mrgreen: Но тролль 99 уровня - Дмитрий Завалишин завидует. :wink: Я кстати тоже завидую - мне бы так доебываться уметь.


Top
   
 Post subject: Re: APIC
PostPosted: Mon Mar 26, 2012 9:55 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
Я про Стаса. SII наш старый умный и хитрый идеологический противник.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: APIC
PostPosted: Tue Aug 07, 2012 10:24 am 
Offline
User avatar

Joined: Tue Aug 25, 2009 4:45 pm
Posts: 794
Дабы разбавить последние нетехнические сообщения техническим - выкладываю документ об APIC и прерываниях в процессорах SandyBridge, надеюсь будет полезным.


Attachments:
File comment: Interrupts overview
CS-Lec3-Interrupt.ppt [21.32 MiB]
Downloaded 152 times
File comment: Sandybridge interrupts
Interrupt.ppt [1.27 MiB]
Downloaded 163 times
Top
   
 Post subject: Re: APIC
PostPosted: Sun Sep 16, 2012 11:32 pm 
Offline

Joined: Tue Sep 20, 2011 1:02 am
Posts: 13
Leency wrote:
Стас получает бан на день за флуд и систематическое неправильное написание названия проекта.

что то я флуда у него не заметил. он как и все выразил свое мнение. и я бы его поддержал.


Top
   
 Post subject: Re: APIC
PostPosted: Mon Sep 17, 2012 9:41 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
abcd0081 wrote:
Leency wrote:
Стас получает бан на день за флуд и систематическое неправильное написание названия проекта.

что то я флуда у него не заметил. он как и все выразил свое мнение. и я бы его поддержал.
Очень круто поднимать темы которым уже полгода :) Флуд был удалён, наверно, не перечитывал.

_________________
Через тернии к звездам


Top
   
 Post subject: Re: APIC
PostPosted: Mon Sep 17, 2012 9:49 pm 
Necromancer 80 lvl


Top
   
 Post subject: Re: APIC
PostPosted: Fri Jun 07, 2013 12:07 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Serge wrote:
Не понятно, почему завис ASRock M3A770DE. Хороший лог, правильный devices.dat.

До r3613 обращение из APIC_init к таблице FAT рамдиска приводило к непредсказуемым последствиям, ибо таблица FAT рамдиска на тот момент ещё не была преобразована из 12-бит в 16-бит. Если devices.dat был длиннее 512 байт, то зависание неудивительно и с железом не связано.
Я это словила по другой причине - в drivers/ появилось много всего, и при отсутствующем devices.dat в таблицу FAT лез уже код обхода папки - с теми же последствиями: на реальной машине ядро стало зависать при загрузке на стадии инициализации APIC. После чего было уже несложно выяснить, в чём дело.

_________________
Сделаем мир лучше!


Top
   
 Post subject: Re: APIC
PostPosted: Fri Jun 07, 2013 1:35 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
CleverMouse
Спасибо, это конечно я лажанулся, вызывать load_file до calculatefatchain.


Top
   
 Post subject: Re: APIC
PostPosted: Fri Jun 07, 2013 9:16 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Скачал свой архив двухлетней давности http://kolibri-pe.googlecode.com/files/devman.zip и решил проверить.
Внезапно всё работает !
Spoiler: Show
PCI_8086_101 bus:0 devfn: 8 pin 1 bios irq: 5 acpi irq: 16
PCI_8086_102 bus:0 devfn: 10 pin 1 bios irq: 5 acpi irq: 16
PCI_8086_1c3a bus:0 devfn: b0 pin 1 bios irq: 5 acpi irq: 16
PCI_8086_1c2d bus:0 devfn: d0 pin 3 bios irq: 10 acpi irq: 18
PCI_8086_1c20 bus:0 devfn: d8 pin 1 bios irq: 7 acpi irq: 22
PCI_8086_1c10 bus:0 devfn: e0 pin 1 bios irq: 5 acpi irq: 16
PCI_8086_1c1c bus:0 devfn: e6 pin 3 bios irq: 10 acpi irq: 18
PCI_8086_1c1e bus:0 devfn: e7 pin 4 bios irq: 11 acpi irq: 19
PCI_8086_1c26 bus:0 devfn: e8 pin 1 bios irq: 4 acpi irq: 23
PCI_8086_1c02 bus:0 devfn: fa pin 2 bios irq: 11 acpi irq: 19
PCI_8086_1c22 bus:0 devfn: fb pin 3 bios irq: 10 acpi irq: 18
PCI_1002_683d bus:1 devfn: 0 pin 1 bios irq: 5 acpi irq: 16
PCI_1002_aab0 bus:1 devfn: 1 pin 2 bios irq: 3 acpi irq: 17
PCI_10ec_8168 bus:3 devfn: 0 pin 1 bios irq: 10 acpi irq: 18
PCI_1b6f_7023 bus:4 devfn: 0 pin 1 bios irq: 11 acpi irq: 19

Devices:

PCI_8086_100 bus:0 devfn: 0

PCI_8086_101 bus:0 devfn: 8
APIC IRQ: 16

PCI_8086_102 bus:0 devfn: 10
MMIO range fb800000 - fbbfffff
MMIO range d0000000 - dfffffff
IO range ff00 - ff3f
APIC IRQ: 16

PCI_8086_1c3a bus:0 devfn: b0
MMIO range fbfff000 - fbfff00f
APIC IRQ: 16

PCI_8086_1c2d bus:0 devfn: d0
MMIO range fbffe000 - fbffe3ff
APIC IRQ: 18

PCI_8086_1c20 bus:0 devfn: d8
MMIO range fbff4000 - fbff7fff
APIC IRQ: 22

PCI_8086_1c10 bus:0 devfn: e0
APIC IRQ: 16

PCI_8086_1c1c bus:0 devfn: e6
APIC IRQ: 18

PCI_8086_1c1e bus:0 devfn: e7
APIC IRQ: 19

PCI_8086_1c26 bus:0 devfn: e8
MMIO range fbffd000 - fbffd3ff
APIC IRQ: 23

PCI_8086_244e bus:0 devfn: f0

PCI_8086_1c4a bus:0 devfn: f8

PCI_8086_1c02 bus:0 devfn: fa
IO range fe00 - fe07
IO range fd00 - fd03
IO range fc00 - fc07
IO range fb00 - fb03
IO range fa00 - fa1f
MMIO range fbffc000 - fbffc7ff
APIC IRQ: 19

PCI_8086_1c22 bus:0 devfn: fb
MMIO range fbffb000 - fbffb0ff
IO range 500 - 51f
APIC IRQ: 18

PCI_1002_683d bus:1 devfn: 0
MMIO range e0000000 - efffffff
MMIO range fbe80000 - fbebffff
IO range ee00 - eeff
MMIO range 0 - 1ffff
APIC IRQ: 16

PCI_1002_aab0 bus:1 devfn: 1
MMIO range fbefc000 - fbefffff
APIC IRQ: 17

PCI_10ec_8168 bus:3 devfn: 0
IO range de00 - deff
MMIO range fbdff000 - fbdfffff
MMIO range fbdf8000 - fbdfbfff
APIC IRQ: 18

PCI_1b6f_7023 bus:4 devfn: 0
MMIO range fbcf8000 - fbcfffff
APIC IRQ: 19

PCI0
Address range 00-03f
IO range 0cf8-0cff
Address range 00-0cf7
Address range 0d00-0ffff
Address range 0a0000-0bffff
Address range 0c0000-0dffff
Address range 0fed40000-0fed44fff
Address range 0cfa00000-0febfffff

SYSR
IO range 010-01f
IO range 022-03f
IO range 044-04d
IO range 050-05f
IO range 062-063
IO range 065-06f
IO range 074-07f
IO range 091-093
IO range 0a2-0bf
IO range 0e0-0ef
IO range 04d0-04d1
IO range 0290-029f
IO range 0800-0805
IO range 0290-0294
IO range 0880-088f

PIC
IO range 020-021
IO range 0a0-0a1
IRQ 2

DMA1
DMA channel 4
IO range 00-0f
IO range 080-090
IO range 094-09f
IO range 0c0-0df

TMR
IO range 040-043

HPET
IRQ 0
IRQ 8
Memory range 0fed00000-0fed003ff

RTC
IO range 070-073

SPKR
IO range 061-061

COPR
IO range 0f0-0ff
IRQ 13

PS2M
IO range 060-060
IO range 064-064
IRQ 12

PMIO
IO range 0400-04cf
IO range 04d2-04ff

PTMD
IO range 01000-0107f
IO range 01080-010ff
IO range 01100-0117f
IO range 01180-011ff

CWDT
IO range 0454-0457

EXPL
Memory range 0f4000000-0f7ffffff

MEM
Memory range 0d2800-0d3fff
Memory range 0f0000-0f7fff
Memory range 0f8000-0fbfff
Memory range 0fc000-0fffff
Memory range 0cafa0000-0cafdffff
Memory range 00-09ffff
Memory range 0100000-0caf9ffff
Memory range 0cafe0000-0caffffff
Memory range 0fec00000-0fec00fff
Memory range 0fed10000-0fed1dfff
Memory range 0fed20000-0fed8ffff
Memory range 0fee00000-0fee00fff
Memory range 0ffb00000-0ffb7ffff
Memory range 0fff00000-0ffffffff
Memory range 0e0000-0effff
Memory range 020000000-0201fffff
Memory range 040000000-0400fffff
Memory range 0cb000000-0cf9fffff

FWH
Memory range 0ffb80000-0ffbfffff
Пошел дальше по инструкции viewtopic.php?f=1&t=1195&start=105#p37822 и опять всё заработало. Правая колонка цифр - номера irq в hex
Spoiler: Show
PCI Version = 3.00; Last PCI Bus = 5
User MMIO channel = 0F.F:F
Number of PCI units = 12h

VenID DevID Bus# Dev# Fnc Rev Class Subclass/ IRQ Company Description
Interface
----- ----- ---- ---- --- --- ----- --------- --- ------------------------------------------ --------------------------------
8086 0100 00 00 00 09 06 00 00 00 Intel Corp. Bridge - CPU/PCI
8086 0101 00 01 00 09 06 04 00 10 Intel Corp. Bridge - PCI/PCI
8086 0102 00 02 00 09 03 80 00 10 Intel Corp. Display - misc
8086 1c3a 00 16 00 04 07 80 00 10 Intel Corp. Communication - misc
8086 1c2d 00 1a 00 05 0c 03 20 12 Intel Corp. Serial Bus - USB2 Enhanced HC
8086 1c20 00 1b 00 05 04 03 00 16 Intel Corp. Multimedia - High Definition Audio
8086 1c10 00 1c 00 b5 06 04 00 10 Intel Corp. Bridge - PCI/PCI
8086 1c1c 00 1c 06 b5 06 04 00 12 Intel Corp. Bridge - PCI/PCI
8086 1c1e 00 1c 07 b5 06 04 00 13 Intel Corp. Bridge - PCI/PCI
8086 1c26 00 1d 00 05 0c 03 20 17 Intel Corp. Serial Bus - USB2 Enhanced HC
8086 244e 00 1e 00 a5 06 04 01 -- Intel Corp. Bridge - Subtract.Decode PCI/PCI
8086 1c4a 00 1f 00 05 06 01 00 00 Intel Corp. Bridge - PCI/ISA
8086 1c02 00 1f 02 05 01 06 01 13 Intel Corp. Storage - Serial ATA
8086 1c22 00 1f 03 05 0c 05 00 12 Intel Corp. Serial Bus - SMBus
1002 683d 01 00 00 00 03 00 00 10 ATI TECHNOLOGIES INC Display - VGA-compatible c.
1002 aab0 01 00 01 00 04 03 00 11 ATI TECHNOLOGIES INC Multimedia - High Definition Audio
10ec 8168 03 00 00 06 02 00 00 12 REALTEK SEMICONDUCTOR CORP. Network - Ethernet
1b6f 7023 04 00 00 01 0c 03 30 13 Unknown Serial Bus - USB/USB2
Usb работает, звук есть, ahci подключился. Значит код apic в полном порядке.

Рекомендую тем, у кого были проблемы с прерываниями и usb.


Top
   
 Post subject: Re: APIC
PostPosted: Mon Jun 10, 2013 2:10 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Dell Vostro: "как есть" не завелось, часы тикают, система работает, но на внешние раздражители в лице PS/2 и USB не отзывается. Методом научного тыка я выяснила, что всё начинает нормально работать при применении любого из двух диффов
Code:
Index: apic.inc
===================================================================
--- apic.inc   (revision 3631)
+++ apic.inc   (working copy)
@@ -82,7 +82,7 @@
 @@:
         mov     ebx, eax
         call    IOAPIC_read
-        mov     ah, 0x09; Delivery Mode: Lowest Priority, Destination Mode: Logical
+        mov     ah, 0x08; Delivery Mode: Fixed, Destination Mode: Logical
         mov     al, cl
         add     al, 0x20; vector
         or      eax, 0x10000; Mask Interrupt

Code:
Index: apic.inc
===================================================================
--- apic.inc   (revision 3631)
+++ apic.inc   (working copy)
@@ -96,7 +96,8 @@
         inc     eax
         mov     ebx, eax
         call    IOAPIC_read
-        or      eax, 0xff000000; Destination Field
+        and     eax, not 0xff000000; Destination Field
+        or      eax, 0x01000000
         xchg    eax, ebx
         call    IOAPIC_write
         inc     eax

Дальше я ковыряться не стала.

_________________
Сделаем мир лучше!


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

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