diff mbox series

[edk2] MdePkg/Uefi ARM: only support native ARM/Thumb images

Message ID 20171208155514.18926-1-ard.biesheuvel@linaro.org
State Accepted
Commit 3b3c009a25543bf709267982b2583dd486d4d24d
Headers show
Series [edk2] MdePkg/Uefi ARM: only support native ARM/Thumb images | expand

Commit Message

Ard Biesheuvel Dec. 8, 2017, 3:55 p.m. UTC
The ARM calling convention is fundamentally incompatible with EBC,
and having a cross compatible machine type identical to the native
type does not make a lot of sense either. So restrict the compatible
machine type for ARM to EFI_IMAGE_MACHINE_ARMTHUMB_MIXED, and remove
the cross compatible.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

---
 MdePkg/Include/Uefi/UefiBaseType.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

-- 
2.11.0

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Comments

Leif Lindholm Dec. 8, 2017, 4:57 p.m. UTC | #1
On Fri, Dec 08, 2017 at 03:55:14PM +0000, Ard Biesheuvel wrote:
> The ARM calling convention is fundamentally incompatible with EBC,

> and having a cross compatible machine type identical to the native

> type does not make a lot of sense either. So restrict the compatible

> machine type for ARM to EFI_IMAGE_MACHINE_ARMTHUMB_MIXED, and remove

> the cross compatible.

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>


Looks reasonable.
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>


> ---

>  MdePkg/Include/Uefi/UefiBaseType.h | 5 ++---

>  1 file changed, 2 insertions(+), 3 deletions(-)

> 

> diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h

> index 728a0472602a..d9556cd2ec4e 100644

> --- a/MdePkg/Include/Uefi/UefiBaseType.h

> +++ b/MdePkg/Include/Uefi/UefiBaseType.h

> @@ -270,10 +270,9 @@ typedef union {

>  

>  #elif defined (MDE_CPU_ARM)

>  

> -#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \

> -  (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))

> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)

>  

> -#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) 

> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)

>  

>  #elif defined (MDE_CPU_AARCH64)

>  

> -- 

> 2.11.0

> 

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Gao, Liming Dec. 10, 2017, 1:30 p.m. UTC | #2
Reviewed-by: Liming Gao <liming.gao@intel.com>


> -----Original Message-----

> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ard Biesheuvel

> Sent: Friday, December 8, 2017 11:55 PM

> To: edk2-devel@lists.01.org

> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; leif.lindholm@linaro.org; Ard Biesheuvel

> <ard.biesheuvel@linaro.org>

> Subject: [edk2] [PATCH] MdePkg/Uefi ARM: only support native ARM/Thumb images

> 

> The ARM calling convention is fundamentally incompatible with EBC,

> and having a cross compatible machine type identical to the native

> type does not make a lot of sense either. So restrict the compatible

> machine type for ARM to EFI_IMAGE_MACHINE_ARMTHUMB_MIXED, and remove

> the cross compatible.

> 

> Contributed-under: TianoCore Contribution Agreement 1.1

> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---

>  MdePkg/Include/Uefi/UefiBaseType.h | 5 ++---

>  1 file changed, 2 insertions(+), 3 deletions(-)

> 

> diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h

> index 728a0472602a..d9556cd2ec4e 100644

> --- a/MdePkg/Include/Uefi/UefiBaseType.h

> +++ b/MdePkg/Include/Uefi/UefiBaseType.h

> @@ -270,10 +270,9 @@ typedef union {

> 

>  #elif defined (MDE_CPU_ARM)

> 

> -#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \

> -  (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))

> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)

> 

> -#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)

> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)

> 

>  #elif defined (MDE_CPU_AARCH64)

> 

> --

> 2.11.0

> 

> _______________________________________________

> edk2-devel mailing list

> edk2-devel@lists.01.org

> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Ard Biesheuvel Dec. 11, 2017, 6:05 p.m. UTC | #3
On 10 December 2017 at 13:30, Gao, Liming <liming.gao@intel.com> wrote:
> Reviewed-by: Liming Gao <liming.gao@intel.com>

>


Thanks. Pushed as 3b3c009a25543bf709267982b2583dd486d4d24d

>> -----Original Message-----

>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Ard Biesheuvel

>> Sent: Friday, December 8, 2017 11:55 PM

>> To: edk2-devel@lists.01.org

>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>; leif.lindholm@linaro.org; Ard Biesheuvel

>> <ard.biesheuvel@linaro.org>

>> Subject: [edk2] [PATCH] MdePkg/Uefi ARM: only support native ARM/Thumb images

>>

>> The ARM calling convention is fundamentally incompatible with EBC,

>> and having a cross compatible machine type identical to the native

>> type does not make a lot of sense either. So restrict the compatible

>> machine type for ARM to EFI_IMAGE_MACHINE_ARMTHUMB_MIXED, and remove

>> the cross compatible.

>>

>> Contributed-under: TianoCore Contribution Agreement 1.1

>> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

>> ---

>>  MdePkg/Include/Uefi/UefiBaseType.h | 5 ++---

>>  1 file changed, 2 insertions(+), 3 deletions(-)

>>

>> diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h

>> index 728a0472602a..d9556cd2ec4e 100644

>> --- a/MdePkg/Include/Uefi/UefiBaseType.h

>> +++ b/MdePkg/Include/Uefi/UefiBaseType.h

>> @@ -270,10 +270,9 @@ typedef union {

>>

>>  #elif defined (MDE_CPU_ARM)

>>

>> -#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \

>> -  (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))

>> +#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)

>>

>> -#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)

>> +#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)

>>

>>  #elif defined (MDE_CPU_AARCH64)

>>

>> --

>> 2.11.0

>>

>> _______________________________________________

>> edk2-devel mailing list

>> edk2-devel@lists.01.org

>> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
diff mbox series

Patch

diff --git a/MdePkg/Include/Uefi/UefiBaseType.h b/MdePkg/Include/Uefi/UefiBaseType.h
index 728a0472602a..d9556cd2ec4e 100644
--- a/MdePkg/Include/Uefi/UefiBaseType.h
+++ b/MdePkg/Include/Uefi/UefiBaseType.h
@@ -270,10 +270,9 @@  typedef union {
 
 #elif defined (MDE_CPU_ARM)
 
-#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \
-  (((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) || ((Machine) == EFI_IMAGE_MACHINE_EBC))
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED)
 
-#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_ARMTHUMB_MIXED) 
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE)
 
 #elif defined (MDE_CPU_AARCH64)