[SeaBIOS] [PATCH v3 2/2] Boot Linux using QEMU fw_cfg DMA interface

Marc Marí markmb at redhat.com
Sat Sep 19 16:50:53 CET 2015


On Fri, 18 Sep 2015 15:55:12 -0400
"Kevin O'Connor" <kevin at koconnor.net> wrote:

> On Fri, Sep 18, 2015 at 09:28:57PM +0200, Marc Marí wrote:
> > On Fri, 18 Sep 2015 14:40:30 -0400
> > "Kevin O'Connor" <kevin at koconnor.net> wrote:
> > > On Fri, Sep 18, 2015 at 10:59:15AM +0200, Marc Marí wrote:
> > > > bootprio_find_named_rom("genroms/linuxboot.bin", 0));
> > > 
> > > Using "genroms/linuxboot.bin" works for testing, but I think a new
> > > bootorder id (eg, "vmlinux") will need to be defined between QEMU
> > > and SeaBIOS.  I don't think it would be good to overload the
> > > meaning of the "genroms/" prefix.
> > 
> > I was looking at it, but I don't see a "good" way to put it.
> > 
> > If you want to boot from fw_cfg through linuxboot.S, you prefer to
> > boot using fw_cfg DMA, which is faster. And adding a new entry
> > would mean adding a new type (?) which would be added in the same
> > cases as linuxboot.S. It looks a lot of work for a thing that is
> > repeated.
> 
> Would the QEMU patch below work?

Yes, it does. Sorry for my negative answer. I didn't look at it
properly.

Thanks
Marc
 
> -Kevin
> 
> 
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -1012,8 +1012,9 @@ static void load_linux(PCMachineState *pcms,
>      fw_cfg_add_bytes(fw_cfg, FW_CFG_SETUP_DATA, setup, setup_size);
>  
>      option_rom[nb_option_roms].name = "linuxboot.bin";
> -    option_rom[nb_option_roms].bootindex = 0;
> +    option_rom[nb_option_roms].bootindex = 1;
>      nb_option_roms++;
> +    add_boot_device_path(0, NULL, "vmlinux");
>  }
>  
>  #define NE2000_NB_MAX 6




More information about the SeaBIOS mailing list