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

Kevin O'Connor kevin at koconnor.net
Fri Sep 18 19:55:12 CET 2015


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?

-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