diff options
Diffstat (limited to 'src/arch/arm32')
| -rw-r--r-- | src/arch/arm32/Makefile | 7 | ||||
| -rw-r--r-- | src/arch/arm32/Makefile.efi | 4 | ||||
| -rw-r--r-- | src/arch/arm32/core/setjmp.S | 1 | ||||
| -rw-r--r-- | src/arch/arm32/include/bits/compiler.h | 3 | ||||
| -rw-r--r-- | src/arch/arm32/include/efi/ipxe/dhcp_arch.h | 40 | ||||
| -rw-r--r-- | src/arch/arm32/include/ipxe/efi/dhcparch.h | 20 | ||||
| -rw-r--r-- | src/arch/arm32/libgcc/lldivmod.S | 1 | ||||
| -rw-r--r-- | src/arch/arm32/libgcc/llshift.S | 1 |
8 files changed, 34 insertions, 43 deletions
diff --git a/src/arch/arm32/Makefile b/src/arch/arm32/Makefile index 3a7c09230..0c1cf99d1 100644 --- a/src/arch/arm32/Makefile +++ b/src/arch/arm32/Makefile @@ -5,7 +5,7 @@ SRCDIRS += arch/arm32/libgcc # ARM32-specific flags # -CFLAGS += -mthumb -mcpu=cortex-a15 -mabi=aapcs -mfloat-abi=soft +CFLAGS += -mthumb -mcpu=cortex-a15 -mabi=aapcs CFLAGS += -mword-relocations ASFLAGS += -mthumb -mcpu=cortex-a15 @@ -13,6 +13,11 @@ ASFLAGS += -mthumb -mcpu=cortex-a15 # CFLAGS += -fshort-wchar +# EFI requires that enums are always 32 bits, and nothing else +# currently cares +# +CFLAGS += -fno-short-enums + # Include common ARM Makefile MAKEDEPS += arch/arm/Makefile include arch/arm/Makefile diff --git a/src/arch/arm32/Makefile.efi b/src/arch/arm32/Makefile.efi index e139a055a..d720f34f0 100644 --- a/src/arch/arm32/Makefile.efi +++ b/src/arch/arm32/Makefile.efi @@ -1,8 +1,8 @@ # -*- makefile -*- : Force emacs to use Makefile mode -# UEFI requires that enums are always 32 bits +# EFI uses the soft float ABI # -CFLAGS += -fno-short-enums +CFLAGS += -mfloat-abi=soft # Specify EFI image builder # diff --git a/src/arch/arm32/core/setjmp.S b/src/arch/arm32/core/setjmp.S index 7e7b0fe58..1e9e82029 100644 --- a/src/arch/arm32/core/setjmp.S +++ b/src/arch/arm32/core/setjmp.S @@ -1,5 +1,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ) + .section ".note.GNU-stack", "", %progbits .text .arm diff --git a/src/arch/arm32/include/bits/compiler.h b/src/arch/arm32/include/bits/compiler.h index e420cf922..e119f0445 100644 --- a/src/arch/arm32/include/bits/compiler.h +++ b/src/arch/arm32/include/bits/compiler.h @@ -8,6 +8,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); #ifndef ASSEMBLY +/** Unprefixed constant operand modifier */ +#define ASM_NO_PREFIX "c" + #define __asmcall #define __libgcc diff --git a/src/arch/arm32/include/efi/ipxe/dhcp_arch.h b/src/arch/arm32/include/efi/ipxe/dhcp_arch.h deleted file mode 100644 index 29a235944..000000000 --- a/src/arch/arm32/include/efi/ipxe/dhcp_arch.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright (C) 2015 Michael Brown <mbrown@fensystems.co.uk>. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - * - * You can also choose to distribute this program under the terms of - * the Unmodified Binary Distribution Licence (as given in the file - * COPYING.UBDL), provided that you have satisfied its requirements. - */ - -#ifndef _DHCP_ARCH_H -#define _DHCP_ARCH_H - -/** @file - * - * Architecture-specific DHCP options - */ - -FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); - -#include <ipxe/dhcp.h> - -#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_CLIENT_ARCHITECTURE_ARM32 - -#define DHCP_ARCH_CLIENT_NDI 1 /* UNDI */ , 3, 10 /* v3.10 */ - -#endif diff --git a/src/arch/arm32/include/ipxe/efi/dhcparch.h b/src/arch/arm32/include/ipxe/efi/dhcparch.h new file mode 100644 index 000000000..0b669992c --- /dev/null +++ b/src/arch/arm32/include/ipxe/efi/dhcparch.h @@ -0,0 +1,20 @@ +#ifndef _IPXE_EFI_DHCPARCH_H +#define _IPXE_EFI_DHCPARCH_H + +/** @file + * + * DHCP client architecture definitions + * + */ + +FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); + +#include <ipxe/dhcp.h> + +/** DHCP client architecture */ +#define DHCP_ARCH_CLIENT_ARCHITECTURE DHCP_CLIENT_ARCHITECTURE_ARM32 + +/** DHCP client network device interface */ +#define DHCP_ARCH_CLIENT_NDI 1 /* UNDI */ , 3, 10 /* v3.10 */ + +#endif /* _IPXE_EFI_DHCPARCH_H */ diff --git a/src/arch/arm32/libgcc/lldivmod.S b/src/arch/arm32/libgcc/lldivmod.S index 910be4b78..746fa8fde 100644 --- a/src/arch/arm32/libgcc/lldivmod.S +++ b/src/arch/arm32/libgcc/lldivmod.S @@ -1,5 +1,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ) + .section ".note.GNU-stack", "", %progbits .text .thumb diff --git a/src/arch/arm32/libgcc/llshift.S b/src/arch/arm32/libgcc/llshift.S index cc16e2615..c1b51e778 100644 --- a/src/arch/arm32/libgcc/llshift.S +++ b/src/arch/arm32/libgcc/llshift.S @@ -1,5 +1,6 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ) + .section ".note.GNU-stack", "", %progbits .text .arm |
