Message ID | 20181106175833.26964-19-ard.biesheuvel@linaro.org |
---|---|
State | New |
Headers | show |
Series | IntelUndiPkg/GigUndiDxe: build fixes for AARCH64/ARM/GCC | expand |
I'm going through all the protocols we have defined/used and in Decode.c/h there's [E1000]UndiApiEntry for PXE/UNDI callbacks. I've tested an X64 GCC build under OVMF and these calls were broken due to mismatched calling conventions. Did this work correctly for your builds on your platforms? Reviewed-by: Ryszard Knop <ryszard.knop@linux.intel.com> On Tue, 2018-11-06 at 18:58 +0100, ard.biesheuvela wrote: > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org> > --- > IntelUndiPkg/GigUndiDxe/AdapterInformation.c | 3 +++ > IntelUndiPkg/GigUndiDxe/ComponentName.c | 2 ++ > IntelUndiPkg/GigUndiDxe/ComponentName.h | 1 + > IntelUndiPkg/GigUndiDxe/DriverConfiguration.c | 3 +++ > IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c | 1 + > IntelUndiPkg/GigUndiDxe/DriverHealth.c | 2 ++ > IntelUndiPkg/GigUndiDxe/StartStop.c | 2 ++ > 7 files changed, 14 insertions(+) > > diff --git a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > index 8918c538e447..1cece79911b1 100644 > --- a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > +++ b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > @@ -123,6 +123,7 @@ GetIpv6SupportInformationBlock ( > **/ > STATIC > EFI_STATUS > +EFIAPI > GetInformation ( > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > IN EFI_GUID * InformationType, > @@ -188,6 +189,7 @@ GetInformation ( > **/ > STATIC > EFI_STATUS > +EFIAPI > SetInformation ( > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > IN EFI_GUID * InformationType, > @@ -234,6 +236,7 @@ SetInformation ( > **/ > STATIC > EFI_STATUS > +EFIAPI > GetSupportedTypes ( > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > OUT EFI_GUID ** InfoTypesBuffer, > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.c > b/IntelUndiPkg/GigUndiDxe/ComponentName.c > index 70baf00f4a5d..2bf9bbfbe0e4 100644 > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.c > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.c > @@ -112,6 +112,7 @@ ComponentNameInitializeControllerName ( > language specified by Language. > **/ > EFI_STATUS > +EFIAPI > ComponentNameGetDriverName ( > IN EFI_COMPONENT_NAME_PROTOCOL *This, > IN CHAR8 * Language, > @@ -182,6 +183,7 @@ ComponentNameGetDriverName ( > language specified by Language. > **/ > EFI_STATUS > +EFIAPI > ComponentNameGetControllerName ( > IN EFI_COMPONENT_NAME_PROTOCOL > * This, > IN EFI_HANDLE Co > ntrollerHandle, > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.h > b/IntelUndiPkg/GigUndiDxe/ComponentName.h > index 5a3d414c6970..0b93a5410fc0 100644 > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.h > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.h > @@ -65,6 +65,7 @@ ComponentNameInitializeControllerName ( > language specified by Language. > **/ > EFI_STATUS > +EFIAPI > ComponentNameGetDriverName ( > IN EFI_COMPONENT_NAME_PROTOCOL *This, > IN CHAR8 * Language, > diff --git a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > index 20d40ab672ef..99e086d81044 100644 > --- a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > +++ b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > @@ -310,6 +310,7 @@ GigUndiDriverConfigurationDisplayMenu ( > @retval EFI_SUCCESS Configuration was successful > **/ > EFI_STATUS > +EFIAPI > GigUndiDriverConfigurationSetOptions ( > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > IN EFI_HANDLE ControllerHandle, > @@ -418,6 +419,7 @@ GigUndiDriverConfigurationSetOptions ( > @retval EFI_SUCCESS Always returned > **/ > EFI_STATUS > +EFIAPI > GigUndiDriverConfigurationOptionsValid ( > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > IN EFI_HANDLE ControllerHandle, > @@ -442,6 +444,7 @@ GigUndiDriverConfigurationOptionsValid ( > @retval EFI_SUCCESS Configuration was successful > **/ > EFI_STATUS > +EFIAPI > GigUndiDriverConfigurationForceDefaults ( > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > IN > EFI_HANDLE ControllerHandl > e, > diff --git a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > index aceb015e480f..f6152cd24c59 100644 > --- a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > +++ b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > @@ -1394,6 +1394,7 @@ Error: > ChildHandle did not pass the > diagnostic. > **/ > EFI_STATUS > +EFIAPI > GigUndiDriverDiagnosticsRunDiagnostics ( > IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * This, > IN EFI_HANDLE ControllerHandle, > diff --git a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > index b5b7db5fd814..ea306843679a 100644 > --- a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > +++ b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY OF SUCH DAMAGE. > @retval !EFI_SUCCESS Failure to retrieve health status > **/ > EFI_STATUS > +EFIAPI > GetHealthStatus ( > IN EFI_DRIVER_HEALTH_PROTOCOL * This, > IN EFI_HANDLE ControllerHandle, OPTIONAL > @@ -119,6 +120,7 @@ GetHealthStatus ( > @retval EFI_UNSUPPORTED This function is unsupported > **/ > EFI_STATUS > +EFIAPI > Repair ( > IN EFI_DRIVER_HEALTH_PROTOCOL *This, > IN EFI_HANDLE ControllerHandle, > diff --git a/IntelUndiPkg/GigUndiDxe/StartStop.c > b/IntelUndiPkg/GigUndiDxe/StartStop.c > index 32bed7ce288d..a788da247e6d 100644 > --- a/IntelUndiPkg/GigUndiDxe/StartStop.c > +++ b/IntelUndiPkg/GigUndiDxe/StartStop.c > @@ -38,6 +38,7 @@ EFI_GUID gEfiStartStopProtocolGuid = > EFI_DRIVER_STOP_PROTOCOL_GUID; > @retval EFI_SUCCESS Driver is stopped successfully > **/ > EFI_STATUS > +EFIAPI > StopDriver ( > IN EFI_DRIVER_STOP_PROTOCOL *This > ) > @@ -62,6 +63,7 @@ StopDriver ( > @retval EFI_SUCCESS If driver has restarted successfully > **/ > EFI_STATUS > +EFIAPI > StartDriver ( > IN EFI_DRIVER_STOP_PROTOCOL *This > ) _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On Wed, 30 Jan 2019 at 16:15, Ryszard Knop <ryszard.knop@linux.intel.com> wrote: > > I'm going through all the protocols we have defined/used and in > Decode.c/h there's [E1000]UndiApiEntry for PXE/UNDI callbacks. I've > tested an X64 GCC build under OVMF and these calls were broken due to > mismatched calling conventions. Did this work correctly for your builds > on your platforms? > Do you mean the builds were broken? Or the resulting builds didn't work? In any case, that issue only exists on X64, since there are different SysV and MS calling conventions. and GCC uses the former by default. On ARM, there is no such difference. > Reviewed-by: Ryszard Knop <ryszard.knop@linux.intel.com> > > On Tue, 2018-11-06 at 18:58 +0100, ard.biesheuvela wrote: > > Contributed-under: TianoCore Contribution Agreement 1.1 > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org> > > --- > > IntelUndiPkg/GigUndiDxe/AdapterInformation.c | 3 +++ > > IntelUndiPkg/GigUndiDxe/ComponentName.c | 2 ++ > > IntelUndiPkg/GigUndiDxe/ComponentName.h | 1 + > > IntelUndiPkg/GigUndiDxe/DriverConfiguration.c | 3 +++ > > IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c | 1 + > > IntelUndiPkg/GigUndiDxe/DriverHealth.c | 2 ++ > > IntelUndiPkg/GigUndiDxe/StartStop.c | 2 ++ > > 7 files changed, 14 insertions(+) > > > > diff --git a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > index 8918c538e447..1cece79911b1 100644 > > --- a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > +++ b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > @@ -123,6 +123,7 @@ GetIpv6SupportInformationBlock ( > > **/ > > STATIC > > EFI_STATUS > > +EFIAPI > > GetInformation ( > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > IN EFI_GUID * InformationType, > > @@ -188,6 +189,7 @@ GetInformation ( > > **/ > > STATIC > > EFI_STATUS > > +EFIAPI > > SetInformation ( > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > IN EFI_GUID * InformationType, > > @@ -234,6 +236,7 @@ SetInformation ( > > **/ > > STATIC > > EFI_STATUS > > +EFIAPI > > GetSupportedTypes ( > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > OUT EFI_GUID ** InfoTypesBuffer, > > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.c > > b/IntelUndiPkg/GigUndiDxe/ComponentName.c > > index 70baf00f4a5d..2bf9bbfbe0e4 100644 > > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.c > > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.c > > @@ -112,6 +112,7 @@ ComponentNameInitializeControllerName ( > > language specified by Language. > > **/ > > EFI_STATUS > > +EFIAPI > > ComponentNameGetDriverName ( > > IN EFI_COMPONENT_NAME_PROTOCOL *This, > > IN CHAR8 * Language, > > @@ -182,6 +183,7 @@ ComponentNameGetDriverName ( > > language specified by Language. > > **/ > > EFI_STATUS > > +EFIAPI > > ComponentNameGetControllerName ( > > IN EFI_COMPONENT_NAME_PROTOCOL > > * This, > > IN EFI_HANDLE Co > > ntrollerHandle, > > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.h > > b/IntelUndiPkg/GigUndiDxe/ComponentName.h > > index 5a3d414c6970..0b93a5410fc0 100644 > > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.h > > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.h > > @@ -65,6 +65,7 @@ ComponentNameInitializeControllerName ( > > language specified by Language. > > **/ > > EFI_STATUS > > +EFIAPI > > ComponentNameGetDriverName ( > > IN EFI_COMPONENT_NAME_PROTOCOL *This, > > IN CHAR8 * Language, > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > index 20d40ab672ef..99e086d81044 100644 > > --- a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > +++ b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > @@ -310,6 +310,7 @@ GigUndiDriverConfigurationDisplayMenu ( > > @retval EFI_SUCCESS Configuration was successful > > **/ > > EFI_STATUS > > +EFIAPI > > GigUndiDriverConfigurationSetOptions ( > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > IN EFI_HANDLE ControllerHandle, > > @@ -418,6 +419,7 @@ GigUndiDriverConfigurationSetOptions ( > > @retval EFI_SUCCESS Always returned > > **/ > > EFI_STATUS > > +EFIAPI > > GigUndiDriverConfigurationOptionsValid ( > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > IN EFI_HANDLE ControllerHandle, > > @@ -442,6 +444,7 @@ GigUndiDriverConfigurationOptionsValid ( > > @retval EFI_SUCCESS Configuration was successful > > **/ > > EFI_STATUS > > +EFIAPI > > GigUndiDriverConfigurationForceDefaults ( > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > IN > > EFI_HANDLE ControllerHandl > > e, > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > index aceb015e480f..f6152cd24c59 100644 > > --- a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > +++ b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > @@ -1394,6 +1394,7 @@ Error: > > ChildHandle did not pass the > > diagnostic. > > **/ > > EFI_STATUS > > +EFIAPI > > GigUndiDriverDiagnosticsRunDiagnostics ( > > IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * This, > > IN EFI_HANDLE ControllerHandle, > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > index b5b7db5fd814..ea306843679a 100644 > > --- a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > +++ b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE > > POSSIBILITY OF SUCH DAMAGE. > > @retval !EFI_SUCCESS Failure to retrieve health status > > **/ > > EFI_STATUS > > +EFIAPI > > GetHealthStatus ( > > IN EFI_DRIVER_HEALTH_PROTOCOL * This, > > IN EFI_HANDLE ControllerHandle, OPTIONAL > > @@ -119,6 +120,7 @@ GetHealthStatus ( > > @retval EFI_UNSUPPORTED This function is unsupported > > **/ > > EFI_STATUS > > +EFIAPI > > Repair ( > > IN EFI_DRIVER_HEALTH_PROTOCOL *This, > > IN EFI_HANDLE ControllerHandle, > > diff --git a/IntelUndiPkg/GigUndiDxe/StartStop.c > > b/IntelUndiPkg/GigUndiDxe/StartStop.c > > index 32bed7ce288d..a788da247e6d 100644 > > --- a/IntelUndiPkg/GigUndiDxe/StartStop.c > > +++ b/IntelUndiPkg/GigUndiDxe/StartStop.c > > @@ -38,6 +38,7 @@ EFI_GUID gEfiStartStopProtocolGuid = > > EFI_DRIVER_STOP_PROTOCOL_GUID; > > @retval EFI_SUCCESS Driver is stopped successfully > > **/ > > EFI_STATUS > > +EFIAPI > > StopDriver ( > > IN EFI_DRIVER_STOP_PROTOCOL *This > > ) > > @@ -62,6 +63,7 @@ StopDriver ( > > @retval EFI_SUCCESS If driver has restarted successfully > > **/ > > EFI_STATUS > > +EFIAPI > > StartDriver ( > > IN EFI_DRIVER_STOP_PROTOCOL *This > > ) > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Builds were fine, the result didn't work. Adding proper EFIAPIs fixed that, so should be okay everywhere. On Wed, 2019-01-30 at 16:20 +0100, Ard Biesheuvel wrote: > On Wed, 30 Jan 2019 at 16:15, Ryszard Knop < > ryszard.knop@linux.intel.com> wrote: > > I'm going through all the protocols we have defined/used and in > > Decode.c/h there's [E1000]UndiApiEntry for PXE/UNDI callbacks. I've > > tested an X64 GCC build under OVMF and these calls were broken due > > to > > mismatched calling conventions. Did this work correctly for your > > builds > > on your platforms? > > > > Do you mean the builds were broken? Or the resulting builds didn't > work? > > In any case, that issue only exists on X64, since there are different > SysV and MS calling conventions. and GCC uses the former by default. > On ARM, there is no such difference. > > > Reviewed-by: Ryszard Knop <ryszard.knop@linux.intel.com> > > > > On Tue, 2018-11-06 at 18:58 +0100, ard.biesheuvela wrote: > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org> > > > --- > > > IntelUndiPkg/GigUndiDxe/AdapterInformation.c | 3 +++ > > > IntelUndiPkg/GigUndiDxe/ComponentName.c | 2 ++ > > > IntelUndiPkg/GigUndiDxe/ComponentName.h | 1 + > > > IntelUndiPkg/GigUndiDxe/DriverConfiguration.c | 3 +++ > > > IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c | 1 + > > > IntelUndiPkg/GigUndiDxe/DriverHealth.c | 2 ++ > > > IntelUndiPkg/GigUndiDxe/StartStop.c | 2 ++ > > > 7 files changed, 14 insertions(+) > > > > > > diff --git a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > index 8918c538e447..1cece79911b1 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > +++ b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > @@ -123,6 +123,7 @@ GetIpv6SupportInformationBlock ( > > > **/ > > > STATIC > > > EFI_STATUS > > > +EFIAPI > > > GetInformation ( > > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > > IN EFI_GUID * InformationType, > > > @@ -188,6 +189,7 @@ GetInformation ( > > > **/ > > > STATIC > > > EFI_STATUS > > > +EFIAPI > > > SetInformation ( > > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > > IN EFI_GUID * InformationType, > > > @@ -234,6 +236,7 @@ SetInformation ( > > > **/ > > > STATIC > > > EFI_STATUS > > > +EFIAPI > > > GetSupportedTypes ( > > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > > OUT EFI_GUID ** InfoTypesBuffer, > > > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > b/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > index 70baf00f4a5d..2bf9bbfbe0e4 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > @@ -112,6 +112,7 @@ ComponentNameInitializeControllerName ( > > > language specified by > > > Language. > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > ComponentNameGetDriverName ( > > > IN EFI_COMPONENT_NAME_PROTOCOL *This, > > > IN CHAR8 * Language, > > > @@ -182,6 +183,7 @@ ComponentNameGetDriverName ( > > > language specified by > > > Language. > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > ComponentNameGetControllerName ( > > > IN EFI_COMPONENT_NAME_PROTOCOL > > > * This, > > > IN EFI_HANDLE > > > Co > > > ntrollerHandle, > > > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > b/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > index 5a3d414c6970..0b93a5410fc0 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > @@ -65,6 +65,7 @@ ComponentNameInitializeControllerName ( > > > language specified by > > > Language. > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > ComponentNameGetDriverName ( > > > IN EFI_COMPONENT_NAME_PROTOCOL *This, > > > IN CHAR8 * Language, > > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > index 20d40ab672ef..99e086d81044 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > +++ b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > @@ -310,6 +310,7 @@ GigUndiDriverConfigurationDisplayMenu ( > > > @retval EFI_SUCCESS Configuration was successful > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > GigUndiDriverConfigurationSetOptions ( > > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > > IN > > > EFI_HANDLE ControllerHandle, > > > @@ -418,6 +419,7 @@ GigUndiDriverConfigurationSetOptions ( > > > @retval EFI_SUCCESS Always returned > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > GigUndiDriverConfigurationOptionsValid ( > > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > > IN EFI_HANDLE ControllerHandle, > > > @@ -442,6 +444,7 @@ GigUndiDriverConfigurationOptionsValid ( > > > @retval EFI_SUCCESS Configuration was successful > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > GigUndiDriverConfigurationForceDefaults ( > > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > > IN > > > EFI_HANDLE ControllerH > > > andl > > > e, > > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > index aceb015e480f..f6152cd24c59 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > +++ b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > @@ -1394,6 +1394,7 @@ Error: > > > ChildHandle did not pass the > > > diagnostic. > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > GigUndiDriverDiagnosticsRunDiagnostics ( > > > IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * This, > > > IN > > > EFI_HANDLE ControllerHandle, > > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > index b5b7db5fd814..ea306843679a 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > +++ b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE > > > POSSIBILITY OF SUCH DAMAGE. > > > @retval !EFI_SUCCESS Failure to retrieve health > > > status > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > GetHealthStatus ( > > > IN EFI_DRIVER_HEALTH_PROTOCOL * This, > > > IN EFI_HANDLE ControllerHandle, > > > OPTIONAL > > > @@ -119,6 +120,7 @@ GetHealthStatus ( > > > @retval EFI_UNSUPPORTED This function is unsupported > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > Repair ( > > > IN EFI_DRIVER_HEALTH_PROTOCOL *This, > > > IN EFI_HANDLE ControllerHandle > > > , > > > diff --git a/IntelUndiPkg/GigUndiDxe/StartStop.c > > > b/IntelUndiPkg/GigUndiDxe/StartStop.c > > > index 32bed7ce288d..a788da247e6d 100644 > > > --- a/IntelUndiPkg/GigUndiDxe/StartStop.c > > > +++ b/IntelUndiPkg/GigUndiDxe/StartStop.c > > > @@ -38,6 +38,7 @@ EFI_GUID gEfiStartStopProtocolGuid = > > > EFI_DRIVER_STOP_PROTOCOL_GUID; > > > @retval EFI_SUCCESS Driver is stopped successfully > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > StopDriver ( > > > IN EFI_DRIVER_STOP_PROTOCOL *This > > > ) > > > @@ -62,6 +63,7 @@ StopDriver ( > > > @retval EFI_SUCCESS If driver has restarted successfully > > > **/ > > > EFI_STATUS > > > +EFIAPI > > > StartDriver ( > > > IN EFI_DRIVER_STOP_PROTOCOL *This > > > ) _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
On Wed, 30 Jan 2019 at 16:31, Ryszard Knop <ryszard.knop@linux.intel.com> wrote: > > Builds were fine, the result didn't work. Adding proper EFIAPIs fixed > that, so should be okay everywhere. > Right. No I didn't spot that - I did build tests of all architectures, and boot tests on 64-bit ARM. (I don't have x86 hardware with PCIe slots) > On Wed, 2019-01-30 at 16:20 +0100, Ard Biesheuvel wrote: > > On Wed, 30 Jan 2019 at 16:15, Ryszard Knop < > > ryszard.knop@linux.intel.com> wrote: > > > I'm going through all the protocols we have defined/used and in > > > Decode.c/h there's [E1000]UndiApiEntry for PXE/UNDI callbacks. I've > > > tested an X64 GCC build under OVMF and these calls were broken due > > > to > > > mismatched calling conventions. Did this work correctly for your > > > builds > > > on your platforms? > > > > > > > Do you mean the builds were broken? Or the resulting builds didn't > > work? > > > > In any case, that issue only exists on X64, since there are different > > SysV and MS calling conventions. and GCC uses the former by default. > > On ARM, there is no such difference. > > > > > Reviewed-by: Ryszard Knop <ryszard.knop@linux.intel.com> > > > > > > On Tue, 2018-11-06 at 18:58 +0100, ard.biesheuvela wrote: > > > > Contributed-under: TianoCore Contribution Agreement 1.1 > > > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org> > > > > --- > > > > IntelUndiPkg/GigUndiDxe/AdapterInformation.c | 3 +++ > > > > IntelUndiPkg/GigUndiDxe/ComponentName.c | 2 ++ > > > > IntelUndiPkg/GigUndiDxe/ComponentName.h | 1 + > > > > IntelUndiPkg/GigUndiDxe/DriverConfiguration.c | 3 +++ > > > > IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c | 1 + > > > > IntelUndiPkg/GigUndiDxe/DriverHealth.c | 2 ++ > > > > IntelUndiPkg/GigUndiDxe/StartStop.c | 2 ++ > > > > 7 files changed, 14 insertions(+) > > > > > > > > diff --git a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > > b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > > index 8918c538e447..1cece79911b1 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > > +++ b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c > > > > @@ -123,6 +123,7 @@ GetIpv6SupportInformationBlock ( > > > > **/ > > > > STATIC > > > > EFI_STATUS > > > > +EFIAPI > > > > GetInformation ( > > > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > > > IN EFI_GUID * InformationType, > > > > @@ -188,6 +189,7 @@ GetInformation ( > > > > **/ > > > > STATIC > > > > EFI_STATUS > > > > +EFIAPI > > > > SetInformation ( > > > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > > > IN EFI_GUID * InformationType, > > > > @@ -234,6 +236,7 @@ SetInformation ( > > > > **/ > > > > STATIC > > > > EFI_STATUS > > > > +EFIAPI > > > > GetSupportedTypes ( > > > > IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, > > > > OUT EFI_GUID ** InfoTypesBuffer, > > > > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > > b/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > > index 70baf00f4a5d..2bf9bbfbe0e4 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.c > > > > @@ -112,6 +112,7 @@ ComponentNameInitializeControllerName ( > > > > language specified by > > > > Language. > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > ComponentNameGetDriverName ( > > > > IN EFI_COMPONENT_NAME_PROTOCOL *This, > > > > IN CHAR8 * Language, > > > > @@ -182,6 +183,7 @@ ComponentNameGetDriverName ( > > > > language specified by > > > > Language. > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > ComponentNameGetControllerName ( > > > > IN EFI_COMPONENT_NAME_PROTOCOL > > > > * This, > > > > IN EFI_HANDLE > > > > Co > > > > ntrollerHandle, > > > > diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > > b/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > > index 5a3d414c6970..0b93a5410fc0 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > > +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.h > > > > @@ -65,6 +65,7 @@ ComponentNameInitializeControllerName ( > > > > language specified by > > > > Language. > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > ComponentNameGetDriverName ( > > > > IN EFI_COMPONENT_NAME_PROTOCOL *This, > > > > IN CHAR8 * Language, > > > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > > b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > > index 20d40ab672ef..99e086d81044 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > > +++ b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c > > > > @@ -310,6 +310,7 @@ GigUndiDriverConfigurationDisplayMenu ( > > > > @retval EFI_SUCCESS Configuration was successful > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > GigUndiDriverConfigurationSetOptions ( > > > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > > > IN > > > > EFI_HANDLE ControllerHandle, > > > > @@ -418,6 +419,7 @@ GigUndiDriverConfigurationSetOptions ( > > > > @retval EFI_SUCCESS Always returned > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > GigUndiDriverConfigurationOptionsValid ( > > > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > > > IN EFI_HANDLE ControllerHandle, > > > > @@ -442,6 +444,7 @@ GigUndiDriverConfigurationOptionsValid ( > > > > @retval EFI_SUCCESS Configuration was successful > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > GigUndiDriverConfigurationForceDefaults ( > > > > IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, > > > > IN > > > > EFI_HANDLE ControllerH > > > > andl > > > > e, > > > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > > b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > > index aceb015e480f..f6152cd24c59 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > > +++ b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c > > > > @@ -1394,6 +1394,7 @@ Error: > > > > ChildHandle did not pass the > > > > diagnostic. > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > GigUndiDriverDiagnosticsRunDiagnostics ( > > > > IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * This, > > > > IN > > > > EFI_HANDLE ControllerHandle, > > > > diff --git a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > > b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > > index b5b7db5fd814..ea306843679a 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > > +++ b/IntelUndiPkg/GigUndiDxe/DriverHealth.c > > > > @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE > > > > POSSIBILITY OF SUCH DAMAGE. > > > > @retval !EFI_SUCCESS Failure to retrieve health > > > > status > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > GetHealthStatus ( > > > > IN EFI_DRIVER_HEALTH_PROTOCOL * This, > > > > IN EFI_HANDLE ControllerHandle, > > > > OPTIONAL > > > > @@ -119,6 +120,7 @@ GetHealthStatus ( > > > > @retval EFI_UNSUPPORTED This function is unsupported > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > Repair ( > > > > IN EFI_DRIVER_HEALTH_PROTOCOL *This, > > > > IN EFI_HANDLE ControllerHandle > > > > , > > > > diff --git a/IntelUndiPkg/GigUndiDxe/StartStop.c > > > > b/IntelUndiPkg/GigUndiDxe/StartStop.c > > > > index 32bed7ce288d..a788da247e6d 100644 > > > > --- a/IntelUndiPkg/GigUndiDxe/StartStop.c > > > > +++ b/IntelUndiPkg/GigUndiDxe/StartStop.c > > > > @@ -38,6 +38,7 @@ EFI_GUID gEfiStartStopProtocolGuid = > > > > EFI_DRIVER_STOP_PROTOCOL_GUID; > > > > @retval EFI_SUCCESS Driver is stopped successfully > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > StopDriver ( > > > > IN EFI_DRIVER_STOP_PROTOCOL *This > > > > ) > > > > @@ -62,6 +63,7 @@ StopDriver ( > > > > @retval EFI_SUCCESS If driver has restarted successfully > > > > **/ > > > > EFI_STATUS > > > > +EFIAPI > > > > StartDriver ( > > > > IN EFI_DRIVER_STOP_PROTOCOL *This > > > > ) > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
diff --git a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c index 8918c538e447..1cece79911b1 100644 --- a/IntelUndiPkg/GigUndiDxe/AdapterInformation.c +++ b/IntelUndiPkg/GigUndiDxe/AdapterInformation.c @@ -123,6 +123,7 @@ GetIpv6SupportInformationBlock ( **/ STATIC EFI_STATUS +EFIAPI GetInformation ( IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, IN EFI_GUID * InformationType, @@ -188,6 +189,7 @@ GetInformation ( **/ STATIC EFI_STATUS +EFIAPI SetInformation ( IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, IN EFI_GUID * InformationType, @@ -234,6 +236,7 @@ SetInformation ( **/ STATIC EFI_STATUS +EFIAPI GetSupportedTypes ( IN EFI_ADAPTER_INFORMATION_PROTOCOL *This, OUT EFI_GUID ** InfoTypesBuffer, diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.c b/IntelUndiPkg/GigUndiDxe/ComponentName.c index 70baf00f4a5d..2bf9bbfbe0e4 100644 --- a/IntelUndiPkg/GigUndiDxe/ComponentName.c +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.c @@ -112,6 +112,7 @@ ComponentNameInitializeControllerName ( language specified by Language. **/ EFI_STATUS +EFIAPI ComponentNameGetDriverName ( IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 * Language, @@ -182,6 +183,7 @@ ComponentNameGetDriverName ( language specified by Language. **/ EFI_STATUS +EFIAPI ComponentNameGetControllerName ( IN EFI_COMPONENT_NAME_PROTOCOL * This, IN EFI_HANDLE ControllerHandle, diff --git a/IntelUndiPkg/GigUndiDxe/ComponentName.h b/IntelUndiPkg/GigUndiDxe/ComponentName.h index 5a3d414c6970..0b93a5410fc0 100644 --- a/IntelUndiPkg/GigUndiDxe/ComponentName.h +++ b/IntelUndiPkg/GigUndiDxe/ComponentName.h @@ -65,6 +65,7 @@ ComponentNameInitializeControllerName ( language specified by Language. **/ EFI_STATUS +EFIAPI ComponentNameGetDriverName ( IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 * Language, diff --git a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c index 20d40ab672ef..99e086d81044 100644 --- a/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c +++ b/IntelUndiPkg/GigUndiDxe/DriverConfiguration.c @@ -310,6 +310,7 @@ GigUndiDriverConfigurationDisplayMenu ( @retval EFI_SUCCESS Configuration was successful **/ EFI_STATUS +EFIAPI GigUndiDriverConfigurationSetOptions ( IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, IN EFI_HANDLE ControllerHandle, @@ -418,6 +419,7 @@ GigUndiDriverConfigurationSetOptions ( @retval EFI_SUCCESS Always returned **/ EFI_STATUS +EFIAPI GigUndiDriverConfigurationOptionsValid ( IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, IN EFI_HANDLE ControllerHandle, @@ -442,6 +444,7 @@ GigUndiDriverConfigurationOptionsValid ( @retval EFI_SUCCESS Configuration was successful **/ EFI_STATUS +EFIAPI GigUndiDriverConfigurationForceDefaults ( IN EFI_DRIVER_CONFIGURATION_PROTOCOL * This, IN EFI_HANDLE ControllerHandle, diff --git a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c index aceb015e480f..f6152cd24c59 100644 --- a/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c +++ b/IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c @@ -1394,6 +1394,7 @@ Error: ChildHandle did not pass the diagnostic. **/ EFI_STATUS +EFIAPI GigUndiDriverDiagnosticsRunDiagnostics ( IN EFI_DRIVER_DIAGNOSTICS_PROTOCOL * This, IN EFI_HANDLE ControllerHandle, diff --git a/IntelUndiPkg/GigUndiDxe/DriverHealth.c b/IntelUndiPkg/GigUndiDxe/DriverHealth.c index b5b7db5fd814..ea306843679a 100644 --- a/IntelUndiPkg/GigUndiDxe/DriverHealth.c +++ b/IntelUndiPkg/GigUndiDxe/DriverHealth.c @@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. @retval !EFI_SUCCESS Failure to retrieve health status **/ EFI_STATUS +EFIAPI GetHealthStatus ( IN EFI_DRIVER_HEALTH_PROTOCOL * This, IN EFI_HANDLE ControllerHandle, OPTIONAL @@ -119,6 +120,7 @@ GetHealthStatus ( @retval EFI_UNSUPPORTED This function is unsupported **/ EFI_STATUS +EFIAPI Repair ( IN EFI_DRIVER_HEALTH_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, diff --git a/IntelUndiPkg/GigUndiDxe/StartStop.c b/IntelUndiPkg/GigUndiDxe/StartStop.c index 32bed7ce288d..a788da247e6d 100644 --- a/IntelUndiPkg/GigUndiDxe/StartStop.c +++ b/IntelUndiPkg/GigUndiDxe/StartStop.c @@ -38,6 +38,7 @@ EFI_GUID gEfiStartStopProtocolGuid = EFI_DRIVER_STOP_PROTOCOL_GUID; @retval EFI_SUCCESS Driver is stopped successfully **/ EFI_STATUS +EFIAPI StopDriver ( IN EFI_DRIVER_STOP_PROTOCOL *This ) @@ -62,6 +63,7 @@ StopDriver ( @retval EFI_SUCCESS If driver has restarted successfully **/ EFI_STATUS +EFIAPI StartDriver ( IN EFI_DRIVER_STOP_PROTOCOL *This )
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- IntelUndiPkg/GigUndiDxe/AdapterInformation.c | 3 +++ IntelUndiPkg/GigUndiDxe/ComponentName.c | 2 ++ IntelUndiPkg/GigUndiDxe/ComponentName.h | 1 + IntelUndiPkg/GigUndiDxe/DriverConfiguration.c | 3 +++ IntelUndiPkg/GigUndiDxe/DriverDiagnostics.c | 1 + IntelUndiPkg/GigUndiDxe/DriverHealth.c | 2 ++ IntelUndiPkg/GigUndiDxe/StartStop.c | 2 ++ 7 files changed, 14 insertions(+) -- 2.19.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel