Možnost ROM - Option ROM

Option ROM je část firmware , který je umístěn v systému BIOS nebo na rozšiřující kartu, která se dostane stínu do paměti a popraven na inicializaci zařízení a zaregistrovat se systémem BIOS. Je to v podstatě ovladač, který propojuje služby BIOS a hardware.

Specifikace spouštění systému BIOS

Specifikace BIOS Boot Specification (BBS) byla vyvinuta konsorciem zahrnujícím Compaq , Intel a Phoenix Technologies za účelem standardizace inicializační posloupnosti volitelných ROM PnP BIOS a starších volitelných ROM, které neodpovídají standardu PnP BIOS, a pořadí, ve kterém zavěšují přerušení. Norma uvádí pojem tabulky vektoru spouštění připojení (BCV) a prioritu BCV. Díky základním zásadám standardu je chování definovanější a laditelnější a dává výrobcům systému BIOS prostor k další dynamizaci výběru zaváděcího zařízení pro uživatele na základě návrhů standardu.

Běžnou volitelnou ROM je video BIOS, který se načte velmi brzy při zaváděcím procesu a zavěsí INT 10h, takže lze zobrazit výstup z POST ( power-on self-test ). Video BIOS je téměř vždy umístěn v C000paměťovém segmentu, začátek paměťové oblasti vyhrazené pro volitelné ROM; je tomu tak proto, že když má základní deska vestavěný řadič VGA, bude ROM ROM umístěna v systému BIOS - BIOS ví, kde je, a ve stanovenou dobu ji zastíní do paměti. Jiné ROM lze lokalizovat od segmentů C800až po F400starší počítače. Konečná vyhledávací adresa byla nakonec omezena na E000pozdější produkty. Specifikace spouštění systému BIOS vyžaduje, aby volitelné ROM byly zarovnány s hranicemi 2 kB (např. Segmenty C800, C880, C900, C980atd.). První dva bajty ROM musí být 55 AA.

Po dokončení základních kontrol POST systém BBS stanoví, že systém BIOS detekuje a zastíní všechny volitelné ROM, které se nacházejí v systému BIOS, do výše uvedené oblasti a bude procházet konfiguračním prostorem PCI , vyplňovat XROMBARy a kopírovat ROM rozšiřujících karet z Prostor MMIO do regionu. Systém BIOS poté prohledá oblast a pokud má volitelná ROM záhlaví PnP Expansion, provede inicializaci vzdáleného volání +0,3 h v záhlaví volitelné ROM. Poté znovu zkontroluje oblast po inicializaci všech volitelných ROM PnP (protože, jak uvádí příloha E, rutina inicializace volitelné ROM mohla zřetězit více rozšiřujících záhlaví PnP pro jednotlivé disky, které zařízení vlastní). Přidá ukazatel BCV (je -li k dispozici) do záhlaví rozšíření PnP a najde tabulku BCV nebo ukazatel BEV (je -li k dispozici) do tabulky priorit IPL. Záznamy BCV v tabulce BCV jsou poté vyvolány podle přepínatelné priority v NVRAM . Tabulka BCV je plná ukazatelů funkcí BCV, ale má pevný záznam představující starší volitelné ROM, což je ukazatel na rutinu systému BIOS, která volá +03h ve všech zbývajících volitelných ROM, které nemají záhlaví rozšíření PnP. Funkce BCV inicializuje háčky INT 13h a INT 19h, což BBS stanoví, že nesmí být provedeno v inicializační rutině v +03h. Pokud zařízení nemá rozšiřující záhlaví PnP, může v +03h provést jakýkoli háček v rutině, protože se jedná o starší kartu.

V počáteční inicializační rutině, protože volitelná ROM ukazuje na datovou strukturu PCI (ne stejnou jako konfigurační prostor), kód volitelné ROM zná zařízení a ID dodavatele je od RIP pevně posunuto . To mu umožňuje skenovat konfigurační prostor PCI, aby našel správné zařízení a BARy, které potřebuje použít. Aby se zabránilo tomuto skenování, a v případě dvou identických karet v systému, systém BIOS předá PFA (sběrnice/zařízení/funkce) inicializační rutině v AX a číslo pro výběr karty (CSN) pro ROM volitelné karty ISA je předáno BX. Poté může komunikovat se zařízením pomocí PMIO / MMIO, aby zjistil, kolik disků má a které jsou spouštěcí, a to čtením MBR . Systém BIOS již před inicializačním rutinním voláním vyčesal konfigurační prostor, přidělil BAR a vyplnil tabulku ACPI, takže volitelná ROM bude používat adresy přidělené jeho BARům. BCV však zavěšuje rutiny přerušení, které interagují se zařízením, které jsou upraveny na základě základního umístění adresy MMIO, informací o disku zjištěných v rutině inicializace volitelné ROM a aktuálním čísle disku v BDA.

