From: Michael Tremer Date: Wed, 4 Feb 2015 12:54:37 +0000 (-0500) Subject: kernel: Add support for aarch64 X-Git-Url: http://git.ipfire.org/?p=ipfire-3.x.git;a=commitdiff_plain;h=d5383c43262515f5d8a6a879ad28785a1ae09dcd kernel: Add support for aarch64 The configuration has been split into arm64 and arm32 subarchitectures and a configuration for aarch64 has been created. Currently, there will be no kernel built as we do not have any hardware to run it on and because it won't compile. --- diff --git a/kernel/config-arm-generic b/kernel/config-arm-generic index 2d1f04e31..69c063131 100644 --- a/kernel/config-arm-generic +++ b/kernel/config-arm-generic @@ -1,9 +1,3 @@ -CONFIG_ARM=y -CONFIG_ARM_HAS_SG_CHAIN=y -CONFIG_MIGHT_HAVE_PCI=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_VECTORS_BASE=0xffff0000 -CONFIG_ARM_PATCH_PHYS_VIRT=y # # IRQ subsystem @@ -11,105 +5,23 @@ CONFIG_ARM_PATCH_PHYS_VIRT=y CONFIG_HARDIRQS_SW_RESEND=y CONFIG_HANDLE_DOMAIN_IRQ=y -# -# Timers subsystem -# -CONFIG_NO_HZ_IDLE=y - # # CPU/Task time and stats accounting # -# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y # # RCU Subsystem # +CONFIG_CONTEXT_TRACKING=y CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_PERF_USE_VMALLOC=y # # Kernel Performance Events And Counters # -CONFIG_GENERIC_IDLE_POLL_SETUP=y -CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y -CONFIG_MODULES_USE_ELF_REL=y CONFIG_CLONE_BACKWARDS=y -CONFIG_OLD_SIGACTION=y - -# -# GCOV-based kernel profiling -# -CONFIG_LBDAF=y - -# -# System Type -# -CONFIG_ARCH_MULTIPLATFORM=y -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_VERSATILE is not set -# CONFIG_ARCH_AT91 is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_GEMINI is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_DOVE is not set -# CONFIG_ARCH_MV78XX0 is not set -# CONFIG_ARCH_ORION5X is not set -# CONFIG_ARCH_MMP is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_W90X900 is not set -# CONFIG_ARCH_LPC32XX is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_MSM is not set -# CONFIG_ARCH_SHMOBILE_LEGACY is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_S3C24XX is not set -# CONFIG_ARCH_S3C64XX is not set -# CONFIG_ARCH_DAVINCI is not set -# CONFIG_ARCH_OMAP1 is not set - -# -# CPU Core family selection -# -# CONFIG_ARCH_MULTI_V6 is not set - -# -# Hisilicon platform type -# -CONFIG_ARCH_MXC=y -# CONFIG_MXC_DEBUG_BOARD is not set - -# -# OMAP Legacy Platform Data Board Type -# -# CONFIG_PLAT_SPEAR is not set - -# -# Processor Type -# -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y - -# -# Processor Features -# -# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set -CONFIG_ARM_THUMB=y -# CONFIG_CPU_BIG_ENDIAN is not set -# CONFIG_CPU_ICACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_DISABLE is not set -CONFIG_KUSER_HELPERS=y -CONFIG_OUTER_CACHE=y -CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y -CONFIG_MULTI_IRQ_HANDLER=y # # Bus support @@ -124,41 +36,28 @@ CONFIG_PCI_SYSCALL=y # # PCI host controller drivers # -CONFIG_PCI_HOST_GENERIC=y -# CONFIG_PCCARD is not set +# CONFIG_PCIE_ECRC is not set +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set # # Kernel Features # -CONFIG_VMSPLIT_3G=y -# CONFIG_VMSPLIT_2G is not set -# CONFIG_VMSPLIT_1G is not set -CONFIG_PAGE_OFFSET=0xC0000000 -CONFIG_AEABI=y -# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set -# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set -CONFIG_HIGHMEM=y -# CONFIG_HIGHPTE is not set +# CONFIG_CPU_BIG_ENDIAN is not set CONFIG_HW_PERF_EVENTS=y -CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y -# CONFIG_PHYS_ADDR_T_64BIT is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 -CONFIG_ALIGNMENT_TRAP=y # # Boot options # -CONFIG_USE_OF=y -CONFIG_ATAGS=y -# CONFIG_DEPRECATED_PARAM_STRUCT is not set -CONFIG_ZBOOT_ROM_TEXT=0 -CONFIG_ZBOOT_ROM_BSS=0 -CONFIG_ARM_APPENDED_DTB=y -CONFIG_CMDLINE_FROM_BOOTLOADER=y -# CONFIG_CMDLINE_EXTEND is not set # CONFIG_CMDLINE_FORCE is not set -CONFIG_AUTO_ZRELADDR=y + +# +# Power management options +# +CONFIG_PM_OPP=y +CONFIG_CPU_PM=y # # CPU Frequency scaling @@ -167,24 +66,6 @@ CONFIG_CPU_FREQ_STAT=y # CONFIG_CPU_FREQ_STAT_DETAILS is not set CONFIG_CPUFREQ_DT=m -# -# ARM CPU frequency scaling drivers -# -CONFIG_ARM_IMX6Q_CPUFREQ=m - -# -# At least one emulation must be selected -# -CONFIG_VFP=y - -# -# Power management options -# -CONFIG_APM_EMULATION=y -CONFIG_PM_OPP=y -CONFIG_CPU_PM=y -CONFIG_ARM_CPU_SUSPEND=y - # # Classification # @@ -202,7 +83,6 @@ CONFIG_BPF_JIT=y # Generic Driver Options # CONFIG_FIRMWARE_IN_KERNEL=y -CONFIG_SOC_BUS=y CONFIG_DMA_CMA=y # @@ -218,7 +98,6 @@ CONFIG_CMA_ALIGNMENT=8 # # Bus devices # -CONFIG_BRCMSTB_GISB_ARB=y # CONFIG_ARM_CCN is not set CONFIG_VEXPRESS_CONFIG=y CONFIG_DTC=y @@ -246,7 +125,6 @@ CONFIG_OF_RESERVED_MEM=y # CONFIG_BLK_DEV_NVME is not set # CONFIG_BLK_DEV_SX8 is not set CONFIG_BLK_DEV_RAM_SIZE=4096 -# CONFIG_MG_DISK is not set # CONFIG_BLK_DEV_RSXX is not set # @@ -268,17 +146,6 @@ CONFIG_AIC94XX_DEBUG=y CONFIG_SCSI_MVSAS_DEBUG=y # CONFIG_SCSI_MVSAS_TASKLET is not set # CONFIG_MEGARAID_NEWGEN is not set -CONFIG_SCSI_NSP32=m - -# -# Controllers with non-SFF native interface -# -CONFIG_AHCI_IMX=m - -# -# PATA SFF controllers with BMDMA -# -CONFIG_PATA_IMX=m # # IEEE 1394 (FireWire) support @@ -304,34 +171,18 @@ CONFIG_AMD_XGBE=m CONFIG_ARC_EMAC_CORE=m CONFIG_ARC_EMAC=m CONFIG_EMAC_ROCKCHIP=m -CONFIG_NET_CADENCE=y CONFIG_BCMGENET=m CONFIG_SYSTEMPORT=m # CONFIG_CHELSIO_T1_1G is not set -CONFIG_NET_VENDOR_CIRRUS=y -CONFIG_CS89x0=m -CONFIG_CS89x0_PLATFORM=y -CONFIG_DM9000=m -# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set # CONFIG_DE2104X is not set # CONFIG_TULIP_MMIO is not set # CONFIG_TULIP_NAPI is not set -CONFIG_NET_VENDOR_FARADAY=y -CONFIG_FTMAC100=m -CONFIG_FTGMAC100=m -CONFIG_NET_VENDOR_FREESCALE=y -CONFIG_FEC=m -CONFIG_NET_VENDOR_HISILICON=y -CONFIG_HIX5HD2_GMAC=m # CONFIG_I40E_VXLAN is not set # CONFIG_SKGE_GENESIS is not set -CONFIG_AX88796=m -CONFIG_AX88796_93CX6=y # CONFIG_QLCNIC_VXLAN is not set CONFIG_8139TOO_PIO=y # CONFIG_8139TOO_8129 is not set CONFIG_SMC91X=m -CONFIG_SMC911X=m # CONFIG_STMMAC_PCI is not set # CONFIG_VIA_RHINE_MMIO is not set @@ -348,23 +199,14 @@ CONFIG_WIL6210_TRACING=y # CONFIG_IPW2200_MONITOR is not set # CONFIG_IPW2200_QOS is not set -# -# Userland interfaces -# -# CONFIG_INPUT_APMPOWER is not set - # # Input Device Drivers # # CONFIG_KEYBOARD_ADP5520 is not set -CONFIG_KEYBOARD_IMX=m -CONFIG_KEYBOARD_PMIC8XXX=m # CONFIG_KEYBOARD_STMPE is not set CONFIG_KEYBOARD_OMAP4=m # CONFIG_KEYBOARD_TC3589X is not set CONFIG_KEYBOARD_CAP1106=m -# CONFIG_INPUT_PM8XXX_VIBRATOR is not set -CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_MAX77693_HAPTIC=m # CONFIG_INPUT_MAX8997_HAPTIC is not set # CONFIG_INPUT_GPIO_BEEPER is not set @@ -387,25 +229,16 @@ CONFIG_SERIO_APBPS2=m # CONFIG_SYNCLINK_GT is not set # CONFIG_NOZOMI is not set -# -# Serial drivers -# -CONFIG_SERIAL_8250_EM=m - # # Non-8250 serial port support # CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y -CONFIG_SERIAL_IMX=m # CONFIG_SERIAL_JSM is not set CONFIG_SERIAL_OF_PLATFORM=y # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_XILINX_PS_UART is not set # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_RP2 is not set -CONFIG_SERIAL_ST_ASC=m -# CONFIG_HVC_DCC is not set -# CONFIG_VIRTIO_CONSOLE is not set # # Multiplexer I2C Chip support @@ -424,18 +257,11 @@ CONFIG_I2C_SIS630=m # # I2C system bus drivers (mostly embedded / system-on-chip) # -CONFIG_I2C_IMX=m -CONFIG_I2C_MV64XXX=m CONFIG_I2C_RK3X=m # -# Pin controllers +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # -CONFIG_PINMUX=y -CONFIG_PINCONF=y -# CONFIG_PINCTRL_AS3722 is not set -# CONFIG_PINCTRL_PALMAS is not set -CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y CONFIG_ARCH_REQUIRE_GPIOLIB=y CONFIG_OF_GPIO=y CONFIG_GPIO_GENERIC=y @@ -445,9 +271,6 @@ CONFIG_GPIO_GENERIC=y # CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_EM is not set -# CONFIG_GPIO_ZEVIO is not set -CONFIG_GPIO_MXC=y # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_GRGPIO is not set @@ -470,7 +293,6 @@ CONFIG_GPIO_ADNP=m # # 1-wire Slaves # -# CONFIG_APM_POWER is not set # CONFIG_MAX8925_POWER is not set # CONFIG_WM831X_BACKUP is not set # CONFIG_WM831X_POWER is not set @@ -488,8 +310,6 @@ CONFIG_POWER_RESET_AS3722=y CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_POWER_RESET_LTC2952=y -CONFIG_POWER_RESET_RESTART=y -CONFIG_POWER_RESET_VERSATILE=y CONFIG_POWER_RESET_VEXPRESS=y CONFIG_POWER_RESET_SYSCON=y @@ -505,9 +325,6 @@ CONFIG_THERMAL_OF=y # Watchdog Device Drivers # CONFIG_GPIO_WATCHDOG=m -CONFIG_CADENCE_WATCHDOG=m -CONFIG_MAX63XX_WATCHDOG=m -CONFIG_IMX2_WDT=m # # PCI-based Watchdog Cards @@ -519,12 +336,8 @@ CONFIG_IMX2_WDT=m # Multifunction device drivers # CONFIG_MFD_AS3722=y -# CONFIG_MFD_ASIC3 is not set CONFIG_MFD_HI6421_PMIC=m -# CONFIG_HTC_EGPIO is not set # CONFIG_LPC_ICH is not set -CONFIG_MFD_PM8XXX=m -CONFIG_MFD_PM8921_CORE=m # CONFIG_MFD_RTSX_PCI is not set CONFIG_MFD_RK808=m CONFIG_MFD_STMPE=y @@ -533,10 +346,6 @@ CONFIG_MFD_STMPE=y # STMicroelectronics STMPE Interface Drivers # CONFIG_STMPE_I2C=y -CONFIG_TWL4030_POWER=y -# CONFIG_MFD_T7L66XB is not set -# CONFIG_MFD_TC6387XB is not set -# CONFIG_MFD_TC6393XB is not set CONFIG_MFD_VEXPRESS_SYSREG=y CONFIG_REGULATOR_FIXED_VOLTAGE=y # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set @@ -581,8 +390,6 @@ CONFIG_DVB_TTUSB_DEC=y # CONFIG_DVB_PT1 is not set # CONFIG_MANTIS_CORE is not set # CONFIG_DVB_NGENE is not set -CONFIG_VIDEO_MX3=m -# CONFIG_VIDEO_CODA is not set # # DVB-S (satellite) frontends @@ -607,45 +414,15 @@ CONFIG_DVB_STV0297=y # CONFIG_DVB_LNBP21=y -# -# Graphics support -# -CONFIG_IMX_IPUV3_CORE=m - -# -# Direct Rendering Manager -# -CONFIG_DRM_MIPI_DSI=y -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y - # # I2C encoder or helper chips # # CONFIG_DRM_RADEON is not set # CONFIG_DRM_NOUVEAU is not set -CONFIG_DRM_EXYNOS=m -CONFIG_DRM_EXYNOS_DMABUF=y -CONFIG_DRM_EXYNOS_HDMI=y -CONFIG_DRM_EXYNOS_VIDI=y -CONFIG_DRM_EXYNOS_G2D=y -CONFIG_DRM_EXYNOS_IPP=y -CONFIG_DRM_ARMADA=m -# CONFIG_DRM_TILCDC is not set -CONFIG_DRM_PANEL=y - -# -# Display Panels -# -CONFIG_DRM_STI=m -# CONFIG_DRM_STI_FBDEV is not set # # Frame buffer Devices # -CONFIG_FB_SYS_FILLRECT=y -CONFIG_FB_SYS_COPYAREA=y -CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_FB_BACKLIGHT is not set # @@ -656,7 +433,6 @@ CONFIG_FB_SYS_IMAGEBLIT=y # CONFIG_BACKLIGHT_LM3630A is not set # CONFIG_BACKLIGHT_LP855X is not set # CONFIG_BACKLIGHT_LP8788 is not set -CONFIG_VIDEOMODE_HELPERS=y # # Console display driver support @@ -668,7 +444,6 @@ CONFIG_SND_COMPRESS_OFFLOAD=m # # HD-Audio # -CONFIG_SND_ARM=y CONFIG_SND_SOC=m CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_ATMEL_SOC=m @@ -682,25 +457,7 @@ CONFIG_SND_SOC_FSL_SAI=m CONFIG_SND_SOC_FSL_SSI=m CONFIG_SND_SOC_FSL_SPDIF=m CONFIG_SND_SOC_FSL_ESAI=m -CONFIG_SND_SOC_FSL_UTILS=m -CONFIG_SND_SOC_IMX_PCM_DMA=m CONFIG_SND_SOC_IMX_AUDMUX=m -CONFIG_SND_IMX_SOC=m -CONFIG_SND_SOC_IMX_SSI=m - -# -# SoC Audio support for Freescale i.MX boards: -# -CONFIG_SND_SOC_EUKREA_TLV320=m -CONFIG_SND_SOC_IMX_WM8962=m -CONFIG_SND_SOC_IMX_ES8328=m -CONFIG_SND_SOC_IMX_SGTL5000=m -CONFIG_SND_SOC_IMX_SPDIF=m -CONFIG_SND_SOC_FSL_ASOC_CARD=m - -# -# SoC Audio support for SuperH -# CONFIG_SND_SOC_I2C_AND_SPI=m # @@ -722,7 +479,6 @@ CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES8328=m -CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_PCM1681=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_I2C=m @@ -737,8 +493,6 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m -CONFIG_SND_SOC_TLV320AIC23=m -CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC31XX=m CONFIG_SND_SOC_TLV320AIC3X=m CONFIG_SND_SOC_WM8510=m @@ -768,35 +522,18 @@ CONFIG_USB_MUSB_AM335X_CHILD=m # # USB Physical Layer drivers # -CONFIG_AM335X_CONTROL_USB=m -CONFIG_AM335X_PHY_USB=m -CONFIG_USB_MXS_PHY=m CONFIG_USB_ULPI=y # -# MMC/SD/SDIO Host Controller Drivers +# LED drivers # -CONFIG_MMC_SDHCI_IO_ACCESSORS=y -CONFIG_MMC_SDHCI_OF_ARASAN=m -CONFIG_MMC_SDHCI_ESDHC_IMX=m -CONFIG_MMC_MXC=m -CONFIG_MMC_DW=m -CONFIG_MMC_DW_IDMAC=y -CONFIG_MMC_DW_PLTFM=m -CONFIG_MMC_DW_EXYNOS=m -CONFIG_MMC_DW_K3=m -CONFIG_MMC_DW_PCI=m +CONFIG_LEDS_PWM=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) # CONFIG_LEDS_SYSCON=y -# -# iptables trigger is under Netfilter config (LED target) -# -# CONFIG_EDAC is not set - # # I2C RTC drivers # @@ -807,19 +544,13 @@ CONFIG_RTC_DRV_RK808=m # # on-CPU RTC drivers # -CONFIG_RTC_DRV_IMXDI=m -CONFIG_RTC_DRV_PM8XXX=m -CONFIG_RTC_DRV_MXC=m CONFIG_RTC_DRV_SNVS=m # # DMA Devices # # CONFIG_DW_DMAC is not set -CONFIG_MX3_IPU=y -CONFIG_MX3_IPU_IRQS=4 CONFIG_FSL_EDMA=m -CONFIG_NBPFAXI_DMA=m CONFIG_DMA_VIRTUAL_CHANNELS=m CONFIG_DMA_OF=y @@ -863,11 +594,6 @@ CONFIG_PWM=y CONFIG_PWM_SYSFS=y CONFIG_IRQCHIP=y -# -# Memory Debugging -# -# CONFIG_DEBUG_HIGHMEM is not set - # # RCU Debugging # @@ -876,21 +602,8 @@ CONFIG_IRQCHIP=y # # Runtime Testing # -# CONFIG_ARM_PTDUMP is not set -CONFIG_ARM_UNWIND=y -# CONFIG_DEBUG_USER is not set -# CONFIG_DEBUG_LL is not set -CONFIG_DEBUG_IMX_UART_PORT=1 -# CONFIG_DEBUG_UART_PL01X is not set -# CONFIG_DEBUG_UART_8250 is not set -CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" # CONFIG_DEBUG_SET_MODULE_RONX is not set -# -# Executable Protections -# -# CONFIG_GRKERNSEC_SETXID is not set - # # Logging Options # @@ -907,25 +620,9 @@ CONFIG_CRYPTO_GF128MUL=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_XTS=m -# -# Digest -# -CONFIG_CRYPTO_SHA1_ARM=m - -# -# Ciphers -# -CONFIG_CRYPTO_AES_ARM=m - -# -# Random Number Generation -# -CONFIG_CRYPTO_DEV_SAHARA=m - # # Library routines # -CONFIG_STMP_DEVICE=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_AUDIT_GENERIC=y CONFIG_LIBFDT=y diff --git a/kernel/config-arm32-generic b/kernel/config-arm32-generic new file mode 100644 index 000000000..2219bb6a8 --- /dev/null +++ b/kernel/config-arm32-generic @@ -0,0 +1,530 @@ +CONFIG_ARM=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_MIGHT_HAVE_PCI=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_GENERIC_BUG=y + +# +# General setup +# +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_FORCED_THREADING=y + +# +# RCU Subsystem +# +CONFIG_CONTEXT_TRACKING_FORCE=y +CONFIG_UID16=y + +# +# Kernel Performance Events And Counters +# +# CONFIG_KPROBES is not set +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_SECCOMP_FILTER=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OLD_SIGACTION=y + +# +# GCOV-based kernel profiling +# +CONFIG_LBDAF=y + +# +# System Type +# +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_GEMINI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_DOVE is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_MMP is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_W90X900 is not set +# CONFIG_ARCH_LPC32XX is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_SHMOBILE_LEGACY is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C24XX is not set +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP1 is not set + +# +# CPU Core family selection +# +# CONFIG_ARCH_MULTI_V6 is not set + +# +# Hisilicon platform type +# +CONFIG_ARCH_MXC=y +# CONFIG_MXC_DEBUG_BOARD is not set + +# +# OMAP Legacy Platform Data Board Type +# +# CONFIG_PLAT_SPEAR is not set + +# +# Processor Type +# +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set +CONFIG_ARM_THUMB=y +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +CONFIG_KUSER_HELPERS=y +CONFIG_OUTER_CACHE=y +CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y +CONFIG_MULTI_IRQ_HANDLER=y + +# +# PCI host controller drivers +# +CONFIG_PCI_HOST_GENERIC=y +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_2G is not set +# CONFIG_VMSPLIT_1G is not set +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_SCHED_HRTICK=y +CONFIG_AEABI=y +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +CONFIG_HIGHMEM=y +# CONFIG_HIGHPTE is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_ALIGNMENT_TRAP=y +CONFIG_SECCOMP=y + +# +# Boot options +# +CONFIG_USE_OF=y +CONFIG_ATAGS=y +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_ZBOOT_ROM_TEXT=0 +CONFIG_ZBOOT_ROM_BSS=0 +CONFIG_ARM_APPENDED_DTB=y +CONFIG_CMDLINE_FROM_BOOTLOADER=y +# CONFIG_CMDLINE_EXTEND is not set +CONFIG_CRASH_DUMP=y +CONFIG_AUTO_ZRELADDR=y + +# +# ARM CPU frequency scaling drivers +# +CONFIG_ARM_IMX6Q_CPUFREQ=m + +# +# At least one emulation must be selected +# +CONFIG_VFP=y + +# +# Power management options +# +CONFIG_APM_EMULATION=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y + +# +# Generic Driver Options +# +CONFIG_SOC_BUS=y + +# +# Bus devices +# +CONFIG_BRCMSTB_GISB_ARB=y + +# +# Device Tree and Open Firmware support +# +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +# CONFIG_MG_DISK is not set + +# +# Intel MIC Card Driver +# +# CONFIG_IDE is not set + +# +# SCSI Transports +# +CONFIG_SCSI_NSP32=m + +# +# Controllers with non-SFF native interface +# +CONFIG_AHCI_IMX=m + +# +# PATA SFF controllers with BMDMA +# +CONFIG_PATA_IMX=m + +# +# Distributed Switch Architecture drivers +# +CONFIG_NET_CADENCE=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_CS89x0=m +CONFIG_CS89x0_PLATFORM=y +CONFIG_DM9000=m +# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set +CONFIG_NET_VENDOR_FARADAY=y +CONFIG_FTMAC100=m +CONFIG_FTGMAC100=m +CONFIG_NET_VENDOR_FREESCALE=y +CONFIG_FEC=m +CONFIG_NET_VENDOR_HISILICON=y +CONFIG_HIX5HD2_GMAC=m +CONFIG_AX88796=m +CONFIG_AX88796_93CX6=y +CONFIG_SMC911X=m + +# +# Userland interfaces +# +# CONFIG_INPUT_APMPOWER is not set + +# +# Input Device Drivers +# +CONFIG_KEYBOARD_IMX=m +CONFIG_KEYBOARD_PMIC8XXX=m +# CONFIG_INPUT_PM8XXX_VIBRATOR is not set +CONFIG_INPUT_PMIC8XXX_PWRKEY=m + +# +# Serial drivers +# +CONFIG_SERIAL_8250_EM=m + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_IMX=m +CONFIG_SERIAL_ST_ASC=m +# CONFIG_HVC_DCC is not set +CONFIG_NVRAM=y + +# +# Multiplexer I2C Chip support +# +CONFIG_I2C_MUX_PINCTRL=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_IMX=m +CONFIG_I2C_MV64XXX=m + +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + +# +# Pin controllers +# +CONFIG_PINMUX=y +CONFIG_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AS3722 is not set +# CONFIG_PINCTRL_PALMAS is not set +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y + +# +# Memory mapped GPIO drivers: +# +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_ZEVIO is not set +CONFIG_GPIO_MXC=y + +# +# 1-wire Slaves +# +# CONFIG_APM_POWER is not set +CONFIG_POWER_RESET_RESTART=y +CONFIG_POWER_RESET_VERSATILE=y + +# +# Watchdog Device Drivers +# +CONFIG_CADENCE_WATCHDOG=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_IMX2_WDT=m + +# +# Multifunction device drivers +# +# CONFIG_MFD_ASIC3 is not set +# CONFIG_HTC_EGPIO is not set +CONFIG_MFD_PM8XXX=m +CONFIG_MFD_PM8921_CORE=m + +# +# STMicroelectronics STMPE Interface Drivers +# +CONFIG_TWL4030_POWER=y +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MFD_TC6387XB is not set +# CONFIG_MFD_TC6393XB is not set + +# +# Media digital TV PCI Adapters +# +CONFIG_VIDEO_MX3=m +# CONFIG_VIDEO_CODA is not set + +# +# Graphics support +# +CONFIG_IMX_IPUV3_CORE=m + +# +# Direct Rendering Manager +# +CONFIG_DRM_MIPI_DSI=y +CONFIG_DRM_GEM_CMA_HELPER=y +CONFIG_DRM_KMS_CMA_HELPER=y + +# +# I2C encoder or helper chips +# +CONFIG_DRM_EXYNOS=m +CONFIG_DRM_EXYNOS_DMABUF=y +CONFIG_DRM_EXYNOS_HDMI=y +CONFIG_DRM_EXYNOS_VIDI=y +CONFIG_DRM_EXYNOS_G2D=y +CONFIG_DRM_EXYNOS_IPP=y +CONFIG_DRM_ARMADA=m +# CONFIG_DRM_TILCDC is not set +CONFIG_DRM_PANEL=y + +# +# Display Panels +# +CONFIG_DRM_STI=m +# CONFIG_DRM_STI_FBDEV is not set + +# +# Frame buffer Devices +# +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y + +# +# Frame buffer hardware drivers +# +CONFIG_VIDEOMODE_HELPERS=y + +# +# HD-Audio +# +CONFIG_SND_ARM=y + +# +# Common SoC Audio options for Freescale CPUs: +# +CONFIG_SND_SOC_FSL_UTILS=m +CONFIG_SND_SOC_IMX_PCM_DMA=m +CONFIG_SND_IMX_SOC=m +CONFIG_SND_SOC_IMX_SSI=m + +# +# SoC Audio support for Freescale i.MX boards: +# +CONFIG_SND_SOC_EUKREA_TLV320=m +CONFIG_SND_SOC_IMX_WM8962=m +CONFIG_SND_SOC_IMX_ES8328=m +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_SPDIF=m +CONFIG_SND_SOC_FSL_ASOC_CARD=m + +# +# CODEC drivers +# +CONFIG_SND_SOC_ES8328_I2C=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_I2C=m + +# +# USB Physical Layer drivers +# +CONFIG_AM335X_CONTROL_USB=m +CONFIG_AM335X_PHY_USB=m +CONFIG_USB_MXS_PHY=m + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_OF_ARASAN=m +CONFIG_MMC_SDHCI_ESDHC_IMX=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDHCI_PXAV2=m +CONFIG_MMC_MXC=m +CONFIG_MMC_DW=m +CONFIG_MMC_DW_IDMAC=y +CONFIG_MMC_DW_PLTFM=m +CONFIG_MMC_DW_EXYNOS=m +CONFIG_MMC_DW_K3=m +CONFIG_MMC_DW_PCI=m + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_EDAC is not set + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_IMXDI=m +CONFIG_RTC_DRV_PM8XXX=m +CONFIG_RTC_DRV_MXC=m + +# +# DMA Devices +# +CONFIG_MX3_IPU=y +CONFIG_MX3_IPU_IRQS=4 +CONFIG_NBPFAXI_DMA=m + +# +# Memory Debugging +# +# CONFIG_DEBUG_HIGHMEM is not set + +# +# RCU Debugging +# +# CONFIG_UPROBE_EVENT is not set + +# +# Runtime Testing +# +# CONFIG_ARM_PTDUMP is not set +CONFIG_ARM_UNWIND=y +# CONFIG_DEBUG_USER is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_IMX_UART_PORT=1 +# CONFIG_DEBUG_UART_PL01X is not set +# CONFIG_DEBUG_UART_8250 is not set +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" + +# +# PaX +# +CONFIG_PAX=y + +# +# PaX Control +# +# CONFIG_PAX_SOFTMODE is not set +CONFIG_PAX_EI_PAX=y +CONFIG_PAX_PT_PAX_FLAGS=y +# CONFIG_PAX_XATTR_PAX_FLAGS is not set +# CONFIG_PAX_NO_ACL_FLAGS is not set +CONFIG_PAX_HAVE_ACL_FLAGS=y +# CONFIG_PAX_HOOK_ACL_FLAGS is not set + +# +# Non-executable pages +# +CONFIG_PAX_KERNEXEC_PLUGIN_METHOD="" + +# +# Address Space Layout Randomization +# +CONFIG_PAX_ASLR=y +CONFIG_PAX_RANDUSTACK=y +CONFIG_PAX_RANDMMAP=y + +# +# Miscellaneous hardening features +# +CONFIG_PAX_USERCOPY=y + +# +# Memory Protections +# +CONFIG_GRKERNSEC_RAND_THREADSTACK=y +CONFIG_GRKERNSEC_PROC_MEMMAP=y +CONFIG_GRKERNSEC_KERN_LOCKOUT=y + +# +# Executable Protections +# +# CONFIG_GRKERNSEC_SETXID is not set + +# +# Digest +# +CONFIG_CRYPTO_SHA1_ARM=m + +# +# Ciphers +# +CONFIG_CRYPTO_AES_ARM=m + +# +# Random Number Generation +# +CONFIG_CRYPTO_DEV_SAHARA=m + +# +# Library routines +# +CONFIG_STMP_DEVICE=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set diff --git a/kernel/config-arm64-generic b/kernel/config-arm64-generic new file mode 100644 index 000000000..09ee53100 --- /dev/null +++ b/kernel/config-arm64-generic @@ -0,0 +1,465 @@ +CONFIG_ARM64=y +CONFIG_64BIT=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_GENERIC_CSUM=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_KERNEL_MODE_NEON=y +CONFIG_FIX_EARLYCON_MEM=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y + +# +# Timers subsystem +# +# CONFIG_NO_HZ_IDLE is not set +CONFIG_NO_HZ_FULL=y +# CONFIG_NO_HZ_FULL_ALL is not set +# CONFIG_NO_HZ_FULL_SYSIDLE is not set + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_USER_QS=y +# CONFIG_CONTEXT_TRACKING_FORCE is not set +CONFIG_RCU_FANOUT=64 +CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RCU_FANOUT_EXACT is not set +# CONFIG_RCU_FAST_NO_HZ is not set +CONFIG_RCU_NOCB_CPU=y +CONFIG_RCU_NOCB_CPU_NONE=y +# CONFIG_RCU_NOCB_CPU_ZERO is not set +# CONFIG_RCU_NOCB_CPU_ALL is not set +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_SYSCTL_EXCEPTION_TRACE=y + +# +# Kernel Performance Events And Counters +# +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_MODULES_USE_ELF_RELA=y + +# +# IO Schedulers +# +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PADATA=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y + +# +# Platform selection +# +# CONFIG_ARCH_THUNDER is not set +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_XGENE=y + +# +# Bus support +# +CONFIG_ARM_AMBA=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y + +# +# PCI host controller drivers +# +CONFIG_PCI_XGENE=y +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_SHPC=m + +# +# Kernel Features +# +# CONFIG_ARM64_4K_PAGES is not set +CONFIG_ARM64_64K_PAGES=y +CONFIG_ARM64_VA_BITS_42=y +# CONFIG_ARM64_VA_BITS_48 is not set +CONFIG_ARM64_VA_BITS=42 +CONFIG_ARM64_PGTABLE_LEVELS=2 +CONFIG_SMP=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_NR_CPUS=64 +CONFIG_HOTPLUG_CPU=y +CONFIG_HZ=100 +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_MMU_NOTIFIER=y +# CONFIG_TRANSPARENT_HUGEPAGE is not set +CONFIG_GENERIC_EARLY_IOREMAP=y +# CONFIG_XEN is not set +CONFIG_FORCE_MAX_ZONEORDER=11 + +# +# Boot options +# +CONFIG_CMDLINE="" +CONFIG_EFI_STUB=y +CONFIG_EFI=y + +# +# Power management options +# +CONFIG_PM_SLEEP_SMP=y +CONFIG_ARM64_CPU_SUSPEND=y + +# +# CPU Idle +# +CONFIG_DT_IDLE_STATES=y + +# +# ARM64 CPU Idle Drivers +# +CONFIG_ARM64_CPUIDLE=y +# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set + +# +# ARM CPU frequency scaling drivers +# +# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set + +# +# Classification +# +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_XPS=y +CONFIG_NET_FLOW_LIMIT=y + +# +# Generic Driver Options +# +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_GENERIC_CPU_AUTOPROBE=y + +# +# Device Tree and Open Firmware support +# +CONFIG_BLK_DEV_SKD=m + +# +# Intel MIC Card Driver +# +# CONFIG_GENWQE is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set + +# +# Controllers with non-SFF native interface +# +CONFIG_AHCI_XGENE=m + +# +# IEEE 1394 (FireWire) support +# +CONFIG_I2O_EXT_ADAPTEC_DMA64=y + +# +# Distributed Switch Architecture drivers +# +CONFIG_VORTEX=m + +# +# Input device support +# +CONFIG_INPUT_MATRIXKMAP=m + +# +# Input Device Drivers +# +# CONFIG_KEYBOARD_SAMSUNG is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO_AMBAKMI is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_AMBA_PL010=m +CONFIG_SERIAL_AMBA_PL011=m +CONFIG_HW_RANDOM_XGENE=m + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +CONFIG_I2C_NOMADIK=m +CONFIG_I2C_VERSATILE=m + +# +# PPS support +# +CONFIG_PPS=m + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=m + +# +# Memory mapped GPIO drivers: +# +CONFIG_GPIO_PL061=y +CONFIG_GPIO_XGENE=y + +# +# 1-wire Slaves +# +CONFIG_POWER_RESET_XGENE=y + +# +# Watchdog Device Drivers +# +CONFIG_ARM_SP805_WATCHDOG=m + +# +# Multifunction device drivers +# +# CONFIG_ABX500_CORE is not set + +# +# STMicroelectronics STMPE Interface Drivers +# +# CONFIG_MFD_VX855 is not set +# CONFIG_REGULATOR_88PM8607 is not set +# CONFIG_REGULATOR_GPIO is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8788 is not set +# CONFIG_REGULATOR_TWL4030 is not set + +# +# Media digital TV PCI Adapters +# +# CONFIG_VIDEO_CAFE_CCIC is not set + +# +# I2C encoder or helper chips +# +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set + +# +# Frame buffer Devices +# +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_SYS_FOPS=m +# CONFIG_FB_MODE_HELPERS is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_ARMCLCD is not set +# CONFIG_LCD_PLATFORM is not set + +# +# Console display driver support +# +# CONFIG_SND_ES1968_INPUT is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MAESTRO3_INPUT is not set + +# +# USB Physical Layer drivers +# +CONFIG_NOP_USB_XCEIV=m + +# +# MMC/SD/SDIO Host Controller Drivers +# +CONFIG_MMC_ARMMMCI=m +# CONFIG_MMC_RICOH_MMC is not set +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set +# CONFIG_MMC_SDHCI_PXAV2 is not set + +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_EFI=m + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PL031=m + +# +# DMA Devices +# +# CONFIG_AMBA_PL08X is not set +# CONFIG_DW_DMAC_PCI is not set +# CONFIG_PL330_DMA is not set + +# +# DMA Clients +# +# CONFIG_UIO_AEC is not set +# CONFIG_UIO_SERCOS3 is not set +# CONFIG_UIO_PCI_GENERIC is not set +# CONFIG_UIO_MF624 is not set + +# +# Common Clock Framework +# +CONFIG_COMMON_CLK_WM831X=y +CONFIG_COMMON_CLK_VERSATILE=y +CONFIG_CLK_SP810=y +CONFIG_CLK_VEXPRESS_OSC=y +CONFIG_COMMON_CLK_MAX77686=y +CONFIG_COMMON_CLK_XGENE=y + +# +# Clock Source drivers +# +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_PL320_MBOX is not set +# CONFIG_ARM_SMMU is not set + +# +# Analog to digital converters +# +# CONFIG_LP8788_ADC is not set +# CONFIG_TWL6030_GPADC is not set + +# +# Temperature sensors +# +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_LP3943 is not set +# CONFIG_PWM_PCA9685 is not set +# CONFIG_PWM_TWL is not set +# CONFIG_PWM_TWL_LED is not set +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_V3=y + +# +# PHY Subsystem +# +# CONFIG_PHY_EXYNOS4210_USB2 is not set +# CONFIG_PHY_EXYNOS4X12_USB2 is not set +# CONFIG_PHY_EXYNOS5250_USB2 is not set +CONFIG_PHY_XGENE=m + +# +# Firmware Drivers +# +# CONFIG_FIRMWARE_MEMMAP is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_VARS=y +CONFIG_EFI_VARS_PSTORE=y +# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_ARMSTUB=y + +# +# File systems +# +CONFIG_DCACHE_WORD_ACCESS=y + +# +# Pseudo filesystems +# +# CONFIG_HUGETLBFS is not set +CONFIG_EFIVAR_FS=y +CONFIG_KVM_MMIO=y +CONFIG_KVM=y +CONFIG_KVM_ARM_HOST=y +CONFIG_KVM_ARM_MAX_VCPUS=4 +CONFIG_KVM_ARM_VGIC=y +CONFIG_KVM_ARM_TIMER=y + +# +# Compile-time checks and compiler options +# +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y + +# +# Memory Debugging +# +# CONFIG_DEBUG_PER_CPU_MAPS is not set + +# +# RCU Debugging +# +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +# CONFIG_RCU_CPU_STALL_INFO is not set +CONFIG_FUNCTION_GRAPH_TRACER=y + +# +# Runtime Testing +# +# CONFIG_PID_IN_CONTEXTIDR is not set +# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set + +# +# Memory Protections +# +CONFIG_GRKERNSEC_KSTACKOVERFLOW=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_ABLK_HELPER=m + +# +# Random Number Generation +# +CONFIG_CRYPTO_DEV_CCP=y +CONFIG_CRYPTO_DEV_CCP_DD=m +CONFIG_CRYPTO_DEV_CCP_CRYPTO=m +CONFIG_ARM64_CRYPTO=y +CONFIG_CRYPTO_SHA1_ARM64_CE=m +CONFIG_CRYPTO_SHA2_ARM64_CE=m +CONFIG_CRYPTO_GHASH_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=m +CONFIG_CRYPTO_AES_ARM64_CE_BLK=m +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m + +# +# Library routines +# +CONFIG_GENERIC_IOMAP=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_CPU_RMAP=y +CONFIG_UCS2_STRING=y diff --git a/kernel/config-armv5tel-default b/kernel/config-armv5tel-default index da3b39e75..86727b0b2 100644 --- a/kernel/config-armv5tel-default +++ b/kernel/config-armv5tel-default @@ -4,11 +4,16 @@ # CONFIG_BROKEN_ON_SMP=y +# +# Timers subsystem +# +CONFIG_NO_HZ_IDLE=y + # # CPU/Task time and stats accounting # -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_TICK_CPU_ACCOUNTING is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set # # RCU Subsystem @@ -83,7 +88,6 @@ CONFIG_ARM_L1_CACHE_SHIFT=5 # PCI host controller drivers # # CONFIG_PCI_MVEBU is not set -# CONFIG_PCIEPORTBUS is not set # # Kernel Features @@ -134,11 +138,6 @@ CONFIG_ARM_KIRKWOOD_CPUFREQ=y CONFIG_IMX_WEIM=y CONFIG_MVEBU_MBUS=y -# -# Device Tree and Open Firmware support -# -CONFIG_VIRTIO_BLK=y - # # Controllers with non-SFF native interface # @@ -151,11 +150,6 @@ CONFIG_AHCI_MVEBU=m CONFIG_MV643XX_ETH=m CONFIG_MVNETA=m -# -# MII PHY device drivers -# -CONFIG_B43_SDIO=y - # # ISDN feature submodules # @@ -216,11 +210,6 @@ CONFIG_ARMADA_THERMAL=m # CONFIG_ORION_WATCHDOG=m -# -# Sonics Silicon Backplane -# -CONFIG_SSB_SDIOHOST=y - # # Multifunction device drivers # @@ -307,12 +296,6 @@ CONFIG_USB_IMX21_HCD=m # USB Physical Layer drivers # CONFIG_NOP_USB_XCEIV=m -CONFIG_MMC=m - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=m # # MMC/SD/SDIO Host Controller Drivers @@ -323,7 +306,6 @@ CONFIG_MMC_MVSDIO=m # # LED drivers # -CONFIG_LEDS_PWM=m CONFIG_LEDS_NS2=m CONFIG_LEDS_NETXBIG=m @@ -349,12 +331,6 @@ CONFIG_UIO_AEC=m CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m CONFIG_UIO_MF624=m -CONFIG_VIRTIO=y - -# -# Virtio drivers -# -CONFIG_VIRTIO_PCI=y # # Android @@ -440,4 +416,3 @@ CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y # CONFIG_HAS_IOPORT_MAP=y CONFIG_GENERIC_ATOMIC64=y -# CONFIG_DDR is not set diff --git a/kernel/config-armv7hl-default b/kernel/config-armv7hl-default index 6c38fcd94..1ee849754 100644 --- a/kernel/config-armv7hl-default +++ b/kernel/config-armv7hl-default @@ -13,28 +13,25 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y # # Timers subsystem # -# CONFIG_NO_HZ_FULL is not set - -# -# CPU/Task time and stats accounting -# -CONFIG_VIRT_CPU_ACCOUNTING=y -# CONFIG_TICK_CPU_ACCOUNTING is not set -CONFIG_VIRT_CPU_ACCOUNTING_GEN=y +# CONFIG_NO_HZ_IDLE is not set +CONFIG_NO_HZ_FULL=y +# CONFIG_NO_HZ_FULL_ALL is not set +# CONFIG_NO_HZ_FULL_SYSIDLE is not set # # RCU Subsystem # CONFIG_TREE_RCU=y CONFIG_RCU_STALL_COMMON=y -CONFIG_CONTEXT_TRACKING=y -# CONFIG_RCU_USER_QS is not set -CONFIG_CONTEXT_TRACKING_FORCE=y +CONFIG_RCU_USER_QS=y CONFIG_RCU_FANOUT=32 CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_RCU_FANOUT_EXACT is not set # CONFIG_RCU_FAST_NO_HZ is not set -# CONFIG_RCU_NOCB_CPU is not set +CONFIG_RCU_NOCB_CPU=y +CONFIG_RCU_NOCB_CPU_NONE=y +# CONFIG_RCU_NOCB_CPU_ZERO is not set +# CONFIG_RCU_NOCB_CPU_ALL is not set CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 # @@ -45,6 +42,7 @@ CONFIG_SLUB_CPU_PARTIAL=y # # IO Schedulers # +CONFIG_PADATA=y CONFIG_MUTEX_SPIN_ON_OWNER=y CONFIG_RWSEM_SPIN_ON_OWNER=y @@ -323,16 +321,6 @@ CONFIG_PCI_RCAR_GEN2=y CONFIG_PCI_RCAR_GEN2_PCIE=y CONFIG_PCI_KEYSTONE=y CONFIG_PCIE_XILINX=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIEAER=y -# CONFIG_PCIE_ECRC is not set -# CONFIG_PCIEAER_INJECT is not set -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set -CONFIG_PCIEASPM_DEFAULT=y -# CONFIG_PCIEASPM_POWERSAVE is not set -# CONFIG_PCIEASPM_PERFORMANCE is not set -CONFIG_PCIE_PME=y # # Kernel Features @@ -340,8 +328,8 @@ CONFIG_PCIE_PME=y CONFIG_SMP=y CONFIG_SMP_ON_UP=y CONFIG_ARM_CPU_TOPOLOGY=y -# CONFIG_SCHED_MC is not set -# CONFIG_SCHED_SMT is not set +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y CONFIG_MCPM=y CONFIG_MCPM_QUAD_CLUSTER=y CONFIG_BIG_LITTLE=y @@ -439,7 +427,6 @@ CONFIG_ARM_CCI=y # CONFIG_XEN_BLKDEV_FRONTEND=y # CONFIG_XEN_BLKDEV_BACKEND is not set -CONFIG_VIRTIO_BLK=m # # Misc devices @@ -494,7 +481,6 @@ CONFIG_NET_VENDOR_XILINX=y # MII PHY device drivers # CONFIG_MDIO_SUN4I=m -# CONFIG_B43_SDIO is not set # # Enable WiMAX (Networking options) to see the WiMAX drivers @@ -545,7 +531,6 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=2 # CONFIG_SERIAL_MSM is not set # CONFIG_SERIAL_VT8500 is not set CONFIG_SERIAL_OMAP=m -CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y @@ -717,11 +702,6 @@ CONFIG_QCOM_WDT=m CONFIG_MESON_WATCHDOG=m # CONFIG_XEN_WDT is not set -# -# Sonics Silicon Backplane -# -# CONFIG_SSB_SDIOHOST is not set - # # Multifunction device drivers # @@ -924,12 +904,6 @@ CONFIG_NOP_USB_XCEIV=y CONFIG_USB_MSM_OTG=m CONFIG_USB_RCAR_PHY=m CONFIG_USB_ULPI_VIEWPORT=y -CONFIG_MMC=y - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=y # # MMC/SD/SDIO Host Controller Drivers @@ -951,11 +925,6 @@ CONFIG_MMC_SH_MMCIF=m CONFIG_MMC_WMT=y CONFIG_MMC_SUNXI=m -# -# LED drivers -# -# CONFIG_LEDS_PWM is not set - # # Platform RTC drivers # @@ -1007,12 +976,6 @@ CONFIG_DMA_SUN6I=m # CONFIG_UIO_PCI_GENERIC is not set # CONFIG_UIO_MF624 is not set # CONFIG_VFIO is not set -CONFIG_VIRTIO=m - -# -# Virtio drivers -# -CONFIG_VIRTIO_PCI=m # # Xen driver support @@ -1044,7 +1007,7 @@ CONFIG_XEN_PRIVCMD=y # SOC (System On Chip) specific Drivers # CONFIG_QCOM_GSBI=m -CONFIG_KEYSTONE_NAVIGATOR_QMSS=m +# CONFIG_KEYSTONE_NAVIGATOR_QMSS is not set CONFIG_KEYSTONE_NAVIGATOR_DMA=m # @@ -1180,7 +1143,6 @@ CONFIG_PHY_QCOM_APQ8064_SATA=m CONFIG_PHY_QCOM_IPQ806X_SATA=m CONFIG_PHY_STIH407_USB=m CONFIG_PHY_STIH41X_USB=m -CONFIG_RAS=y # # File systems @@ -1236,7 +1198,7 @@ CONFIG_GRKERNSEC_RWXMAP_LOG=y # # Crypto core or helper # -# CONFIG_CRYPTO_PCRYPT is not set +CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_ABLK_HELPER=m # @@ -1264,4 +1226,3 @@ CONFIG_CRYPTO_DEV_QCE=m # Library routines # CONFIG_CPU_RMAP=y -CONFIG_DDR=y diff --git a/kernel/config-generic b/kernel/config-generic index 9c9dc5e0c..541c1cb7b 100644 --- a/kernel/config-generic +++ b/kernel/config-generic @@ -4,14 +4,11 @@ CONFIG_LOCKDEP_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_MMU=y CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_GENERIC_BUG=y CONFIG_GENERIC_HWEIGHT=y CONFIG_RWSEM_XCHGADD_ALGORITHM=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y @@ -24,16 +21,6 @@ CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_LZMA=y -CONFIG_HAVE_KERNEL_XZ=y -CONFIG_HAVE_KERNEL_LZO=y -CONFIG_HAVE_KERNEL_LZ4=y -# CONFIG_KERNEL_GZIP is not set -# CONFIG_KERNEL_LZMA is not set -CONFIG_KERNEL_XZ=y -# CONFIG_KERNEL_LZO is not set -# CONFIG_KERNEL_LZ4 is not set CONFIG_DEFAULT_HOSTNAME="(none)" CONFIG_SWAP=y CONFIG_SYSVIPC=y @@ -54,10 +41,8 @@ CONFIG_AUDIT_TREE=y # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y -CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set -CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y @@ -126,10 +111,8 @@ CONFIG_RD_LZ4=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y -CONFIG_HAVE_UID16=y CONFIG_BPF=y CONFIG_EXPERT=y -CONFIG_UID16=y CONFIG_SGETMASK_SYSCALL=y CONFIG_SYSFS_SYSCALL=y # CONFIG_SYSCTL_SYSCALL is not set @@ -166,33 +149,23 @@ CONFIG_SLUB=y CONFIG_SYSTEM_TRUSTED_KEYRING=y # CONFIG_PROFILING is not set CONFIG_TRACEPOINTS=y -CONFIG_HAVE_OPROFILE=y -# CONFIG_KPROBES is not set CONFIG_JUMP_LABEL=y # CONFIG_UPROBES is not set # CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set -CONFIG_ARCH_USE_BUILTIN_BSWAP=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_ATTRS=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_CLK=y CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_ARCH_SECCOMP_FILTER=y -CONFIG_SECCOMP_FILTER=y CONFIG_HAVE_CC_STACKPROTECTOR=y CONFIG_CC_STACKPROTECTOR=y # CONFIG_CC_STACKPROTECTOR_NONE is not set # CONFIG_CC_STACKPROTECTOR_REGULAR is not set CONFIG_CC_STACKPROTECTOR_STRONG=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_OLD_SIGSUSPEND3=y # # GCOV-based kernel profiling @@ -291,9 +264,6 @@ CONFIG_CMA_AREAS=7 CONFIG_ZPOOL=m # CONFIG_ZBUD is not set # CONFIG_ZSMALLOC is not set -CONFIG_SECCOMP=y -CONFIG_SCHED_HRTICK=y -CONFIG_CRASH_DUMP=y # # Power management and ACPI options @@ -348,6 +318,12 @@ CONFIG_CPU_IDLE_GOV_MENU=y # Bus options (PCI etc.) # CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +CONFIG_PCIEASPM=y +# CONFIG_PCIEASPM_DEBUG is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y # CONFIG_PCI_DEBUG is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set @@ -1027,7 +1003,6 @@ CONFIG_DMA_SHARED_BUFFER=y CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y # CONFIG_MTD is not set -CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y # # Protocols @@ -1046,6 +1021,7 @@ CONFIG_BLK_DEV_RAM_COUNT=16 # CONFIG_BLK_DEV_XIP is not set # CONFIG_CDROM_PKTCDVD is not set # CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_RBD is not set # @@ -1107,8 +1083,6 @@ CONFIG_ALTERA_STAPL=m # # CONFIG_ECHO is not set # CONFIG_CXL_BASE is not set -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set # # SCSI device support @@ -1706,6 +1680,7 @@ CONFIG_B43_BUSES_BCMA_AND_SSB=y # CONFIG_B43_BUSES_SSB is not set CONFIG_B43_PCI_AUTOSELECT=y CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_SDIO=y CONFIG_B43_BCMA_PIO=y CONFIG_B43_PIO=y CONFIG_B43_PHY_G=y @@ -2090,6 +2065,8 @@ CONFIG_SERIAL_SC16IS7XX=m # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_SERIAL_FSL_LPUART=m # CONFIG_TTY_PRINTK is not set +CONFIG_HVC_DRIVER=y +CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m # CONFIG_IPMI_PANIC_EVENT is not set CONFIG_IPMI_DEVICE_INTERFACE=m @@ -2100,7 +2077,6 @@ CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_VIRTIO=m -CONFIG_NVRAM=y CONFIG_R3964=m # CONFIG_APPLICOM is not set CONFIG_RAW_DRIVER=y @@ -2123,7 +2099,6 @@ CONFIG_I2C_MUX=y CONFIG_I2C_MUX_GPIO=m CONFIG_I2C_MUX_PCA9541=m CONFIG_I2C_MUX_PCA954x=m -CONFIG_I2C_MUX_PINCTRL=m CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_SMBUS=m CONFIG_I2C_ALGOBIT=m @@ -2219,12 +2194,10 @@ CONFIG_HSI_CHAR=m # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # -CONFIG_PINCTRL=y # # Pin controllers # -# CONFIG_DEBUG_PINCTRL is not set CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y CONFIG_GPIO_DEVRES=y @@ -2546,6 +2519,7 @@ CONFIG_SSB_PCIHOST_POSSIBLE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_B43_PCI_BRIDGE=y CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y # CONFIG_SSB_SILENT is not set # CONFIG_SSB_DEBUG is not set CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y @@ -3779,12 +3753,14 @@ CONFIG_USB_ISP1301=m # CONFIG_USB_GADGET is not set CONFIG_USB_LED_TRIG=y # CONFIG_UWB is not set +CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set # CONFIG_MMC_CLKGATE is not set # # MMC/SD/SDIO Card Drivers # +CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_BLOCK_BOUNCE=y # CONFIG_SDIO_UART is not set @@ -3796,8 +3772,6 @@ CONFIG_MMC_BLOCK_BOUNCE=y CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_PCI=m CONFIG_MMC_SDHCI_PLTFM=m -CONFIG_MMC_SDHCI_PXAV3=m -CONFIG_MMC_SDHCI_PXAV2=m CONFIG_MMC_TIFM_SD=m CONFIG_MMC_CB710=m CONFIG_MMC_VIA_SDMMC=m @@ -3947,7 +3921,6 @@ CONFIG_RTC_DRV_S5M=m # # Platform RTC drivers # -CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=m CONFIG_RTC_DRV_DS1511=m CONFIG_RTC_DRV_DS1553=m @@ -3997,12 +3970,15 @@ CONFIG_UIO=m # CONFIG_UIO_DMEM_GENIRQ is not set # CONFIG_UIO_NETX is not set CONFIG_VIRT_DRIVERS=y +CONFIG_VIRTIO=m # # Virtio drivers # +CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_BALLOON=m -# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRTIO_MMIO=m +# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set # # Microsoft Hyper-V guest support @@ -4335,6 +4311,7 @@ CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_SAMSUNG_USB2=m # CONFIG_POWERCAP is not set # CONFIG_MCB is not set +CONFIG_RAS=y CONFIG_THUNDERBOLT=m # @@ -4694,7 +4671,6 @@ CONFIG_BRANCH_PROFILE_NONE=y # CONFIG_PROFILE_ALL_BRANCHES is not set CONFIG_STACK_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y -# CONFIG_UPROBE_EVENT is not set # CONFIG_PROBE_EVENTS is not set CONFIG_DYNAMIC_FTRACE=y CONFIG_FUNCTION_PROFILER=y @@ -4750,37 +4726,24 @@ CONFIG_GRKERNSEC_PROC_GID=10 # # PaX # -CONFIG_PAX=y # # PaX Control # -# CONFIG_PAX_SOFTMODE is not set -CONFIG_PAX_EI_PAX=y -CONFIG_PAX_PT_PAX_FLAGS=y -# CONFIG_PAX_XATTR_PAX_FLAGS is not set -# CONFIG_PAX_NO_ACL_FLAGS is not set -CONFIG_PAX_HAVE_ACL_FLAGS=y -# CONFIG_PAX_HOOK_ACL_FLAGS is not set # # Non-executable pages # -CONFIG_PAX_KERNEXEC_PLUGIN_METHOD="" # # Address Space Layout Randomization # -CONFIG_PAX_ASLR=y -CONFIG_PAX_RANDUSTACK=y -CONFIG_PAX_RANDMMAP=y # # Miscellaneous hardening features # CONFIG_PAX_MEMORY_SANITIZE=y CONFIG_PAX_MEMORY_STRUCTLEAK=y -CONFIG_PAX_USERCOPY=y # CONFIG_PAX_LATENT_ENTROPY is not set # @@ -4789,13 +4752,10 @@ CONFIG_PAX_USERCOPY=y CONFIG_GRKERNSEC_KMEM=y CONFIG_GRKERNSEC_BPF_HARDEN=y # CONFIG_GRKERNSEC_PERF_HARDEN is not set -CONFIG_GRKERNSEC_RAND_THREADSTACK=y -CONFIG_GRKERNSEC_PROC_MEMMAP=y CONFIG_GRKERNSEC_BRUTE=y # CONFIG_GRKERNSEC_MODHARDEN is not set CONFIG_GRKERNSEC_HIDESYM=y # CONFIG_GRKERNSEC_RANDSTRUCT is not set -CONFIG_GRKERNSEC_KERN_LOCKOUT=y # # Role Based Access Control Options @@ -5063,7 +5023,6 @@ CONFIG_CRC32_SLICEBY8=y CONFIG_CRC7=m CONFIG_LIBCRC32C=m CONFIG_CRC8=m -# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set CONFIG_RANDOM32_SELFTEST=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y @@ -5104,6 +5063,7 @@ CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y CONFIG_AVERAGE=y CONFIG_CLZ_TAB=y CONFIG_CORDIC=m +# CONFIG_DDR is not set CONFIG_MPILIB=y CONFIG_SIGNATURE=y CONFIG_OID_REGISTRY=y diff --git a/kernel/config-i686-default b/kernel/config-i686-default index 92db5b71d..0ef67602b 100644 --- a/kernel/config-i686-default +++ b/kernel/config-i686-default @@ -77,7 +77,6 @@ CONFIG_X86_MINIMUM_CPU_FAMILY=5 CONFIG_CPU_SUP_CYRIX_32=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=y -CONFIG_NR_CPUS=32 # CONFIG_X86_ANCIENT_MCE is not set CONFIG_VM86=y CONFIG_TOSHIBA=m diff --git a/kernel/config-x86-generic b/kernel/config-x86-generic index 0764a317f..6b51910f8 100644 --- a/kernel/config-x86-generic +++ b/kernel/config-x86-generic @@ -3,27 +3,37 @@ CONFIG_INSTRUCTION_DECODER=y CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_BUG=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_HAS_CPU_RELAX=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_X86_HT=y +CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIX_EARLYCON_MEM=y # # General setup # +# CONFIG_KERNEL_GZIP is not set # CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +CONFIG_KERNEL_XZ=y +# CONFIG_KERNEL_LZO is not set +# CONFIG_KERNEL_LZ4 is not set # # IRQ subsystem # CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_CHIP=y +CONFIG_IRQ_FORCED_THREADING=y CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_ARCH_CLOCKSOURCE_DATA=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y @@ -46,6 +56,7 @@ CONFIG_RCU_NOCB_CPU=y CONFIG_RCU_NOCB_CPU_ALL=y CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_UID16=y CONFIG_PCSPKR_PLATFORM=y # @@ -53,8 +64,12 @@ CONFIG_PCSPKR_PLATFORM=y # CONFIG_SLUB_CPU_PARTIAL=y CONFIG_OPROFILE_NMI_TIMER=y +# CONFIG_KPROBES is not set +CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_USER_RETURN_NOTIFIER=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_SECCOMP_FILTER=y +CONFIG_OLD_SIGSUSPEND3=y # # IO Schedulers @@ -109,6 +124,7 @@ CONFIG_CPU_SUP_CENTAUR=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y +CONFIG_NR_CPUS=64 CONFIG_SCHED_SMT=y CONFIG_SCHED_MC=y CONFIG_X86_LOCAL_APIC=y @@ -160,11 +176,14 @@ CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y CONFIG_EFI=y CONFIG_EFI_STUB=y +CONFIG_SECCOMP=y # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set CONFIG_HZ_300=y # CONFIG_HZ_1000 is not set CONFIG_HZ=300 +CONFIG_SCHED_HRTICK=y +CONFIG_CRASH_DUMP=y CONFIG_RELOCATABLE=y CONFIG_RANDOMIZE_BASE=y CONFIG_X86_NEED_RELOCS=y @@ -253,17 +272,11 @@ CONFIG_PCI_MMCONFIG=y CONFIG_PCI_XEN=y CONFIG_PCI_DOMAINS=y # CONFIG_PCI_CNB20LE_QUIRK is not set -CONFIG_PCIEPORTBUS=y CONFIG_HOTPLUG_PCI_PCIE=y -CONFIG_PCIEAER=y CONFIG_PCIE_ECRC=y CONFIG_PCIEAER_INJECT=m -CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set # CONFIG_PCIEASPM_DEFAULT is not set CONFIG_PCIEASPM_POWERSAVE=y -# CONFIG_PCIEASPM_PERFORMANCE is not set -CONFIG_PCIE_PME=y CONFIG_PCI_MSI=y CONFIG_PCI_STUB=y CONFIG_XEN_PCIDEV_FRONTEND=m @@ -332,6 +345,7 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y # # Bus devices # +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y CONFIG_PARPORT=m CONFIG_PARPORT_PC=m CONFIG_PARPORT_SERIAL=m @@ -360,7 +374,6 @@ CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_BLKDEV_BACKEND=m -CONFIG_VIRTIO_BLK=m # CONFIG_BLK_DEV_HD is not set CONFIG_BLK_DEV_RSXX=m @@ -380,6 +393,11 @@ CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_TXE=m CONFIG_VMWARE_VMCI=m +# +# Intel MIC Card Driver +# +# CONFIG_IDE is not set + # # SCSI Transports # @@ -497,7 +515,6 @@ CONFIG_NET_SB1000=m CONFIG_AIRO=m CONFIG_ATH5K_DEBUG=y # CONFIG_WIL6210_TRACING is not set -CONFIG_B43_SDIO=y CONFIG_IPW2100_MONITOR=y CONFIG_IPW2200_MONITOR=y CONFIG_IPW2200_RADIOTAP=y @@ -575,14 +592,13 @@ CONFIG_SERIAL_RP2_NR_UARTS=32 CONFIG_PRINTER=m CONFIG_LP_CONSOLE=y CONFIG_PPDEV=m -CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y -CONFIG_VIRTIO_CONSOLE=y CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m CONFIG_HW_RANDOM_VIA=m +CONFIG_NVRAM=y CONFIG_MWAVE=m CONFIG_HPET=y # CONFIG_HPET_MMAP is not set @@ -594,6 +610,11 @@ CONFIG_HANGCHECK_TIMER=m # CONFIG_ACPI_I2C_OPREGION=y +# +# Multiplexer I2C Chip support +# +CONFIG_I2C_MUX_PINCTRL=m + # # PC SMBus host controller drivers # @@ -626,9 +647,15 @@ CONFIG_PPS=m # CONFIG_PTP_1588_CLOCK=m +# +# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. +# +CONFIG_PINCTRL=y + # # Pin controllers # +# CONFIG_DEBUG_PINCTRL is not set # CONFIG_PINCTRL_BAYTRAIL is not set CONFIG_GPIO_ACPI=y CONFIG_GPIO_GENERIC=m @@ -739,11 +766,6 @@ CONFIG_XEN_WDT=m CONFIG_PCIPCWATCHDOG=m CONFIG_WDTPCI=m -# -# Sonics Silicon Backplane -# -CONFIG_SSB_SDIOHOST=y - # # Multifunction device drivers # @@ -1012,18 +1034,14 @@ CONFIG_USB_SERIAL_MOS7715_PARPORT=y # USB Physical Layer drivers # CONFIG_NOP_USB_XCEIV=m -CONFIG_MMC=m - -# -# MMC/SD/SDIO Card Drivers -# -CONFIG_MMC_BLOCK=m # # MMC/SD/SDIO Host Controller Drivers # CONFIG_MMC_RICOH_MMC=y CONFIG_MMC_SDHCI_ACPI=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDHCI_PXAV2=m CONFIG_MMC_WBSD=m CONFIG_MMC_REALTEK_PCI=m @@ -1060,6 +1078,11 @@ CONFIG_EDAC_I5000=m CONFIG_EDAC_I5100=m CONFIG_EDAC_I7300=m +# +# Platform RTC drivers +# +CONFIG_RTC_DRV_CMOS=y + # # DMA Devices # @@ -1079,12 +1102,6 @@ CONFIG_UIO_SERCOS3=m CONFIG_UIO_PCI_GENERIC=m CONFIG_UIO_MF624=m # CONFIG_VFIO is not set -CONFIG_VIRTIO=y - -# -# Virtio drivers -# -CONFIG_VIRTIO_PCI=y # # Microsoft Hyper-V guest support @@ -1210,7 +1227,6 @@ CONFIG_TWL6030_GPADC=m # CONFIG_PHY_EXYNOS4210_USB2 is not set # CONFIG_PHY_EXYNOS4X12_USB2 is not set # CONFIG_PHY_EXYNOS5250_USB2 is not set -CONFIG_RAS=y # # Firmware Drivers @@ -1277,6 +1293,7 @@ CONFIG_ARCH_HAS_DEBUG_STRICT_USER_COPY_CHECKS=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_FUNCTION_GRAPH_TRACER=y CONFIG_FTRACE_SYSCALLS=y +# CONFIG_UPROBE_EVENT is not set CONFIG_DYNAMIC_FTRACE_WITH_REGS=y # CONFIG_MMIOTRACE is not set @@ -1307,6 +1324,22 @@ CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_NMI_SELFTEST is not set # CONFIG_X86_DEBUG_STATIC_CPU_HAS is not set +# +# PaX +# +CONFIG_PAX=y + +# +# PaX Control +# +# CONFIG_PAX_SOFTMODE is not set +CONFIG_PAX_EI_PAX=y +CONFIG_PAX_PT_PAX_FLAGS=y +# CONFIG_PAX_XATTR_PAX_FLAGS is not set +# CONFIG_PAX_NO_ACL_FLAGS is not set +CONFIG_PAX_HAVE_ACL_FLAGS=y +# CONFIG_PAX_HOOK_ACL_FLAGS is not set + # # Non-executable pages # @@ -1316,17 +1349,22 @@ CONFIG_PAX_EMUTRAMP=y CONFIG_PAX_MPROTECT=y # CONFIG_PAX_MPROTECT_COMPAT is not set CONFIG_PAX_ELFRELOCS=y +CONFIG_PAX_KERNEXEC_PLUGIN_METHOD="" # # Address Space Layout Randomization # +CONFIG_PAX_ASLR=y CONFIG_PAX_RANDKSTACK=y +CONFIG_PAX_RANDUSTACK=y +CONFIG_PAX_RANDMMAP=y # # Miscellaneous hardening features # CONFIG_PAX_MEMORY_STACKLEAK=y CONFIG_PAX_REFCOUNT=y +CONFIG_PAX_USERCOPY=y # CONFIG_PAX_USERCOPY_DEBUG is not set # CONFIG_PAX_SIZE_OVERFLOW is not set @@ -1334,6 +1372,9 @@ CONFIG_PAX_REFCOUNT=y # Memory Protections # # CONFIG_GRKERNSEC_IO is not set +CONFIG_GRKERNSEC_RAND_THREADSTACK=y +CONFIG_GRKERNSEC_PROC_MEMMAP=y +CONFIG_GRKERNSEC_KERN_LOCKOUT=y # # Kernel Auditing @@ -1401,8 +1442,8 @@ CONFIG_KVM_DEVICE_ASSIGNMENT=y CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_GENERIC_IOMAP=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y +# CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set CONFIG_INTERVAL_TREE=y CONFIG_HAS_IOPORT_MAP=y CONFIG_CPU_RMAP=y -# CONFIG_DDR is not set CONFIG_UCS2_STRING=y diff --git a/kernel/config-x86_64-default b/kernel/config-x86_64-default index ac1488d18..197b5a76d 100644 --- a/kernel/config-x86_64-default +++ b/kernel/config-x86_64-default @@ -61,7 +61,6 @@ CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_GART_IOMMU=y # CONFIG_CALGARY_IOMMU is not set # CONFIG_MAXSMP is not set -CONFIG_NR_CPUS=64 CONFIG_DIRECT_GBPAGES=y CONFIG_NUMA=y CONFIG_AMD_NUMA=y @@ -152,8 +151,7 @@ CONFIG_INTEL_MIC_BUS=m # Intel MIC Card Driver # # CONFIG_INTEL_MIC_CARD is not set -CONFIG_GENWQE=m -CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 +# CONFIG_GENWQE is not set # # SCSI Transports diff --git a/kernel/kernel.nm b/kernel/kernel.nm index d6c33e07e..ee1e06f93 100644 --- a/kernel/kernel.nm +++ b/kernel/kernel.nm @@ -5,7 +5,7 @@ name = kernel version = 3.18.2 -release = 1 +release = 2 thisapp = linux-%{version} maintainer = Arne Fitzenreiter @@ -92,6 +92,14 @@ build kernel_arch = x86 end + if "%{DISTRO_ARCH}" == "aarch64" + # Disable for now because it won't compile + build_kernel_default = 0 + + kernel_arch = arm64 + kernel_target = Image.gz + end + if "%{DISTRO_ARCH}" == "armv5tel" # Build a kernel for Marvell Kirkwood-based devices. build_kernel_default = 1 @@ -217,7 +225,7 @@ build # Compile Flattened Device Tree database case "${DISTRO_ARCH}" in - arm*) + aarch64|arm*) make ARCH=%{kernel_arch} dtbs mkdir -pv %{BUILDROOT}/boot/dtb-${fullversion} diff --git a/kernel/patches/grsec-aarch64-fix1.patch0 b/kernel/patches/grsec-aarch64-fix1.patch0 new file mode 100644 index 000000000..22e329929 --- /dev/null +++ b/kernel/patches/grsec-aarch64-fix1.patch0 @@ -0,0 +1,11 @@ +--- arch/arm64/mm/dma-mapping.c.save 2015-01-26 12:14:32.653140690 -0500 ++++ arch/arm64/mm/dma-mapping.c 2015-01-26 12:13:18.063095496 -0500 +@@ -131,7 +131,7 @@ + phys_to_page(paddr), + size >> PAGE_SHIFT); + if (!freed) +- swiotlb_free_coherent(dev, size, vaddr, dma_handle); ++ swiotlb_free_coherent(dev, size, vaddr, dma_handle, attrs); + } + + static void *__dma_alloc_noncoherent(struct device *dev, size_t size, diff --git a/kernel/scripts/configure b/kernel/scripts/configure index c12f8b1b7..704793014 100755 --- a/kernel/scripts/configure +++ b/kernel/scripts/configure @@ -13,12 +13,69 @@ CONFIGS="x86_64:default" # i686 CONFIGS="${CONFIGS} i686:legacy i686:default" +# aarch64 +CONFIGS="${CONFIGS} aarch64:default" + # armv7hl CONFIGS="${CONFIGS} armv7hl:lpae armv7hl:default" # armv5tel CONFIGS="${CONFIGS} armv5tel:default" +PLATFORMS="x86 arm" +declare -A SUBPLATFORMS +SUBPLATFORMS=( + [arm]="arm64 arm32" +) + +function get_platform() { + local arch="${1}" + + case "${arch}" in + aarch64|arm*) + echo "arm" + ;; + x86_64|i?86) + echo "x86" + ;; + *) + return 1 + ;; + esac +} + +function get_subplatform() { + local arch="${1}" + + case "${arch}" in + aarch64) + echo "arm64" + ;; + arm*) + echo "arm32" + ;; + *) + return 1 + ;; + esac +} + +function get_kernel_arch() { + local arch="${1}" + + case "${arch}" in + aarch64) + echo "arm64" + ;; + arm*) + echo "arm" + ;; + x86_64|i?86) + echo "x86" + ;; + esac +} + function merge_config() { local arch=${1} local flavour=${2} @@ -66,16 +123,23 @@ function merge_config() { configs="${configs} config-i686-legacy" ;; + # ARM64 + aarch64:default) + configs="${configs} config-arm-generic config-arm64-generic" + ;; + # ARM armv5tel:default) - configs="${configs} config-arm-generic config-armv5tel-default" + configs="${configs} config-arm-generic config-arm32-generic" + configs="${configs} config-armv5tel-default" ;; armv7hl:default) - configs="${configs} config-arm-generic config-armv7hl-default" + configs="${configs} config-arm-generic config-arm32-generic" + configs="${configs} config-armv7hl-default" ;; armv7hl:lpae) - configs="${configs} config-arm-generic config-armv7hl-default" - configs="${configs} config-armv7hl-lpae" + configs="${configs} config-arm-generic config-arm32-generic" + configs="${configs} config-armv7hl-default config-armv7hl-lpae" ;; *) echo >&2 "ERROR: Invalid parameters given: $@" @@ -83,17 +147,6 @@ function merge_config() { ;; esac - # Determine the kernel arch. - local kernel_arch= - case "${arch}" in - arm*) - kernel_arch="arm" - ;; - i?86|x86*) - kernel_arch="x86" - ;; - esac - # Merge the configuration files from its elementary configuration # files. local tmp_out=$(mktemp) @@ -108,6 +161,7 @@ function merge_config() { if [ "${config_mode}" != "none" ]; then echo "Running 'make oldnoconfig' for ${arch} (${flavour})..." + local kernel_arch="$(get_kernel_arch "${arch}")" ( cd ${KERNEL_DIR} cat ${tmp_out} > .config @@ -175,8 +229,12 @@ function make_oldconfig() { function diff_configs() { local extra_configs="$@" - declare -A arch_configs - declare -A subarch_configs + local filename + local platform + local subplatform + + declare -A platform_configs + declare -A subplatform_configs tmpdir=$(mktemp -d) @@ -198,25 +256,28 @@ function diff_configs() { ;; esac - case "${arch}" in - x86*|i?86) - arch_configs[x86]="${arch_configs[x86]} ${filename}" - ;; - arm*) - arch_configs[arm]="${arch_configs[arm]} ${filename}" - ;; - *) - echo >&2 "ERROR: Invalid architecture: ${arch}" - ;; - esac + platform="$(get_platform "${arch}")" + subplatform="$(get_subplatform "${arch}")" - subarch_configs[${arch}]="${subarch_configs[${arch}]} ${filename}" + if [ -n "${subplatform}" ]; then + subplatform_configs[${subplatform}]="${subplatform_configs[${subplatform}]} ${filename}" + else + platform_configs[${platform}]="${platform_configs[${platform}]} ${filename}" + fi done - common_configs="" - for arch in x86 arm; do - filename="${tmpdir}/config-${arch}-common" - ${SCRIPTS_DIR}/configcommon.py ${arch_configs[${arch}]} \ + local common_configs + for platform in ${PLATFORMS}; do + for subplatform in ${SUBPLATFORMS[${platform}]}; do + filename="${tmpdir}/config-${subplatform}-common" + ${SCRIPTS_DIR}/configcommon.py ${subplatform_configs[${subplatform}]} \ + > ${filename} + + platform_configs[${platform}]="${platform_configs[${platform}]} ${filename}" + done + + filename="${tmpdir}/config-${platform}-common" + ${SCRIPTS_DIR}/configcommon.py ${platform_configs[${platform}]} \ > ${filename} common_configs="${common_configs} ${filename}" @@ -224,33 +285,40 @@ function diff_configs() { ${SCRIPTS_DIR}/configcommon.py ${common_configs} > ${tmpdir}/config-generic - for arch in x86 arm; do - ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-generic \ - ${tmpdir}/config-${arch}-common > ${tmpdir}/config-${arch}-generic + for platform in ${PLATFORMS}; do + for subplatform in ${SUBPLATFORMS[${platform}]}; do + ${SCRIPTS_DIR}/configdiff.py \ + ${tmpdir}/config-${platform}-common \ + ${tmpdir}/config-${subplatform}-common \ + > ${tmpdir}/config-${subplatform}-generic + done + + ${SCRIPTS_DIR}/configdiff.py \ + ${tmpdir}/config-generic \ + ${tmpdir}/config-${platform}-common \ + > ${tmpdir}/config-${platform}-generic done for config in ${CONFIGS}; do arch=${config%:*} flavour=${config#*:} - case "${config}" in - arm*:*) - suparch="arm" - ;; - i?86:*|x86*:*) - suparch="x86" - ;; - esac filename=${tmpdir}/config-${arch}-${flavour} case "${config}" in + aarch64:default) + # Virtual configuration + rm -f ${filename} + continue + ;; armv7hl:lpae|i686:legacy) # Legacy depends directly on the default configuration. ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-${arch}-default \ ${filename} > ${filename}.tmp ;; *) - ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-${suparch}-common \ + platform="$(get_subplatform "${arch}" || get_platform "${arch}")" + ${SCRIPTS_DIR}/configdiff.py ${tmpdir}/config-${platform}-common \ ${filename} > ${filename}.tmp ;; esac