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

Re: [Xen-devel] [PATCH RFC 3/4] hvmloader/ovmf: setup ovmf_info



On Tue, Nov 19, 2013 at 05:54:36PM +0000, Ian Campbell wrote:
> On Fri, 2013-11-15 at 15:59 +0000, Wei Liu wrote:
> > OVMF info contains E820 map allocated by hvmloader. This info is passed
> > to OVMF to help it do proper initialization.
> > 
> > Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
> > ---
> >  tools/firmware/hvmloader/ovmf.c |   39 
> > +++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 37 insertions(+), 2 deletions(-)
> > 
> > diff --git a/tools/firmware/hvmloader/ovmf.c 
> > b/tools/firmware/hvmloader/ovmf.c
> > index 7826095..c253083 100644
> > --- a/tools/firmware/hvmloader/ovmf.c
> > +++ b/tools/firmware/hvmloader/ovmf.c
> > @@ -46,10 +46,45 @@
> >  #define LOWCHUNK_SIZE           0x00010000
> >  #define LOWCHUNK_MAXOFFSET      0x0000FFFF
> >  #define LOWCHUNK_END            (OVMF_BEGIN + OVMF_SIZE)
> > +#define OVMF_INFO_PHYSICAL_ADDRESS 0X00001000
> >  
> >  extern unsigned char dsdt_anycpu[];
> >  extern int dsdt_anycpu_len;
> >  
> > +struct ovmf_info {
> > +    char signature[11]; /* XenHVMOVMF\0 */
> > +    uint8_t length;     /* Length of this struct */
> > +    uint8_t checksum;   /* Set such that the sum over bytes 0..length == 0 
> > */
> 
> You will need some explicit zero padding (to make the above add up to 16
> bytes), otherwise there will be a hole in the struct which might cause
> confusion when checksumming (i..e forgetting to sum the hole...)
> 
> Or you could add some nulls to the signature.
> 

OK.

> I wonder if we could share some/all of this with the Seabios code, just
> with a different signature and potentially the info address?
> 

Yes, we can, but that will also make things less flexible. We need to
100% sure this sturcture will always be the same for Seabios and OVMF.

Wei.

_______________________________________________
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®.