Procedura BIOS INT 19h poté pomocí priority tabulky IPL v NVRAM rozhodne, zda zavolá položku obsahující zavaděč, který načte MBR 00h (disketa BAID; první zařízení v tabulce BCV, které registruje disk 00h), záznam obsahující zavaděč, který načte MBR 80 hodin (pevný disk BAID; první zařízení v tabulce BCV, které registruje disk 80 hodin) nebo jeden z položek BEV v tabulce. Zařízení má pouze BEV nebo BCV, pokud je to zaváděcí zařízení.

SCSI

Karta řadiče SCSI může připojit INT 13, který je zodpovědný za poskytování diskových služeb. Učiní tak ve svém BCV, pokud se jedná o kartu PnP. Jakmile to udělá, budou všechna další volání na INT 13h „zachycena“ volitelnou ROM ROM SCSI (nebo „SCSI BIOS“), což mu umožní reagovat na disky, které mohou existovat na sběrnici SCSI. Předtím, než přerušilo přerušení, možná v systému nebyly žádné disky, ale zachycením přerušení a změnou vrácených hodnot může systém SCSI BIOS zviditelnit všechny disky na sběrnici SCSI pro systém.

V tomto konkrétním případě může samotný BIOS zavolat INT 13h, aby uživateli poskytl seznam možných zaváděcích zařízení, a protože SCSI BIOS zavěsil přerušení, uživatel si bude moci vybrat nejen to, ze kterých standardních systémových zařízení se má zavést, ale také které disky SCSI také. Důvodem je to, jak je uvedeno v dodatku D Specifikace zaváděcího systému BIOS, že systém BIOS může naplnit tabulku IPL informacemi o zařízení a výrobci z volání INT 13h na různé disky spárované s číslem pevného disku (80h, 81h ...) , aby bylo možné zavést libovolné zařízení z pevného disku, nikoli pouze z prvního disku prvního řadiče, který připojí INT 13h (položka s nejvyšší prioritou v tabulce BCV), označované jako BIOS Aware IPL Device (BAID) ve specifikaci.

Více ovladačů může připojit INT 13h najednou. Například po řadiči SCSI může řadič AHCI také připojit INT 13h tak, že zavolá předchozí obslužnou rutinu, která byla uložena v IDT na vstupu 13h řadičem SCSI, na konci jejího vlastního obslužného programu, který poté vloží IDT na vstup 13h. Pokud je INT 13h voláno s DL = 83h, pak řadič, který přiřadil diskový rozsah obsahující 83h, odpoví, jinak přeskočí a zavolá předchozího obslužného programu. První řadič, který připojí INT 13h, zjistí, že bylo nainstalováno 0 disků, a to tak, že zkontroluje bajt na adrese 0040:0075, která se nachází v BIOS Data Area (BDA), a pokud má 4 disky k vyčíslení, přiřadí rozsah 80h – 83h a uložit '4' do BDA.

Síťová zaváděcí ROM

Další běžnou možností ROM je síťová zaváděcí ROM. Volitelná ROM obsahuje program potřebný ke stažení zaváděcího kódu. Původní paměti ROM osobních počítačů IBM připojily INT 18H (původně k vyvolání Cassette BASIC ) a INT 19H, protože tato dvě přerušení byla určena, když se má spustit proces spouštění. INT 19H je volán k zahájení procesu zavádění, zatímco INT 18H je volán, když se systém pokouší zavést ze všech možných zařízení a žádná nebyla zaváděcí. Původně by připojením INT 18H systém vyvolal Cassette BASIC (je -li k dispozici) nebo se pokusil spustit ze sítě, když selhala všechna ostatní zaváděcí zařízení (disketové jednotky, pevné disky atd.). Zapojením INT 19H se systém pokusí zavést ze sítě dříve, než jakákoli jiná zařízení. BBS specifikuje, že ROM ROM NIC nepřipojí 19h, místo toho by měl obslužný program BIOS 19h volat BEV, který pak stáhne zaváděcí kód.

Video

Video BIOS poskytuje některé základní zobrazovací služby pro BIOS a operační systémy , například INT 10H (Legacy BIOS), VBE (Legacy BIOS) a UEFI GOP .

Volitelné ROMy UEFI

Specifikace PCI umožňuje více obrazů ROM ROM na stejném zařízení. Tyto volitelné paměti ROM mohou být Legacy x86 a UEFI. Pokud je formát Option ROM v nastavení UEFI nastaven na „Kompatibilní s UEFI“, fáze DXE načte novější volitelnou ROM UEFI, pokud je k dispozici, a starší volitelnou ROM, pokud není. Pokud je povolen modul podpory kompatibility (CSM), může UEFI používat starší volitelné ROM . Je -li povoleno zabezpečené spouštění, je spuštění modulu podpory kompatibility a starších volitelných ROM zakázáno, protože starší ovladače firmwaru nepodporují ověřování, což je bezpečnostní hrozba.

Viz také

Reference