> On May 1, 2015, at 10:40 AM, Kinney, Michael D <[email protected]> > wrote: > > Ray, > > The idea of adding EFI_LOAD_OPTION structure to MdePkg .h files has been > considered before. > > This is not defined as a C data structure in the UEFI Specification. > Instead, it is described as a binary buffer that must be parsed from > beginning to end. > > I recommend we do not add this C data structure to UefiSpec.h. >
I agree as most of the this C struct is just a comment, that follows the spec. Given it only has two elements it is not going to be that useful in code. Thanks, Andrew Fish > Best regards, > > Mike > > > -----Original Message----- > From: Ruiyu Ni [mailto:[email protected]] > Sent: Monday, April 27, 2015 11:17 PM > To: [email protected] > Subject: [edk2] [Patch] MdePkg: Add EFI_LOAD_OPTION definition. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Ruiyu Ni <[email protected]> > Reviewed-by: Liming Gao <[email protected]> > --- > MdePkg/Include/Uefi/UefiSpec.h | 42 ++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/MdePkg/Include/Uefi/UefiSpec.h b/MdePkg/Include/Uefi/UefiSpec.h > index 64105c2..5e23694 100644 > --- a/MdePkg/Include/Uefi/UefiSpec.h > +++ b/MdePkg/Include/Uefi/UefiSpec.h > @@ -2026,6 +2026,48 @@ EFI_STATUS > ); > > // > +// EFI Load Option > +// > +typedef struct _EFI_LOAD_OPTION { > + /// > + /// The attributes for this load option entry. All unused bits must be zero > + /// and are reserved by the UEFI specification for future growth. > + /// > + UINT32 Attributes; > + /// > + /// Length in bytes of the FilePathList. OptionalData starts at offset > + /// sizeof(UINT32) + sizeof(UINT16) + StrSize(Description) + > FilePathListLength > + /// of the EFI_LOAD_OPTION descriptor. > + /// > + UINT16 FilePathListLength; > + /// > + /// The user readable description for the load option. > + /// This field ends with a Null character. > + /// > + // CHAR16 Description[]; > + /// > + /// A packed array of UEFI device paths. The first element of the array is > a > + /// device path that describes the device and location of the Image for > this > + /// load option. The FilePathList[0] is specific to the device type. Other > + /// device paths may optionally exist in the FilePathList, but their usage > is > + /// OSV specific. Each element in the array is variable length, and ends at > + /// the device path end structure. Because the size of Description is > + /// arbitrary, this data structure is not guaranteed to be aligned on a > + /// natural boundary. This data structure may have to be copied to an > aligned > + /// natural boundary before it is used. > + /// > + // EFI_DEVICE_PATH_PROTOCOL FilePathList[]; > + /// > + /// The remaining bytes in the load option descriptor are a binary data > buffer > + /// that is passed to the loaded image. If the field is zero bytes long, a > + /// NULL pointer is passed to the loaded image. The number of bytes in > + /// OptionalData can be computed by subtracting the starting offset of > + /// OptionalData from total size in bytes of the EFI_LOAD_OPTION. > + /// > + // UINT8 OptionalData[]; > +} EFI_LOAD_OPTION; > + > +// > // EFI Load Options Attributes > // > #define LOAD_OPTION_ACTIVE 0x00000001 > -- > 1.9.5.msysgit.1 > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/edk2-devel > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
