> Andrew,
> 
> Good questions.
> 
> 1) I agree with your observations on the GUIDs associated with the Debug 
> Port.  The UEFI Specification defines the GUID for the messaging device path 
> and the UEFI Variable to be the same value as the Debug Port Protocol Guid.  
> We could remove the 2 GUIDs from the .DEC file with no side effects but I do 
> not like that the developer has to know the GUIDs are the same and use the 
> Debug Port Protocol GUID in the INF when the device path or UEFI Variable are 
> needed.  I think I would prefer to see the following 2 #defines removed:
> 
>       #define gEfiDebugPortVariableGuid   gEfiDebugPortProtocolGuid
>       #define gEfiDebugPortDevicePathGuid     gEfiDebugPortProtocolGuid
> 
> And instead, have a proper declaration of the externs for these 2 GUIDs.  
> This also means the INF files that only list the Debug Port Protocol Guid 
> will have to be updated to list all of the Debug Port related guids the 
> module uses or the build will break.
> 

Works for me.

> 2) The GUID values for the SAL services are defined in 
> ExtendedSalServiceClasses.h because those are the defines used to make ESAL 
> calls.  We never use the &GuidCName when making an ESAL call.  Instead, the 
> GUID HI and GUID LO values are used in two 64-bit parameters to pass the GUID 
> by value instead of by reference to avoid the physical/virtual issues with 
> pointers in ESAL calls Itanium.  Since the &GuidCName form should never be 
> used in C code, it did not make sense to declare the GuidCName for these 
> GUIDs in the .h file.  This breaks the build if a developer ever attempts to 
> use &GuidCName form.
> 

Thanks, it seems this knowledge has bit rotted out of my brain.....

Thanks,

Andrew

> Best regards,
> 
> Mike
> 
> -----Original Message-----
> From: Andrew Fish [mailto:[email protected]] 
> Sent: Friday, June 21, 2013 10:41 AM
> To: [email protected]
> Subject: [edk2] [MdePkg Maintainer] .DEC questions
> 
> Mike,
> 
> I don't understand why gEfiDebugPortVariableGuid and 
> gEfiDebugPortDevicePathGuid are in the .DEC file since they can not exist in 
> linked code. If you use these GUIDs in the code you need to add 
> gEfiDebugPortProtocolGuid to your INF file to get your code to compile. 
> Adding gEfiDebugPortVariableGuid or gEfiDebugPortDevicePathGuid to an INF 
> file does nothing?
> 
> //
> // DEBUGPORT variable definitions...
> //
> #define EFI_DEBUGPORT_VARIABLE_NAME L"DEBUGPORT"
> #define EFI_DEBUGPORT_VARIABLE_GUID EFI_DEBUGPORT_PROTOCOL_GUID
> #define gEfiDebugPortVariableGuid   gEfiDebugPortProtocolGuid
> //
> // DebugPort device path definitions...
> //
> #define DEVICE_PATH_MESSAGING_DEBUGPORT EFI_DEBUGPORT_PROTOCOL_GUID
> #define gEfiDebugPortDevicePathGuid     gEfiDebugPortProtocolGuid
> 
> Also the following GUIDs only exist in the .dec and they are not define in 
> Include/Protocol/ExtendedSalServiceClasses.h. 
>     gEfiExtendedSalBaseIoServicesProtocolGuid 
>     gEfiExtendedSalStallServicesProtocolGuid 
>     gEfiExtendedSalRtcServicesProtocolGuid 
>     gEfiExtendedSalVariableServicesProtocolGuid 
>     gEfiExtendedSalMtcServicesProtocolGuid 
>     gEfiExtendedSalResetServicesProtocolGuid 
>     gEfiExtendedSalStatusCodeServicesProtocolGuid 
>     gEfiExtendedSalFvBlockServicesProtocolGuid 
>     gEfiExtendedSalMpServicesProtocolGuid 
>     gEfiExtendedSalPalServicesProtocolGuid 
>     gEfiExtendedSalBaseServicesProtocolGuid 
>     gEfiExtendedSalMcaServicesProtocolGuid 
>     gEfiExtendedSalPciServicesProtocolGuid 
>     gEfiExtendedSalCacheServicesProtocolGuid 
>     gEfiExtendedSalMcaLogServicesProtocolGuid 
> 
> Is there some reason for this? 
> 
> 
> Thanks,
> 
> Andrew Fish
> 
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
> 
> Build for Windows Store.
> 
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to