On Mon, 22 Sep 2003 12:42:43 +0300
Georgi Chorbadzhiyski <[EMAIL PROTECTED]> wrote:


> >> >> > Checking if this processor honours the WP bit even in supevisor
> >> >> > mode.... No. Kernel panic: This kernel doesn't support CPU's with
> >> >> > broken WP. Recompile it for a 386!
> >> >>
> >> >> Съобщението е много просто "Recompile it for a 386"
> >> >> Ще трябва да си прекомпилираш kernel-а, като кажеш че си твърдо с 386.
> > 
> > --cut--

> > айде бре... иначе компетентно казано ;-) 
> > не, че е лошо да се прекомпилират и модулите, ама не е казано че трябва... и 
> > btw kernel image не протестира ако не са били прекомпилирани модулите в този 
> > случай на промяна на конфига. При смяната на cpu type за kernel image не е 
> > нужно да прекомпилираш и модулите и за това причината е много проста - това 
> > касае само асемблерската част от кода (много low-level) която така или иначе 
> > не се билдва на модули (а винаги остава монолитно към kernel image, това е 
> > super критичен момент за ядрото и никога не се изкарва на модули), а 
> > компилирани вече модули нямат и не могат и да имат *конфигурациона* 
> > зависимост към тази част от кода. 
> > Това може да се изпита съвсем елементарно. Например: CPU i686, kernel image за 
> > i686 + модули... след това ребилдваме kernel image-a за i386 (без да пипаме 
> > VERSION's редовете от top level Makefile-а), а модулите не (т.е. без make 
> > modules modules_install) ... boot-вама kernel image за i386 и ще видим, че 
> > зарежда спокойно модулите които са били получени от i686 конфига. Обратното 
> > също може - kernel image за i686 да зарежда kernel modules получени за i386.
> > 
> > Чорбаджийски, ако все още мислиш, че трябва и модулите да се прекомпилират в  
> > този случай репортвай бъг на LKML срещу всички Linux kernels ;-)
> > Ще се радвам да бъда опроверган ... съвсем сериозно;-)
> > 
> 
> айде бре... иначе компетентно казано...
> 
> Според теб с ядро компилирано за i386 мога да ползвам модули компилирани за
> i686? Дали в i386 кернела има емулация за всички инструкции който са нови и
> се "срещат" само примерно в 486, Pentium, Pentium Pro?

;))) всичко зависи на каква машина се изпълнява това 
ако сценария на Данчев се изпълнява на i686 няма проблем , просто кернела 
няма да е с код опримизиран за i686, а модулите да....

а човека който почна threada  просто трябва да си прекомпилира кернела и 
модулите(ако използва такива) за  i386, 
естествено че код за i686 не може да се изпълнява на 386

> Модулите са част от кернела нали? Компилират се със същите оптимизации.
> 
> Ето ти малка извадка от arch/i386/Kconfig на 2.6.0-test5-mm1
> Ключовата фраза по-долу е "not necessarily run", което в случая за i686
> модули insmod-нати в i386 компилирано ядро е само "not run".

ако процесора е 386 , да
инструкциите на 686 са superset na 386. (mmx .. alabala)
става въпрос на low-level оптимизациите на gcc : -march=i386, -march=pentium-mmx 
например
(не за -mcpu)
по същата логика , код за pentuim върви на pentium-4 , но не и обратното.....
кернела и модулите въобще не ги бърка това...

> <quote>Only "386" kernels will run on a 386 class machine.</quote>
> 
> Ако не вярваш пробвай, ще почнеш да получаваш чудесни SIGILL или още
> по-вероятно Ooopses.
> 

--------------
http://darkblue.nm.ru/pgp/
--------------
Respect...

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to