[SeaBIOS] Question about the relationship between bios.bin and vgabios.bin

Jaeyong Yoo jaeyong.yoo at samsung.com
Wed May 14 13:27:16 CEST 2014


Hello Seabios!

I started the thread from qemu-list and Laszlo suggested me to post the question here.

In Seabios, the call-path of calling vgarom entry point is the following:

handle_post() [src/post.c]
  make_bios_writable() [src/fw/shadow.c]
    make_bios_writable_intel()
      __make_bios_writable_intel() -- shadows vgabios in C segment too
  dopost() [src/post.c]
    maininit()
      vgarom_setup() [src/optionroms.c]
        init_pcirom()
          init_optionrom()
            callrom()
              __callrom()
                _rom_header_entry [vgasrc/vgaentry.S]
                  vga_post() [vgasrc/vgainit.c]

For me, it looks like seabios (bios.bin) calls a function, vga_post, that is supposed be
in vgabios.bin. It makes me thinking that vgabios.bin is somehow embedded in bios.bin.
But, in my case I use both bios.bin and vgabios.bin to booting up my guest OS (I'm using qemu).
Apparently, I'm not clearly understanding the difference between vgabios inside bios.bin
and vgabios-stdvga.bin. Could you tell me the difference?

And, I'm trying to debug a vgabios.bin by examining with qemu+gdb. Especially, I'm trying to
set the break-point to the entry point of vgabios.bin and I'm not quite sure how to do this
since I don't know the address where vgabios.bin is loaded. I would appreciate if you give me
some hint about this.

Best regards,
Jaeyong


More information about the SeaBIOS mailing list