2011/4/8 Bei Guan <gbtj...@gmail.com> > > > 2011/4/7 Anthony Liguori <anth...@codemonkey.ws> > >> On 04/07/2011 03:22 AM, Bei Guan wrote: >> >>> Hi, >>> >>> I have some questions about the qemu's bios. How does the QEMU load the >>> binary files bios.bin and vgabios-cirrus.bin? Which function or code file >>> need I to pay more attention to? >>> >>> For the loading of vgabios-cirrus.bin and bios.bin, I just trace them >>> into the same funciton rom_add_file() in hw/loader.c. Is it the right >>> function, which loads the bioses? >>> >>> And then another question, how qemu give the control to bios when the >>> bios file is loaded? Maybe this question is not in the scope of qemu, >>> however, can you give me some cue point. >>> >> >> I had some stuff written up locally so I posted it to the wiki at >> http://wiki.qemu.org/Documentation/Platforms/PC > > > Thanks for this detailed description. Is it to say that if we want to boot > a BIOS (such as SeaBIOS), we must need to initialize the Memory ranged from > 0x00000 to 0xF0000, which includes DOS Memory Area, Video Memory, ISA > Extension ROM and BIOS Extension ROM, with the information needed by BIOS? > Is this Memory Layout all the same for all the BIOS booting? I mean that if we port another BIOS, do will need to modify the the codes of filling information into this Memory Layout?
Thanks, Gavin > > Another question is that in the QEMU, does all the information of the > emulated hardware have to be filled in the memory layout before the SeaBIOS > boot? And after it booting, the BIOS can do everything to boot the Operating > System. This phase (BIOS runing) doesn't need any interaction with QEMU. Is > it? > > Thanks. > Gavin > > > >> >> >> The x86 architecture defines the initial state of the chip to have the CS >> register have a base of 0xF000 and an IP of 0xFFF0. The result is that the >> actual memory address of the first instruction falls at the end of the BIOS >> ROM segment. This is the entry point to the BIOS. >> >> The VGABIOS is treated like any other option ROM and is initialized during >> option ROM scanning. >> >> Regards, >> >> Anthony Liguori >> >> >> Any reply are appreciated. Thanks. >>> >>> Gavin >>> >>> >>> >>> >>> >> >