[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vg
From: |
malc |
Subject: |
Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin? |
Date: |
Thu, 7 Apr 2011 21:30:28 +0400 (MSD) |
User-agent: |
Alpine 2.00 (LNX 1167 2008-08-23) |
On Thu, 7 Apr 2011, Anthony Liguori wrote:
> On 04/07/2011 10:31 AM, Gleb Natapov wrote:
> > On Thu, Apr 07, 2011 at 08:28:37AM -0500, Anthony Liguori wrote:
> > > 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
> > >
> > > 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.
> > >
> > Actually after reset on x86 IP=0x0000fff0, CS=0xf000, CS.BASE= 0xffff0000,
> > CS.LIMIT=0xffff. So the execution begins at 0xfffffff0 where ROM is
> > mapped initially.
>
> That impossible because 1) the processor starts in 16 bit mode so such an
> address cannot be generated 2) the processor has a20 held to zero which makes
> that the processor cannot generate a load to an address with the 20th bit set
> to anything but zero.
It starts in big-real mode so only a20 can be a limiting factor..
>
> The CS base starts out at 0xf0000 and IP is 0xfff0. That gives a real address
> of 0xffff0. This is usually a trampoline to somewhere else in the space.
>
> The mapping of BIOS to the top of 4GB is just a convention that modern BIOSes
> use because the legacy space isn't big enough for most modern BIOSes.
>
> Regards,
>
> Anthony Liguori
>
> > > 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
> > > >
> > > >
> > > >
> > > >
> > --
> > Gleb.
> >
>
>
--
mailto:address@hidden
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, (continued)
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Gleb Natapov, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Jordan Justen, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Gleb Natapov, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Olivier Galibert, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Jordan Justen, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Anthony Liguori, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Gleb Natapov, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Anthony Liguori, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Gleb Natapov, 2011/04/08
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Jordan Justen, 2011/04/07
- Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?,
malc <=
Re: [Qemu-devel] How does the QEMU load the binary files bios.bin and vgabios-cirrus.bin?, Bei Guan, 2011/04/07