[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 12/14] hvmloader: Specific bios_load function required



On Tue, Mar 15, 2016 at 09:38:18PM -0400, Konrad Rzeszutek Wilk wrote:
> On Mon, Mar 14, 2016 at 05:55:47PM +0000, Anthony PERARD wrote:
> 
> The title says:
> 
> " Specific bios_load function required "
> 
> But I am not sure what you mean?

I meant that bios_config->bios_load() need to be defined and can not be
NULL anymore.

What about: "bios->bios_load() now needs to be defined"?

> > All BIOS but ROMBIOS needs to be loaded via modules.
> 
> All BIOSes but ROMBIOS needs to be loaded via modules?

OK.

> > 
> > ROMBIOS is handled as a special case.
> > 
> > Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> > Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
> > ---
> > No change in V4.
> > 
> > Change in V3:
> > - reprint Main BIOS in bios map with now available information from bios
> >   modules.
> > - handle rombios, and keep its built-in ROMs.
> > ---
> >  tools/firmware/hvmloader/hvmloader.c | 16 ++++++++++------
> >  1 file changed, 10 insertions(+), 6 deletions(-)
> > 
> > diff --git a/tools/firmware/hvmloader/hvmloader.c 
> > b/tools/firmware/hvmloader/hvmloader.c
> > index 460efb9..bb2a309 100644
> > --- a/tools/firmware/hvmloader/hvmloader.c
> > +++ b/tools/firmware/hvmloader/hvmloader.c
> > @@ -323,21 +323,25 @@ int main(void)
> >  
> >      printf("Loading %s ...\n", bios->name);
> >      bios_module = get_module_entry(hvm_start_info, "bios");
> > -    if ( bios_module && bios->bios_load )
> > +    if ( bios_module )
> >      {
> >          uint32_t paddr = bios_module->paddr;
> >          bios->bios_load(bios, (void*)paddr, bios_module->size);
> >      }
> > -    else if ( bios->bios_load )
> > +#ifdef ENABLE_ROMBIOS
> > +    else if ( bios == &rombios_config )
> >      {
> >          bios->bios_load(bios, 0, 0);
> >      }
> > +#endif
> >      else
> >      {
> > -        BUG_ON(bios->bios_address + bios->image_size >
> > -               HVMLOADER_PHYSICAL_ADDRESS);
> > -        memcpy((void *)bios->bios_address, bios->image,
> > -               bios->image_size);
> > +        /*
> > +         * If there is no BIOS module supplied and if there is no embeded 
> > BIOS
> > +         * image, then we failed. Only rombios might have an embedded bios 
> > blob.
> > +         */
> > +        printf("no BIOS ROM image found\n");
> > +        BUG();
> >      }
> >  
> >      if ( (hvm_info->nr_vcpus > 1) || hvm_info->apic_mode )

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.