Hlavní navigace

Názor k článku Vypnutí Intel ME na novějších deskách řady 300, nový GIMP 2.10.12 od MSBOSS - Mikrokódovaný byl z x86 už 8086, máš to...

  • 16. 6. 2019 18:11

    MSBOSS

    Mikrokódovaný byl z x86 už 8086, máš to nějaký popletený. Jestli myslíš měnitelný mikrokód, tak ten skutečně přibyl až u P6.
    ISA sice používala DMA, ale jen za předpokladu, že jsi neměl nějaký IBM-nekompatibilní PC bez i8237. Co má DMA co společného s Intel ME?

    Pokud bych nějak přistoupil na to, že v devadesátkách byly počítače Open Source, což rozhodně nebyly (schválně si zkus najít Dr. Dobbse a jeho archivované stránky, jak v druhé polovině teprve lidi rozkrývali, jak fungují flagy u 8086 [myslím ty nedefinovaný], intrukce, který Intel tajil a podobné legrace), stále tu zůstává skutečnost, že tehdy bylo v módě používat všemožný intelí burdel a obfuskovaný kód, ideálně protkaný samomodifikujícími sekcemi a bez dokumentace. Pak tu bylo zneužívání chyb HW - nereálný režim (286+), kde bylo možné adresovat celý dostupný adresní prostor pomocí zneužití deskriptorových cache. Nedokumentovaný, mimo firmy typu MS, Borland se to vědělo až o léta později.
    Na 286 se taky pro výstup z PM do RM muselo použít hacku, kdy se zkriplila tabulka vektorů (v IDT se nastavila tabulka tak krátká, aby nebyl obsažen vektor 0x06 a vyšší), spustila se nějaká neexistující instrukce, čímž se skočilo na interrupt pro Invalid Opcode (Fault), který neexistoval, čímž se skočilo na Double Fault, který taky neexistoval, což vyvolalo Triple Fault a okamžitý restart procesoru. BIOS pak zkontroloval kousek paměti a pustil instrukci LOADALL (nedokumentovaná, pod NDA), čímž obnovil kontext procesoru v reálném režimu. Samozřejmě vše pod NDA, open-source hadr.
    Pak i na 386 byla instrukce LOADALL, od 386 pro notebooky výš tu byl SMM (taky děravý jak bota - kolikrát jsme slyšeli o útoku na něj, že?). Pak tu byla možnost debugování procesoru, pokud jsi měl "bondout" verzi procesoru s pinem IBP. Což jsi nedostal bez NDA. Když v devadesátkách Dobbs tyhle věci vynášel na povrch, šel po něm Intel, aby ho zlikvidoval.
    Jestli si takhle představuješ open source a jak to má vypadat, tak doporučuju Chocholouška. Taky kvůli těmhle prasárnám od Intelu nikdo neměl rád procesory V20 - oproti Intelu měli natvrdo 0x0A v instrukci AAD, takže ten procesor neměl instrukci DIV reg8,imm8 a nefungovaly třeba některý hry. Mimochodem ta instrukce se používala hodně, protože to bylo na Intelu nejrychlejší dělení (nepočítám XLAT a LUT, ta by pro emulaci AAM potřebovala prostor celého jednoho segmentu, což v době 640K limitu nebylo právě košer).