What is the first instructions address in a 2Mb bios chip ? I'm not very familiar with i386 processors obviously because i assumed the first instruction on power up was 0h but i don't think thats the case now. Is there a good flow chart somewhere on the web I don't know about ?
On Wed, Jun 07, 2006 at 09:09:18AM -0700, Tyler Pohl wrote:
What is the first instructions address in a 2Mb bios chip ? I'm not very familiar with i386 processors obviously because i assumed the first instruction on power up was 0h but i don't think thats the case now. Is there a good flow chart somewhere on the web I don't know about ?
x86 always boot at 0xfffffff0 and BIOS ROM ends at 4GB with very few exceptions, if any.
For a 2Mbit BIOS chip (256kbyte) that means the BIOS ROM is at 0xfffc0000 and x86 will boot from 0x3fff0 in the chip.
//Peter
Peter Stuge wrote:
On Wed, Jun 07, 2006 at 09:09:18AM -0700, Tyler Pohl wrote:
What is the first instructions address in a 2Mb bios chip ? I'm not very familiar with i386 processors obviously because i assumed the first instruction on power up was 0h but i don't think thats the case now. Is there a good flow chart somewhere on the web I don't know about ?
x86 always boot at 0xfffffff0 and BIOS ROM ends at 4GB with very few exceptions, if any.
For a 2Mbit BIOS chip (256kbyte) that means the BIOS ROM is at 0xfffc0000 and x86 will boot from 0x3fff0 in the chip.
um. ....
it's a bit more complext. We still put the ROMCC payload at the top, and GCC payload right ahead of it.
Also, we maintain high addressing, so romcc will address high mem in 4G.
It's quite odd, due to the x86 (I need a nickel for every time I've said that).
jmp 0xf000:something, then go to 32-bit mode at 0xffffabcd, then copy gcc to low memory, and jump to low memory.
ack.
ron