Pokaż wiadomości

Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.


Pokaż wątki - mangado

Strony: [1]
1
OS-Dev / obsługa SSE, SSE2,3,4...
« dnia: Sierpień 21, 2014, 01:46:48 »
Panowie panie OSDEV-y a oto kolejny wrzód na... jaki trzeba wyciąć przy pisaniu 64 bitowego jajka!
Oczywiście jeżeli zakładamy, że programiki pod tego OS-ka będą pisane tylko w assemblerze to tu można obejść się bez SSE ale jak zechce nam się pisać programiki w c/c++ (w innych wysokiego poziomu pewnie też) to Houston mamy problem!
Okazuje się, że ABI tych języków z urzędu nakazuje użycie SSE jeżeli chcemy pobawić się z liczbami zmiennoprzecinkowymi!!!
Okazuje się też, że filozofia nie sprowadza się do użycia fxsave fxrstor w przełączniku zadań, należy odprawić gusła zanim się wystartuje procesy i wątki!!!
A więc zapraszam do rozgryzania tegoż tematu!
 8)

2
OS-Dev / Przerwania PCI
« dnia: Maj 23, 2014, 01:10:26 »
Witajcie!
mam temat do rozgryzienia!
Jak w x86 poprawnie odczytać gdzie lądują w APIC-u przerwania z magistrali PCI.
Tabelki MP niby to pokazują ale...
PCI ma niby 4 przerwania #INTA, #INTB, #INTC, #INTB
Na żywym kompie okazuje się po odczytaniu tabelek MP, że taki #INTA ląduje do więcej niż jednego "pin-a" IO APIC-a!
WTF?!
Z PiCI odczytam czy to #INTA czy ..B i co, dalej się nie dowiem jakie będzie z tego irq?
O co kaman?
W sieciowie pisali, że bez ACPI i AML nie pojedziesz...
Piszta ludu co sądzita o tem?

3
OS-Dev / Wykrywanie typu FAT
« dnia: Grudzień 08, 2011, 12:12:03 »
Pane Nevar, ja w temacie artykułu 4.1 o FAT-ach.
Tam na końcu masz opis jak wykryć czy to FAT16 czy FAT32.
I tam padło takie zdanie "Jest to jednoznaczny i chyba najlepszy sposób określenia typu FAT dysku. Nie możliwe jest np. żeby dysk FAT16 miał więcej klastrów niż 65524".
Ale! FAT32 może mieć mniej niż 65524 klastrów! No chyba, że nie może....
Ale jak może to wtedy co?

4
OS-Dev / wykrywanie liczby rdzeni cpu
« dnia: Listopad 30, 2011, 23:16:56 »
Panowie i panie mam problem!
Problem pojawił się przy testach mojego "OS-a" na żywym intel core i3.
Otóż w tabelkach MP były dwa wpisy z danymi o CPU czyli podług tego komp ma 2 proce...
W tabelkach ACPI są już 4 wpisy o CPU!!!
Trampolina uruchamia 3 AP-y! Czyli BSP+ 3xAP = 4 proce!
Okazało sie też, że i3 ma jednak dwa rdzenie ale są one Hyper Threading czyli w tym wypadku po dwa "logiczne" procesory na jeden rdzeń czyli 4 logiczne proce!
Lepiej i7 ma chyba nawet po 4 logiczne proce na rdzeń!

To jak w końcu to wykrywać? Jakiś "canonical" algorytm?

Tu warto by było się orientować jaka para lapic id-ów przypada na każdy rdzeń!

Ale jak to zrobić?


5
Pomoc / cant resume
« dnia: Listopad 25, 2011, 23:37:20 »
Pane Nevare!
Mangado mo kepski net, chciał pobrać ATA-8 i przerywało mie!
A u ciebie nie można resume zrobić!
ŁAJ?????????????


6
Asembler / wrracaj!
« dnia: Lipiec 22, 2011, 21:45:59 »
Nevar, zapodaj artykóła o pisaniu w assemblerze pod gcc as-em!
Bardzo fajny on jest!
można użyć preprocesor taki jak w c, czyli...
Można używać wspólnie z kodem c stałych! #define...
Nie trzeba uczyć się składni AT&T! wystarczy na początku wpisać:  .intel_syntax noprefix

Info dodatkowe: przy kopiowaniu instukcją mov do pamięci dodaje sie przyrostek b, w, l, q
movb  [edi], 10 - kopiowanie bajta

w przypadku kopiowania rejestr-pamięć rejestr-rejestr nie używamy przedrostków ("zarostków"   :P  )
mov  [esi], eax


thats all folks!

Strony: [1]