BIOS to zachyti jen v realnem rezimu, treba skrze INT6, a emuluje se i 286 LOADALL ve 386 BIOSu.
V chranenem rezimu typicky nemate BIOS, existuji jen ACPI volani ci SMM na pozadi, a ani jedno z toho tohle resit nebude (tedy nevim zda by SMM melo moznost se hooknout na vyjimku a zpracovat/vyresit ji drive, nez kernel beziciho OS), dokumentace k SMM neni muj bezny studijni material :)
Tak byt armadou a vedet ze moje CPU ma dalsi tajne instrukce, tak verim ze tam je i backdoor o kterem zatim jeste nevim, a to je velke no no u vojenskych veci. Vzdyt se pro ne delaj i specialni ME-disabled produkty.
A tenkrat asi nebyla primo snaha odhalovat nezname instrukce jako se deje v soucasnosti - viz sandsifter tool :)
Nedaří se mi rozlousknout větu
Podle toho, zda je použit prefix 0×66, se navíc rozhoduje, zda budou adresy specifikovány ve dvojicích DS a ES nebo se použijí dvojice DS a ES.
Tak, jak je napsaná, nedává smysl určitě, ale není mi jasné, jak ji jednoduše opravit, aby to smysl mělo. Pokud měla být opravdu řeč o segmentových registrech, přicházely by v úvahu úplně jiné prefixy. Navíc prefix 0x66 je prefix pro velikost operandu, ne adresy, takže ten by měl právě způsobit rozdíl mezi movs a movsd. Takže mělo jít o prefix 0x67 a dvojice di/ si a edi/ esi?
Je pravda, že novšie operačné systémy, kvôli kompatibilite nevyužívajú RAM pod 1 MB? Ja chápem, že 1 MB je dnes nič, ale pán sa z hľadiska princípu. Koľko ešte takých kompatibilít ešte existuje? Napríklad, nové procesory by mali asi obsahovať aj náhradu za I8253, aby v prípadnom DOSe mohol bežať časovač?
No Linux to tak děl(áv)al, protože byly problémy s nějakými BIOSy, EGA/VGA framebufferem, s ISA pokud byla zapojena do south bridge atd. Tak se šlo nejjednodušší cestou a první MB se alokoval a nepoužíval. Jak je to v dnešních jádrech ale popravdě netuším.
PIC, APIC, DMA atd. obstarává většinou south bridge na základovce.