/* Video ROM is standard at C000:0000 - C7FF:0000, check signature */
问题1:video rom 在这个区间范围内,此时已经是系统初始化的第二阶段,运行在保护模式。实模式下的cs和ip都是16位的,请问保护模式下的cs是否为16位和ip是否为20位?
for (base = 0xC0000; base < 0xE0000; base += 2048) { /*问题2:此处的base是否就是20位的ip?*/
romstart = bus_to_virt(base);
if (!romsignature(romstart))
continue;
request_resource(&iomem_resource, rom_resources + roms);
roms++;
break;
}
/* Extension roms at C800:0000 - DFFF:0000 */
for (base = 0xC8000; base < 0xE0000; base += 2048) {
unsigned long length;
romstart = bus_to_virt(base);
if (!romsignature(romstart))
continue;
length = romstart[2] * 512;
if (length) {
unsigned int i;
unsigned char chksum;
chksum = 0;
for (i = 0; i < length; i++)
chksum += romstart;
/* Good checksum? */
if (!chksum) {
rom_resources[roms].start = base;
rom_resources[roms].end = base + length - 1;
rom_resources[roms].name = "Extension ROM";
rom_resources[roms].flags = IORESOURCE_BUSY;