acamro
acamro

Reputation: 97

Coreboot + SeaBios mode switch

I was reading some code of Coreboot and the first thing it does is enter in protected mode, this is normal for an intel x86 bootstrapper, afterwards, it loads and call the payload (in this case seabios), seabios does all the necesary initialization procedures for the hardware devices, some of these procedures need to be done in real mode and finally the BIOS call the os bootstraper at 0x7c00 always in real mode.

My question and doubt is: at what point occurs the switch between protected mode and real mode (again)?

Is the final processor mode: big real mode?

Thanks

Upvotes: 4

Views: 517

Answers (1)

user2921947
user2921947

Reputation: 31

I had the same question. According to the SeaBIOS execution flow manual the last phase of POST is the boot phase. The call to the bootloader starts with call_boot_entry(), which calls farcall16() with argument "0x07c0". farcall16 will call the assembly function transition16 which will switch the cpu back to real mode and will jmp to "0x07c0".

Upvotes: 3

Related Questions