diff options
| author | Tom Rini <[email protected]> | 2021-04-20 07:32:04 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2021-04-20 07:32:04 -0400 |
| commit | 842d049be23976ebcbb2522fa8d752d3aae8631a (patch) | |
| tree | ca4ff1ffa3d447d51e945ce4cd9f75f6e80babe9 /arch | |
| parent | eed05148c261e3b5f00b11a7a14bf0222b80a0ac (diff) | |
| parent | 4e9bce12432492aa7a7c2121d9fae1640606ace5 (diff) | |
Merge branch '2021-04-20-assorted-improvements'
- ARM64 GIC fix, CONFIG_IRQ now moved to Kconfig
- IDE, lz4 fixes
- octeontx cleanups / enhancements
- highbank DM migration
- psci updates
- Enable use of -fstack-protector
Diffstat (limited to 'arch')
| -rw-r--r-- | arch/Kconfig | 3 | ||||
| -rw-r--r-- | arch/arm/Kconfig | 12 | ||||
| -rw-r--r-- | arch/arm/config.mk | 3 | ||||
| -rw-r--r-- | arch/arm/lib/gic-v3-its.c | 12 | ||||
| -rw-r--r-- | arch/riscv/lib/Makefile | 1 | ||||
| -rw-r--r-- | arch/x86/config.mk | 10 |
6 files changed, 33 insertions, 8 deletions
diff --git a/arch/Kconfig b/arch/Kconfig index dd1ff9d963f..e61a7528baf 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -120,6 +120,7 @@ config SANDBOX select SPI select SUPPORT_OF_CONTROL select SYSRESET_CMD_POWEROFF + select IRQ imply BITREVERSE select BLOBLIST imply CMD_DM @@ -185,6 +186,7 @@ config X86 select TIMER select USE_PRIVATE_LIBGCC select X86_TSC_TIMER + select IRQ imply HAS_ROM if X86_RESET_VECTOR imply BLK imply CMD_DM @@ -215,7 +217,6 @@ config X86 imply USB_HOST_ETHER imply PCH imply RTC_MC146818 - imply IRQ imply ACPIGEN if !QEMU imply SYSINFO if GENERATE_SMBIOS_TABLE imply SYSINFO_SMBIOS if GENERATE_SMBIOS_TABLE diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index b39b043efe3..31d687ea011 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -67,6 +67,7 @@ config GIC_V3_ITS bool "ARM GICV3 ITS" select REGMAP select SYSCON + select IRQ help ARM GICV3 Interrupt translation service (ITS). Basic support for programming locality specific peripheral @@ -710,7 +711,16 @@ config ARCH_S5PC1XX config ARCH_HIGHBANK bool "Calxeda Highbank" select CPU_V7A - select PL011_SERIAL + select PL01X_SERIAL + select DM + select DM_SERIAL + select OF_CONTROL + select OF_BOARD + select CLK + select CLK_CCF + select AHCI + select DM_ETH + select PHYS_64BIT config ARCH_INTEGRATOR bool "ARM Ltd. Integrator family" diff --git a/arch/arm/config.mk b/arch/arm/config.mk index 4153f7e3713..e79f0104b92 100644 --- a/arch/arm/config.mk +++ b/arch/arm/config.mk @@ -11,7 +11,8 @@ CONFIG_STANDALONE_LOAD_ADDR = 0xc100000 endif endif -CFLAGS_NON_EFI := -fno-pic -ffixed-r9 -ffunction-sections -fdata-sections +CFLAGS_NON_EFI := -fno-pic -ffixed-r9 -ffunction-sections -fdata-sections \ + -fstack-protector-strong CFLAGS_EFI := -fpic -fshort-wchar LDFLAGS_FINAL += --gc-sections diff --git a/arch/arm/lib/gic-v3-its.c b/arch/arm/lib/gic-v3-its.c index f5a921b3d1b..2d3fdb600eb 100644 --- a/arch/arm/lib/gic-v3-its.c +++ b/arch/arm/lib/gic-v3-its.c @@ -3,6 +3,7 @@ * Copyright 2019 Broadcom. */ #include <common.h> +#include <cpu_func.h> #include <dm.h> #include <regmap.h> #include <syscon.h> @@ -108,6 +109,8 @@ int gic_lpi_tables_init(void) int i; u64 redist_lpi_base; u64 pend_base; + ulong pend_tab_total_sz; + void *pend_tab_va; if (gic_v3_its_get_gic_addr(&priv)) return -EINVAL; @@ -161,6 +164,12 @@ int gic_lpi_tables_init(void) } redist_lpi_base = priv.lpi_base + LPI_PROPBASE_SZ; + pend_tab_total_sz = priv.num_redist * LPI_PENDBASE_SZ; + pend_tab_va = map_physmem(redist_lpi_base, pend_tab_total_sz, + MAP_NOCACHE); + memset(pend_tab_va, 0, pend_tab_total_sz); + flush_cache((ulong)pend_tab_va, pend_tab_total_sz); + unmap_physmem(pend_tab_va, MAP_NOCACHE); pend_base = priv.gicr_base + GICR_PENDBASER; for (i = 0; i < priv.num_redist; i++) { @@ -168,7 +177,8 @@ int gic_lpi_tables_init(void) val = ((redist_lpi_base + (i * LPI_PENDBASE_SZ)) | GICR_PENDBASER_INNERSHAREABLE | - GICR_PENDBASER_RAWAWB); + GICR_PENDBASER_RAWAWB | + GICR_PENDBASER_PTZ); writeq(val, (uintptr_t)(pend_base + offset)); tmp = readq((uintptr_t)(pend_base + offset)); diff --git a/arch/riscv/lib/Makefile b/arch/riscv/lib/Makefile index ff0677aa966..d08cbe9b79d 100644 --- a/arch/riscv/lib/Makefile +++ b/arch/riscv/lib/Makefile @@ -27,6 +27,7 @@ obj-$(CONFIG_SPL_BUILD) += spl.o obj-y += fdt_fixup.o # For building EFI apps +CFLAGS_NON_EFI := -fstack-protector-strong CFLAGS_$(EFI_CRT0) := $(CFLAGS_EFI) CFLAGS_REMOVE_$(EFI_CRT0) := $(CFLAGS_NON_EFI) diff --git a/arch/x86/config.mk b/arch/x86/config.mk index 27d8412661f..7a8242562db 100644 --- a/arch/x86/config.mk +++ b/arch/x86/config.mk @@ -39,10 +39,10 @@ LDFLAGS_EFI_PAYLOAD := -Bsymbolic -Bsymbolic-functions -shared --no-undefined -s OBJCOPYFLAGS_EFI := -j .text -j .sdata -j .data -j .dynamic -j .dynsym \ -j .rel -j .rela -j .reloc -ifeq ($(IS_32BIT),y) -CFLAGS_NON_EFI := -mregparm=3 -endif +# Compiler flags to be added when building UEFI applications CFLAGS_EFI := -fpic -fshort-wchar +# Compiler flags to be removed when building UEFI applications +CFLAGS_NON_EFI := -mregparm=3 -fstack-protector-strong ifeq ($(CONFIG_EFI_STUB_64BIT),) CFLAGS_EFI += $(call cc-option, -mno-red-zone) @@ -70,7 +70,9 @@ LDSCRIPT := $(LDSCRIPT_EFI) else -PLATFORM_CPPFLAGS += $(CFLAGS_NON_EFI) +ifeq ($(IS_32BIT),y) +PLATFORM_CPPFLAGS += -mregparm=3 +endif KBUILD_LDFLAGS += --emit-relocs LDFLAGS_FINAL += --gc-sections $(if $(CONFIG_SPL_BUILD),,-pie) |
