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.k...@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.k...@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