On Wed, 30 Jan 2019 at 16:31, Ryszard Knop <ryszard.k...@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.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