2016-05-04 21 views
2

in mehreren Ressourcen habe ich festgestellt, dass: ROM-Image zu 000C0000h 000DFFFFh in RAM kopiert werden muss. Wenn der Klassencode angibt, dass dies das VGA-Geräte-ROM ist, muss sein Code ab der Position 000C0000h in den Speicher kopiert werden.Wie ist die PCI-ROM beschattet?

1: Was passiert, wenn ich eine hungrige hungrige Hippokarte habe, die einen ROM größer als 128KB hat?

2: Was ist, wenn ich ein normales PCI-Gerät mit 64KB ROM habe, aber davon 4? Werden sie nacheinander in diesen Speicherbereich geladen? Wenn ja (obwohl ich das bezweifle), wie wird das Code-Bild zwischen Init und Boot-Phase erhalten?

3: Was würde passieren, wenn BIOS sich dazu entschließen würde, Nonkonformist zu werden und einen anderen Speicherort anzugeben? Warum ist es wichtig, diesen Bereich trotzdem zu benutzen?

4: Wie zur Hölle ist der normale Fall anders als die VGA-Schnittstelle? Ist es nur die Grenze, die den Unterschied macht?

Antwort

1

1: Es ist nicht möglich, dass ROM in den Options-ROM-Bereich kopiert wird. Init size field ist 1 Byte und wird als 512 Byte Inkremente interpretiert, das ist 255 * 512 = 127KB

2: Schade, einige von ihnen werden nicht initialisiert.

3: In der Northbridge befinden sich PAMs (Intel-Chipsatz-Datenblatt). Diese Register können geschützte spezifische Bereiche in den optionalen ROM-Bereich schreiben.

4: Limit zählt auch für VGA. Es muss nur bei c0000h beginnen, während einige NIC auch bei .. pfft d0000h beginnen können.

Danke Pyjong. Sie sind willkommen Pyjong.