Intel says after reset the processor is placed in real mode and the software initialization code starts at 0xFFFFFFF0H. My questions:
-
If processor is in real-mode how can it acess the memory > 1MB (0xFFFFFFF0H)
-
How this happens or what happens when RAM in < 4GB ( say 2GB)
-
If the BIOS is mapped at 0x000FFFFFH why processor starts executing at 0xFFFFFFF0H
Please help me with these questions.
Thanks.
I finally found the answer in the Coreboot documentation:
So it seems the Intel documentation talks about the physical address as used "on the wire", i.e. when accessing the real bus. And this is independent of the CPU mode (the bus doesn’t know or care about a CPU mode, it’s the CPUs duty to translate these things).