From 575de6c9a6d4f8210b41bbfa4e0f482da91d959b Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Sun, 16 Jun 2013 08:31:18 -0400 Subject: [PATCH] Add initial arm64 support Based on a working config by Paul Whalen. The generated config ends up being the same, so hopefully this marks the first ARMv8 Fedora kernel. Signed-off-by: Kyle McMartin --- Makefile.config | 22 +- arm64-makefile-vdso_install.patch | 15 + config-arm-generic | 43 +++ config-arm64 | 495 ++++++++++++++++++++++++++++++ config-armv7-generic | 45 --- kernel.spec | 46 ++- 6 files changed, 611 insertions(+), 55 deletions(-) create mode 100644 arm64-makefile-vdso_install.patch create mode 100644 config-arm-generic create mode 100644 config-arm64 diff --git a/Makefile.config b/Makefile.config index 41c660828..cfaf67476 100644 --- a/Makefile.config +++ b/Makefile.config @@ -9,11 +9,12 @@ CONFIGFILES = \ $(CFG)-i686-PAE.config $(CFG)-i686-PAEdebug.config \ $(CFG)-x86_64.config $(CFG)-x86_64-debug.config \ $(CFG)-s390x.config \ - $(CFG)-armv7hl.config $(CFG)-armv7hl-lpae.config\ + $(CFG)-armv7hl.config $(CFG)-armv7hl-lpae.config \ + $(CFG)-aarch64.config \ $(CFG)-ppc.config $(CFG)-ppc-smp.config \ $(CFG)-ppc64.config $(CFG)-ppc64p7.config $(CFG)-ppc64-debug.config -PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390x arm +PLATFORMS = x86 x86_64 powerpc powerpc32 powerpc64 s390x arm arm64 TEMPFILES = $(addprefix temp-, $(addsuffix -generic, $(PLATFORMS))) configs: $(CONFIGFILES) @@ -31,7 +32,10 @@ temp-generic: config-generic temp-debug-generic: config-generic cat config-generic config-debug > temp-debug-generic -temp-armv7-generic: config-armv7-generic temp-generic +temp-arm-generic: config-arm-generic temp-generic + perl merge.pl $^ > $@ + +temp-armv7-generic: config-armv7-generic temp-arm-generic perl merge.pl $^ > $@ temp-armv7: config-armv7 temp-armv7-generic @@ -40,6 +44,15 @@ temp-armv7: config-armv7 temp-armv7-generic temp-armv7-lpae: config-armv7-lpae temp-armv7-generic perl merge.pl $^ > $@ +temp-arm-debug-generic: temp-arm-generic temp-debug-generic + perl merge.pl $^ > $@ + +temp-arm64: config-arm64 temp-arm-generic + perl merge.pl $^ > $@ + +temp-arm64-debug: config-arm64 temp-arm-debug-generic + perl merge.pl $^ > $@ + temp-x86-32: config-x86-32-generic config-x86-generic perl merge.pl $^ > $@ @@ -109,6 +122,9 @@ $(CFG)-armv7hl.config: /dev/null temp-armv7 $(CFG)-armv7hl-lpae.config: /dev/null temp-armv7-lpae perl merge.pl $^ arm > $@ +$(CFG)-aarch64.config: /dev/null temp-arm64 + perl merge.pl $^ arm64 > $@ + $(CFG)-ppc.config: /dev/null temp-powerpc32-generic perl merge.pl $^ powerpc > $@ diff --git a/arm64-makefile-vdso_install.patch b/arm64-makefile-vdso_install.patch new file mode 100644 index 000000000..f7b4d122b --- /dev/null +++ b/arm64-makefile-vdso_install.patch @@ -0,0 +1,15 @@ +diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile +index c95c5cb..b6ccf8a 100644 +--- a/arch/arm64/Makefile ++++ b/arch/arm64/Makefile +@@ -60,6 +60,10 @@ zinstall install: vmlinux + dtbs: scripts + $(Q)$(MAKE) $(build)=$(boot)/dts dtbs + ++PHONY += vdso_install ++vdso_install: ++ $(Q)$(MAKE) $(build)=arch/arm64/kernel/vdso $@ ++ + # We use MRPROPER_FILES and CLEAN_FILES now + archclean: + $(Q)$(MAKE) $(clean)=$(boot) diff --git a/config-arm-generic b/config-arm-generic new file mode 100644 index 000000000..efce65434 --- /dev/null +++ b/config-arm-generic @@ -0,0 +1,43 @@ +CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +CONFIG_ARM_AMBA=y +CONFIG_ARM_ARCH_TIMER=y +# CONFIG_ARM_DT_BL_CPUFREQ is not set +CONFIG_ARM_GIC=y +# CONFIG_ASYMMETRIC_KEY_TYPE is not set +CONFIG_BACKLIGHT_PWM=m +# CONFIG_COMMON_CLK_DEBUG is not set +CONFIG_COMMON_CLK=y +CONFIG_DMA_OF=y +CONFIG_DTC=y +CONFIG_EARLY_PRINTK=y +CONFIG_ETHERNET=y +CONFIG_FB_SSD1307=m +CONFIG_GENERIC_GPIO=y +CONFIG_GPIOLIB=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HW_PERF_EVENTS=y +# CONFIG_I2C_NOMADIK is not set +CONFIG_INPUT_PWM_BEEPER=m +# CONFIG_IRQ_DOMAIN_DEBUG is not set +# CONFIG_LEDS_RENESAS_TPU is not set +CONFIG_MMC_ARMMMCI=y +# CONFIG_MMC_SDHCI_PXAV2 is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set +CONFIG_MMC=y +CONFIG_NFS_FS=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NO_HZ=y +CONFIG_OF_DEVICE=y +CONFIG_OF_GPIO=y +CONFIG_OF_IRQ=y +# CONFIG_OF_SELFTEST is not set +CONFIG_OF=y +CONFIG_PERF_EVENTS=y +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_PWM=y +CONFIG_RCU_FANOUT_LEAF=16 +# CONFIG_RTC_DRV_SNVS is not set +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_AMBA_PL011=y + +# CONFIG_CRYPTO_TEST is not set diff --git a/config-arm64 b/config-arm64 new file mode 100644 index 000000000..8bac90936 --- /dev/null +++ b/config-arm64 @@ -0,0 +1,495 @@ +CONFIG_64BIT=y +CONFIG_AIO=y +# CONFIG_ALWAYS_USE_PERSISTENT_CLOCK is not set +# CONFIG_AMBA_PL08X is not set +CONFIG_ANON_INODES=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y +CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y +CONFIG_ARCH_PHYS_ADDR_T_64BIT=y +CONFIG_ARCH_REQUIRE_GPIOLIB=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARM64_64K_PAGES=y +CONFIG_ARM64=y +# CONFIG_ARM_DT_BL_CPUFREQ is not set +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +CONFIG_ASYNC_XOR=m +# CONFIG_ATA_NONSTANDARD is not set +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_HW=m +# CONFIG_ATH_DEBUG is not set +CONFIG_AUDIT_GENERIC=y +CONFIG_AVERAGE=y +CONFIG_B43_LEDS=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43_PIO=y +CONFIG_B43_SSB=y +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BINARY_PRINTF is not set +CONFIG_BITREVERSE=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLOCK=y +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +CONFIG_BQL=y +CONFIG_BRCMUTIL=m +CONFIG_BUG=y +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CFG80211_INTERNAL_REGDB is not set +CONFIG_CLKDEV_LOOKUP=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_CMDLINE="console=ttyAMA0" +# CONFIG_CMDLINE_FORCE is not set +CONFIG_COMMON_CLK_SI5351=y +CONFIG_COMMON_CLK_VERSATILE=y +CONFIG_CONSOLE_TRANSLATIONS=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_COREDUMP=y +CONFIG_CPU_RMAP=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CRC32=y +CONFIG_CRC_T10DIF=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_PCOMP2=y +CONFIG_CRYPTO_PCOMP=m +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_USER_API=y +CONFIG_CRYPTO_WORKQUEUE=y +CONFIG_CUSE=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BLK_CGROUP is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_MEMORY_INIT=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_WRITECOUNT is not set +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_IOSCHED="cfq" +# CONFIG_DEFAULT_NOOP is not set +# CONFIG_DEFAULT_RENO is not set +# CONFIG_DEFAULT_SECURITY_DAC is not set +CONFIG_DEFAULT_SECURITY="selinux" +CONFIG_DEFAULT_SECURITY_SELINUX=y +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +# CONFIG_DETECT_HUNG_TASK is not set +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DM_BIO_PRISON=m +CONFIG_DM_BUFIO=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DNS_RESOLVER=y +CONFIG_DQL=y +# CONFIG_DRBD_FAULT_INJECTION is not set +# CONFIG_DVB_DUMMY_FE is not set +CONFIG_ELF_CORE=y +CONFIG_EVENTFD=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_FAT_FS=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_FB_ARMCLCD=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_DDC is not set +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_SVGALIB is not set +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +# CONFIG_FB_WMT_GE_ROPS is not set +CONFIG_FIB_RULES=y +CONFIG_FILE_LOCKING=y +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FREEZER=y +CONFIG_FS_POSIX_ACL=y +# CONFIG_FTRACE is not set +CONFIG_FUSE_FS=y +CONFIG_GARP=m +CONFIG_GENERIC_ACL=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_CLOCKEVENTS=y +# CONFIG_GENERIC_CPU_DEVICES is not set +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IO=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_TIME_VSYSCALL=y +# CONFIG_GIGASET_DUMMYLL is not set +# CONFIG_GIGASET_I4L is not set +# CONFIG_GPIO_ADNP is not set +CONFIG_GPIO_DEVRES=y +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_MCP23S08 is not set +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y +# CONFIG_HAVE_AOUT is not set +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DEBUG_BUGVERBOSE=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_GENERIC_HARDIRQS=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MEMBLOCK=y +CONFIG_HAVE_MEMORY_PRESENT=y +CONFIG_HAVE_NET_DSA=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HDMI=y +CONFIG_HID_APPLE=m +CONFIG_HID_MAGICMOUSE=m +# CONFIG_HUGETLB_PAGE is not set +CONFIG_HVC_DRIVER=y +# CONFIG_HWMON is not set +# CONFIG_HW_RANDOM is not set +CONFIG_HZ=100 +CONFIG_I2C_BOARDINFO=y +# CONFIG_I2C_PXA_PCI is not set +CONFIG_I2C_SI4713=m +CONFIG_I2C_SMBUS=m +# CONFIG_I2C_VERSATILE is not set +CONFIG_IKCONFIG_PROC=y +CONFIG_IKCONFIG=y +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_IOMMU_HELPER=y +# CONFIG_IOMMU_SUPPORT is not set +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IRQCHIP=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_WORK=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_LEDS_LP55XX_COMMON=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD=y +# CONFIG_LOCK_STAT is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_LRU_CACHE=m +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_MAC80211_HAS_RC=y +# CONFIG_MAC80211_MESSAGE_TRACING is not set +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_RC_MINSTREL_HT=y +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set +CONFIG_MEDIA_COMMON_OPTIONS=y +CONFIG_MEDIA_TUNER=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m +# CONFIG_MEMCG_SWAP_ENABLED is not set +CONFIG_MFD_CORE=m +# CONFIG_MFD_TMIO is not set +CONFIG_MFD_WL1273_CORE=m +CONFIG_MII=y +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_MM_OWNER=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MRP=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CHAR=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +# CONFIG_NET_CADENCE is not set +CONFIG_NET_CORE=y +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y +CONFIG_NET_DSA_TAG_DSA=y +CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_DSA_TAG_TRAILER=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETPOLL=y +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CT_PROTO_GRE=m +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_NEEDED=y +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_PROTO_DCCP=m +CONFIG_NF_NAT_PROTO_GRE=m +CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_PROTO_UDPLITE=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_NFS_DEBUG=y +# CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_NFSD_V2_ACL=y +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_NLATTR=y +CONFIG_NO_BOOTMEM=y +CONFIG_NO_IOPORT=y +CONFIG_NR_CPUS=4 +CONFIG_OF_ADDRESS=y +# CONFIG_OF_DISPLAY_TIMING is not set +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_I2C=m +CONFIG_OF_MDIO=y +CONFIG_OF_MTD=y +CONFIG_OF_NET=y +# CONFIG_OF_VIDEOMODE is not set +CONFIG_ORE=m +CONFIG_P54_LEDS=y +CONFIG_PADATA=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PANIC_ON_OOPS_VALUE=0 +# CONFIG_PARPORT is not set +# CONFIG_PARPORT_GSC is not set +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PL330_DMA is not set +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_POWER_RESET_GPIO is not set +CONFIG_POWER_RESET_VEXPRESS=y +CONFIG_PPP_BSDCOMP=m +# CONFIG_PREEMPT_RCU is not set +CONFIG_PRINTK=y +# CONFIG_PROC_DEVICETREE is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_SYSCTL=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=y +CONFIG_RAID6_PQ=m +CONFIG_RCU_FANOUT=64 +CONFIG_RCU_STALL_COMMON=y +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +CONFIG_REGMAP_I2C=m +CONFIG_REGMAP=y +# CONFIG_RFKILL_GPIO is not set +CONFIG_RFKILL_LEDS=y +CONFIG_RFS_ACCEL=y +CONFIG_RPS=y +# CONFIG_RTC_DRV_PL030 is not set +# CONFIG_RTC_DRV_PL031 is not set +CONFIG_RTC_LIB=y +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RT_MUTEXES=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_SCHED_DEBUG is not set +CONFIG_SCSI_DMA=y +CONFIG_SCSI_MOD=y +CONFIG_SCSI_NETLINK=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SERIAL_8250_DMA=y +# CONFIG_SERIAL_AMBA_PL010 is not set +CONFIG_SERIAL_OF_PLATFORM=m +CONFIG_SERIO_AMBAKMI=y +# CONFIG_SERIO_I8042 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SHMEM=y +CONFIG_SIGNALFD=y +CONFIG_SLABINFO=y +# CONFIG_SLAB is not set +CONFIG_SLHC=m +# CONFIG_SLUB_DEBUG_ON is not set +CONFIG_SLUB_DEBUG=y +CONFIG_SMC91X=y +CONFIG_SND_DEBUG=y +# CONFIG_SND_EMU10K1_SEQ is not set +CONFIG_SND_HRTIMER=m +CONFIG_SND=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_MPU401_UART=m +# CONFIG_SND_OPL3_LIB_SEQ is not set +# CONFIG_SND_OPL4_LIB_SEQ is not set +CONFIG_SND_PCM=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_XRUN_DEBUG=y +CONFIG_SND_RAWMIDI=m +CONFIG_SND_RAWMIDI_SEQ=m +# CONFIG_SND_SBAWE_SEQ is not set +CONFIG_SND_SEQUENCER=m +CONFIG_SND_TIMER=m +CONFIG_SND_VERBOSE_PRINTK=y +CONFIG_SOUND_OSS_CORE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_STACKTRACE_SUPPORT=y +# CONFIG_STMMAC_CHAINED is not set +CONFIG_STMMAC_RING=y +CONFIG_STOP_MACHINE=y +CONFIG_STP=m +CONFIG_SUNRPC_BACKCHANNEL=y +CONFIG_SUNRPC_GSS=y +CONFIG_SUNRPC=y +CONFIG_SWIOTLB=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_SYSFS=y +# CONFIG_SYS_HYPERVISOR is not set +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_TEST_LIST_SORT is not set +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH=y +# CONFIG_THERMAL is not set +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TICK_ONESHOT=y +CONFIG_TIMERFD=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACING_SUPPORT=y +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_TREE_RCU=y +# CONFIG_TTPCI_EEPROM is not set +CONFIG_TTY=y +CONFIG_UDF_NLS=y +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB_ARCH_HAS_HCD is not set +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_XHCI is not set +CONFIG_USE_GENERIC_SMP_HELPERS=y +CONFIG_VEXPRESS_CONFIG=y +CONFIG_VFAT_FS=y +# CONFIG_VGA_CONSOLE is not set +# CONFIG_VGASTATE is not set +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_V4L2=m +CONFIG_VIRTIO_BLK=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WIZNET_BUS_ANY=y +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +CONFIG_XFRM_ALGO=y +CONFIG_XFRM_IPCOMP=m +CONFIG_XOR_BLOCKS=m +CONFIG_XPS=y +# CONFIG_XZ_DEC_BCJ is not set +CONFIG_ZONE_DMA32=y +CONFIG_ZONE_DMA_FLAG=0 diff --git a/config-armv7-generic b/config-armv7-generic index ff4acebef..227fbbc6d 100644 --- a/config-armv7-generic +++ b/config-armv7-generic @@ -18,7 +18,6 @@ CONFIG_NEON=y CONFIG_ARM_UNWIND=y CONFIG_ARM_THUMB=y CONFIG_ARM_THUMBEE=y -CONFIG_ARM_GIC=y CONFIG_ARM_ASM_UNIFIED=y CONFIG_ARM_CPU_TOPOLOGY=y CONFIG_ARM_DMA_MEM_BUFFERABLE=y @@ -27,13 +26,11 @@ CONFIG_CACHE_L2X0=y CONFIG_CACHE_PL310=y CONFIG_HIGHPTE=y CONFIG_AUTO_ZRELADDR=y -CONFIG_EARLY_PRINTK=y CONFIG_ATAGS=y CONFIG_ATAGS_PROC=y CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 CONFIG_XZ_DEC_ARMTHUMB=y -CONFIG_ARM_ARCH_TIMER=y CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_ALWAYS_USE_PERSISTENT_CLOCK=y @@ -87,7 +84,6 @@ CONFIG_SCHED_MC=y CONFIG_SCHED_SMT=y CONFIG_RCU_FANOUT=32 -CONFIG_RCU_FANOUT_LEAF=16 # 2013/04/19 - disable due to stability issues in 3.9 for the moment # CONFIG_CPU_IDLE is not set @@ -96,14 +92,10 @@ CONFIG_RCU_FANOUT_LEAF=16 # CONFIG_CPU_IDLE_MULTIPLE_DRIVERS is not set # CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set -# CONFIG_ARM_DT_BL_CPUFREQ is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 CONFIG_LSM_MMAP_MIN_ADDR=32768 -CONFIG_NO_HZ=y -CONFIG_HIGH_RES_TIMERS=y - CONFIG_SECCOMP=y CONFIG_STRICT_DEVMEM=y @@ -116,7 +108,6 @@ CONFIG_SUSPEND=y CONFIG_ARM_CPU_SUSPEND=y CONFIG_LOCAL_TIMERS=y -CONFIG_HW_PERF_EVENTS=y CONFIG_UACCESS_WITH_MEMCPY=y CONFIG_CC_STACKPROTECTOR=y @@ -125,30 +116,19 @@ CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=y # Root as NFS, different from mainline -CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ISO8859_1=y CONFIG_LBDAF=y -CONFIG_COMMON_CLK=y - # Device tree -CONFIG_DTC=y -CONFIG_OF=y CONFIG_USE_OF=y -CONFIG_OF_DEVICE=y -CONFIG_OF_IRQ=y -CONFIG_DMA_OF=y CONFIG_ARM_ATAG_DTB_COMPAT=y CONFIG_ARM_APPENDED_DTB=y CONFIG_PROC_DEVICETREE=y -# CONFIG_OF_SELFTEST is not set CONFIG_SERIAL_OF_PLATFORM=y CONFIG_OF_PCI=y CONFIG_OF_PCI_IRQ=y -CONFIG_OF_GPIO=y CONFIG_I2C_MUX_PINCTRL=m CONFIG_OF_MDIO=m @@ -156,14 +136,11 @@ CONFIG_OF_DISPLAY_TIMING=y CONFIG_OF_VIDEOMODE=y # General vexpress ARM drivers -CONFIG_ARM_AMBA=y CONFIG_ARM_TIMER_SP804=y CONFIG_SERIO_AMBAKMI=m CONFIG_SERIAL_AMBA_PL010=y CONFIG_SERIAL_AMBA_PL010_CONSOLE=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y CONFIG_SERIAL_8250_DW=y CONFIG_SERIAL_MRST_MAX3110=m @@ -211,8 +188,6 @@ CONFIG_PINCTRL_SINGLE=m # GPIO CONFIG_GPIO_GENERIC_PLATFORM=m CONFIG_EXTCON_GPIO=m -CONFIG_GENERIC_GPIO=y -CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y # CONFIG_GPIO_EM is not set CONFIG_GPIO_ADNP=m CONFIG_GPIO_MCP23S08=m @@ -223,7 +198,6 @@ CONFIG_INPUT_GPIO_TILT_POLLED=m CONFIG_MDIO_BUS_MUX_GPIO=m CONFIG_MDIO_BUS_MUX_MMIOREG=m CONFIG_LEDS_GPIO=m -CONFIG_GPIOLIB=y CONFIG_GPIO_MAX7301=m CONFIG_GPIO_MC33880=m CONFIG_GPIO_74X164=m @@ -279,8 +253,6 @@ CONFIG_EEPROM_AT25=m CONFIG_EEPROM_93XX46=m # MMC/SD -CONFIG_MMC=y -CONFIG_MMC_ARMMMCI=y CONFIG_MMC_SPI=m CONFIG_MMC_DW=m CONFIG_MMC_DW_PLTFM=m @@ -304,11 +276,6 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # CONFIG_SND_ATMEL_SOC is not set # Displays -CONFIG_FB_SSD1307=m - -# PWM -CONFIG_PWM=y -CONFIG_BACKLIGHT_PWM=m # RTC CONFIG_RTC_DRV_M41T93=m @@ -372,7 +339,6 @@ CONFIG_LCD_LMS501KF03=m CONFIG_LCD_HX8357=m # Input -CONFIG_INPUT_PWM_BEEPER=m CONFIG_INPUT_GP2A=m CONFIG_INPUT_ARIZONA_HAPTICS=m CONFIG_INPUT_MC13783_PWRBUTTON=m @@ -432,27 +398,20 @@ CONFIG_UBIFS_FS_ZLIB=y # CONFIG_UBIFS_FS_DEBUG is not set # Should be in generic -CONFIG_ETHERNET=y CONFIG_BPF_JIT=y # CONFIG_NET_VENDOR_BROADCOM is not set # CONFIG_NET_VENDOR_CIRRUS is not set # CONFIG_NET_VENDOR_MICROCHIP is not set # CONFIG_PATA_PLATFORM is not set -CONFIG_PERF_EVENTS=y -# CONFIG_RTC_DRV_SNVS is not set # CONFIG_DRM_EXYNOS is not set # CONFIG_DRM_TILCDC is not set # CONFIG_DRM_IMX is not set -# CONFIG_MMC_SDHCI_PXAV3 is not set -# CONFIG_MMC_SDHCI_PXAV2 is not set # CONFIG_CS89x0 is not set # CONFIG_DM9000 is not set # CONFIG_HW_RANDOM_ATMEL is not set # CONFIG_HW_RANDOM_EXYNOS is not set -# CONFIG_I2C_NOMADIK is not set -# CONFIG_LEDS_RENESAS_TPU is not set # CONFIG_MFD_T7L66XB is not set # CONFIG_MFD_TC6387XB is not set # CONFIG_TI_DAC7512 is not set @@ -462,8 +421,6 @@ CONFIG_PERF_EVENTS=y # CONFIG_ARM_CHARLCD is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_IP_PNP_RARP is not set -# CONFIG_ASYMMETRIC_KEY_TYPE is not set -# CONFIG_PID_IN_CONTEXTIDR is not set # CONFIG_DEPRECATED_PARAM_STRUCT is not set # CONFIG_LATTICE_ECP3_CONFIG is not set # CONFIG_M25PXX_USE_FAST_READ is not set @@ -492,9 +449,7 @@ CONFIG_PERF_EVENTS=y # CONFIG_MLX4_EN is not set # Debug options. We need to deal with them at some point like x86 -# CONFIG_COMMON_CLK_DEBUG is not set # CONFIG_DEBUG_USER is not set # CONFIG_DEBUG_LL is not set -# CONFIG_IRQ_DOMAIN_DEBUG is not set # CONFIG_DEBUG_PINCTRL is not set # CONFIG_ARM_DT_BL_CPUFREQ is not set diff --git a/kernel.spec b/kernel.spec index bcff42f0e..71fe323da 100644 --- a/kernel.spec +++ b/kernel.spec @@ -285,7 +285,7 @@ Summary: The Linux kernel %if %{with_vdso_install} # These arches install vdso/ directories. -%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x +%define vdso_arches %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x aarch64 %endif # Overrides for generic default options @@ -391,6 +391,15 @@ Summary: The Linux kernel %endif %endif +%ifarch aarch64 +%define all_arch_configs kernel-%{version}-arm64.config +%define asmarch arm64 +%define hdrarch arm64 +%define make_target Image.gz +%define kernel_image arch/arm64/boot/Image.gz +%define image_install_path boot +%endif + # Should make listnewconfig fail if there's config options # printed out? %if %{nopatches}%{using_upstream_branch} @@ -424,7 +433,7 @@ Summary: The Linux kernel %endif # Architectures we build tools/cpupower on -%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} +%define cpupowerarchs %{ix86} x86_64 ppc ppc64 ppc64p7 %{arm} aarch64 # # Three sets of minimum package version requirements in the form of Conflicts: @@ -499,7 +508,7 @@ Version: %{rpmversion} Release: %{pkg_release} # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. # SET %%nobuildarches (ABOVE) INSTEAD -ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} +ExclusiveArch: noarch %{all_x86} x86_64 ppc ppc64 ppc64p7 s390 s390x %{arm} aarch64 ExclusiveOS: Linux %kernel_reqprovconf @@ -574,10 +583,14 @@ Source54: config-powerpc64p7 Source70: config-s390x +Source100: config-arm-generic + # Unified ARM kernels -Source100: config-armv7-generic -Source101: config-armv7 -Source102: config-armv7-lpae +Source101: config-armv7-generic +Source102: config-armv7 +Source103: config-armv7-lpae + +Source110: config-arm64 # This file is intentionally left empty in the stock kernel. Its a nicety # added for those wanting to do custom rebuilds with altered config opts. @@ -701,6 +714,9 @@ Patch14010: lis3-improve-handling-of-null-rate.patch Patch15000: nowatchdog-on-virt.patch +# ARM64 + +Patch16000: arm64-makefile-vdso_install.patch # ARM @@ -1323,6 +1339,9 @@ ApplyPatch debug-bad-pte-modules.patch # Architecture patches # x86(-64) +# ARM64 +ApplyPatch arm64-makefile-vdso_install.patch + # # ARM # @@ -2291,11 +2310,24 @@ fi # ||----w | # || || %changelog +* Fri Jun 14 2013 Kyle McMartin +- ARM64 support (config-arm64) + Split out some config-armv7-generic options common between 32-bit and 64-bit + ARM into a new config-arm-generic, and use that as a base for + both. + Buildable in rawhide, and F-19 by installing {gcc,binutils}-aarch64-linux-gnu + and running: + rpmbuild --rebuild --target $ARCH --with cross --without perf \ + --without tools --without debuginfo --define "_arch aarch64" \ + --define "_build_arch aarch64" \ + --define "__strip /usr/bin/aarch64-linux-gnu-strip" kernel*.src.rpm + As rpm in F-19 doesn't have aarch64-linux macros yet. + * Thu Jun 13 2013 Kyle McMartin - Introduce infrastructure for cross-compiling Fedora kernels. Intended to assist building for secondary architectures like ppc64, s390x, and arm. To use, create an .src.rpm using "fedpkg srpm" and then run - "rpmbuild --rebuild --with cross --without perf --without tools \ + "rpmbuild --rebuild --target t --with cross --without perf --without tools \ kernel*.src.rpm" to cross compile. This requires binutils and gcc packages named like %_target_cpu, which all but powerpc64 currently provides in rawhide/F-19. Can't (currently) cross compile perf or kernel-tools, since