Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

0xffff0 and the BIOS

Tags:

memory

boot

bios

When a pc first boots up, it starts executing at physical address 0xffff0. This address contains a jmp instruction to the BIOS.

Now for my question, I always assume the physical addresses are mapped to RAM. If RAM initially contains garbage values, what exactly puts the jmp instruction in 0xffff0? Is the jmp instruction always the same or is it different for different BIOS's? Does 0xffff0 map from RAM to BIOS then (meaning it's "hard mapped")?

like image 731
IM. Avatar asked Jul 18 '10 01:07

IM.


People also ask

Where is BIOS code located?

Originally, BIOS firmware was stored in a ROM chip on the PC motherboard. In later computer systems, the BIOS contents are stored on flash memory so it can be rewritten without removing the chip from the motherboard.

What happens first BIOS post?

The POST first checks the bios and then tests the CMOS RAM. If there is no problem with this then POST continues to check the CPU, hardware devices such as the Video Card, and the secondary storage devices such as the Hard Drive, Floppy Drives, Zip Drive, or CD/DVD Drives.


2 Answers

The top 64kB or so are mapped to BIOS ROM, not RAM.

like image 98
Ignacio Vazquez-Abrams Avatar answered Sep 18 '22 16:09

Ignacio Vazquez-Abrams


Take a look at PC boot sequence. As Ignacio already answered, it's "hard-mapped" to BIOS read-only memory.

like image 34
Nikolai Fetissov Avatar answered Sep 21 '22 16:09

Nikolai Fetissov